Problemy z konfiguracją i zarządzaniem usługami Azure Cloud Services (wersja klasyczna): często zadawane pytania

Ważne

Usługi Cloud Services (wersja klasyczna) są teraz przestarzałe dla nowych klientów i zostaną wycofane 31 sierpnia 2024 r. dla wszystkich klientów. Nowe wdrożenia powinny używać nowego modelu wdrażania opartego na usłudze Azure Resource Manager w usługach Azure Cloud Services (wsparcie dodatkowe).

Ten artykuł zawiera często zadawane pytania dotyczące problemów z konfiguracją i zarządzaniem usługami Microsoft Azure Cloud Services. Informacje o rozmiarze można również znaleźć na stronie Rozmiar maszyny wirtualnej (VM) usług Cloud Services.

Jeśli problem z platformą Azure nie został rozwiązany w tym artykule, odwiedź fora platformy Azure w witrynach Microsoft Q & A i Stack Overflow. Możesz opublikować swój problem na tych forach lub opublikować go na @AzureSupport na Twitterze. Możesz również przesłać żądanie pomoc techniczna platformy Azure. Aby przesłać wniosek o pomoc techniczną, na stronie pomoc techniczna platformy Azure wybierz pozycję Uzyskaj pomoc techniczną.

Certyfikaty

Monitorowanie i rejestrowanie

Konfiguracja sieci

Uprawnienia

Skalowanie

Rodzajowy

Certyfikaty

Dlaczego łańcuch certyfikatów mojego certyfikatu TLS/SSL usługi w chmurze jest niekompletny?

Zalecamy, aby klienci instalowali pełny łańcuch certyfikatów (certyfikat liścia, certyfikaty pośrednie i certyfikat główny) zamiast certyfikatu liścia. Podczas instalowania tylko certyfikatu liścia należy opierać się na systemie Windows, aby skompilować łańcuch certyfikatów, przechodząc przez przejście listy zaufania certyfikatów (CTL). Jeśli sporadyczne problemy z siecią lub systemem nazw domen (DNS) występują na platformie Azure lub w usłudze Windows Update, gdy system Windows próbuje zweryfikować certyfikat, certyfikat może być uznawany za nieprawidłowy. Podczas instalowania pełnego łańcucha certyfikatów można uniknąć tego problemu. W blogu How to install a chained SSL certificate (Jak zainstalować łańcuch certyfikatów SSL) pokazano, jak zainstalować pełny łańcuch certyfikatów.

Jaki jest cel "Certyfikat szyfrowania narzędzi Platformy Microsoft Azure dla rozszerzeń"?

Te certyfikaty są tworzone automatycznie za każdym razem, gdy rozszerzenie zostanie dodane do usługi w chmurze. Najczęściej to rozszerzenie jest rozszerzeniem WAD lub rozszerzeniem RDP, ale może to być inne, takie jak rozszerzenie chroniące przed złośliwym kodem lub moduł zbierający dzienniki. Te certyfikaty są używane tylko do szyfrowania i odszyfrowywania konfiguracji prywatnej dla rozszerzenia. Data wygaśnięcia nigdy nie jest sprawdzana, więc nie ma znaczenia, czy certyfikat wygasł. 

Możesz zignorować te certyfikaty. Jeśli chcesz wyczyścić certyfikaty, możesz spróbować usunąć je wszystkie. Platforma Azure zgłasza błąd, jeśli spróbujesz usunąć używany certyfikat.

Jak mogę wygenerować żądanie podpisania certyfikatu (CSR) bez "RDP-ing" w wystąpieniu?

Zapoznaj się z następującym dokumentem ze wskazówkami:

Uzyskiwanie certyfikatu do użycia z witrynami sieci Web platformy Microsoft Azure (WAWS)

CSR to tylko plik tekstowy. Nie trzeba go tworzyć na podstawie maszyny, która ma używać certyfikatu. Mimo że ten dokument jest napisany dla usługi App Service, tworzenie csr jest ogólne i dotyczy również usług Cloud Services.

Mój certyfikat zarządzania usługami w chmurze wygasa. Jak go odnowić?

Do odnowienia certyfikatów zarządzania można użyć następujących poleceń programu PowerShell:

Add-AzureAccount
Select-AzureSubscription -Current -SubscriptionName <your subscription name>
Get-AzurePublishSettingsFile

Polecenie Get-AzurePublishSettingsFile tworzy nowy certyfikat zarządzania w obszarze Certyfikaty zarządzania subskrypcjami>w witrynie Azure Portal. Nazwa nowego certyfikatu wygląda następująco: "YourSubscriptionNam]-[CurrentDate]-credentials".

Jak zautomatyzować instalację głównego certyfikatu TLS/SSL (pfx) i certyfikatu pośredniego (.p7b)?

To zadanie można zautomatyzować przy użyciu skryptu uruchamiania (batch/cmd/PowerShell) i zarejestrowania tego skryptu uruchamiania w pliku definicji usługi. Dodaj zarówno skrypt uruchamiania, jak i plik certificate(.p7b) w folderze projektu tego samego katalogu skryptu uruchamiania.

Jaki jest cel certyfikatu "Microsoft Azure Service Management for MachineKey"?

Ten certyfikat służy do szyfrowania kluczy maszynowych w rolach sieci Web platformy Azure. Aby dowiedzieć się więcej, zapoznaj się z tym poradnikem.

Aby uzyskać więcej informacji, zobacz następujące artykuły:

Monitorowanie i rejestrowanie

Jakie są nadchodzące możliwości usługi w chmurze w witrynie Azure Portal, które mogą ułatwić zarządzanie aplikacjami i ich monitorowanie?

Możliwość wygenerowania nowego certyfikatu dla protokołu RDP (Remote Desktop Protocol) będzie dostępna wkrótce. Alternatywnie możesz uruchomić ten skrypt:

$cert = New-SelfSignedCertificate -DnsName yourdomain.cloudapp.net -CertStoreLocation "cert:\LocalMachine\My" -KeyLength 20 48 -KeySpec "KeyExchange"
$password = ConvertTo-SecureString -String "your-password" -Force -AsPlainText
Export-PfxCertificate -Cert $cert -FilePath ".\my-cert-file.pfx" -Password $password

Możliwość wybrania obiektu blob lub lokalnego dla lokalizacji przekazywania csdef i cscfg będzie dostępna wkrótce. Za pomocą polecenia New-AzureDeployment można ustawić każdą wartość lokalizacji.

Możliwość monitorowania metryk na poziomie wystąpienia. Więcej możliwości monitorowania jest dostępnych w temacie Jak monitorować usługi Cloud Services.

Dlaczego usługi IIS przestają zapisywać w katalogu dziennika?

Przekroczono limit przydziału magazynu lokalnego do zapisywania w katalogu dziennika. Aby rozwiązać ten problem, możesz wykonać jedną z trzech czynności:

  • Włącz diagnostykę usług IIS i okresowo przenosi diagnostykę do magazynu obiektów blob.
  • Ręcznie usuń pliki dziennika z katalogu rejestrowania.
  • Zwiększ limit przydziału dla zasobów lokalnych.

Więcej informacji można znaleźć w następujących dokumentach:

Jak mogę włączyć rejestrowanie wad dla usług w chmurze?

Rejestrowanie w usłudze Microsoft Diagnostyka Azure (WAD) można włączyć za pomocą następujących opcji:

  1. Włączanie z poziomu programu Visual Studio
  2. Włączanie za pomocą kodu platformy .NET
  3. Włączanie za pomocą programu PowerShell

Aby uzyskać bieżące ustawienia wad usługi w chmurze, możesz użyć polecenia Get-AzureServiceDiagnosticsExtensions programu PowerShell lub wyświetlić je za pośrednictwem portalu w bloku "Cloud Services -> Extensions".

Konfiguracja sieci

Jak mogę ustawić limit czasu bezczynności dla modułu równoważenia obciążenia platformy Azure?

Możesz określić limit czasu w pliku definicji usługi (csdef) w następujący sposób:

<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="mgVS2015Worker" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2015-04.2.6">
  <WorkerRole name="WorkerRole1" vmsize="Small">
    <ConfigurationSettings>
      <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" />
    </ConfigurationSettings>
    <Imports>
      <Import moduleName="RemoteAccess" />
      <Import moduleName="RemoteForwarder" />
    </Imports>
    <Endpoints>
      <InputEndpoint name="Endpoint1" protocol="tcp" port="10100"   idleTimeoutInMinutes="30" />
    </Endpoints>
  </WorkerRole>

Aby uzyskać więcej informacji, zobacz New: Configurable Idle Timeout for Azure Load Balancer (Nowy: konfigurowalny limit czasu bezczynności dla usługi Azure Load Balancer ).

Jak mogę skojarzyć statyczny adres IP z usługą w chmurze?

Aby skonfigurować statyczny adres IP, należy utworzyć zastrzeżony adres IP. Ten zastrzeżony adres IP może być skojarzony z nową usługą w chmurze lub z istniejącym wdrożeniem. Aby uzyskać szczegółowe informacje, zobacz następujące dokumenty:

Jakie są funkcje i możliwości zapewniane przez podstawową usługę Azure IPS/IDS i DDOS?

Platforma Azure ma usługi IPS/IDS na serwerach fizycznych centrum danych w celu obrony przed zagrożeniami. Ponadto klienci mogą wdrażać rozwiązania zabezpieczeń innych firm, takie jak zapory aplikacji internetowej, zapory sieciowe, oprogramowanie chroniące przed złośliwym kodem, wykrywanie nieautoryzowane, systemy zapobiegania (IDS/IPS) i nie tylko. Aby uzyskać więcej informacji, zobacz Ochrona danych i zasobów oraz zgodność z globalnymi standardami zabezpieczeń.

Firma Microsoft stale monitoruje serwery, sieci i aplikacje w celu wykrywania zagrożeń. Wieloprogowe podejście do zarządzania zagrożeniami na platformie Azure używa wykrywania nieautoryzowanego dostępu, zapobiegania atakom typu "rozproszona odmowa usługi", testowania penetracyjnego, analizy behawioralnej, wykrywania anomalii i uczenia maszynowego, aby stale wzmacniać ochronę i zmniejszać ryzyko. Usługa Microsoft Antimalware dla platformy Azure chroni usługi Azure Cloud Services i maszyny wirtualne. Ponadto można wdrażać rozwiązania zabezpieczeń innych firm, takie jak ściany ognia aplikacji internetowej, zapory sieciowe, oprogramowanie chroniące przed złośliwym kodem, systemy wykrywania i zapobiegania włamaniom (IDS/IPS) i nie tylko.

Jak włączyć protokół HTTP/2 na maszynie wirtualnej usług Cloud Services?

Systemy Windows 10 i Windows Server 2016 są obsługiwane przez protokół HTTP/2 po stronie klienta i serwera. Jeśli klient (przeglądarka) łączy się z serwerem usług IIS za pośrednictwem protokołu TLS (Transport Layer Security), który negocjuje protokół HTTP/2 za pośrednictwem rozszerzeń TLS, nie musisz wprowadzać żadnych zmian po stronie serwera. Nie musisz wprowadzać zmian, ponieważ nagłówek h2-14 określający użycie protokołu HTTP/2 jest domyślnie wysyłany za pośrednictwem protokołu TLS. Jeśli z drugiej strony klient wysyła nagłówek Uaktualnienia w celu uaktualnienia do protokołu HTTP/2, należy wprowadzić następującą zmianę po stronie serwera, aby upewnić się, że uaktualnienie działa i kończy się połączeniem HTTP/2.

  1. Uruchom regedit.exe.
  2. Przejdź do klucza rejestru: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters.
  3. Utwórz nową wartość DWORD o nazwie DuoEnabled.
  4. Ustaw jego wartość na 1.
  5. Uruchom ponownie serwer.
  6. Przejdź w obszarze Powiązania w domyślnej witrynie sieci Web i utwórz nowe powiązanie PROTOKOŁU TLS przy użyciu utworzonego certyfikatu z podpisem własnym.

Aby uzyskać więcej informacji, zobacz:

Te kroki można zautomatyzować za pomocą zadania uruchamiania, aby za każdym razem, gdy zostanie utworzone nowe wystąpienie usługi PaaS, może wprowadzić poprzednie zmiany w rejestrze systemowym. Aby uzyskać więcej informacji, zobacz How to configure and run startup tasks for a Cloud Service (Jak skonfigurować i uruchomić zadania uruchamiania dla usługi w chmurze).

Po zakończeniu możesz sprawdzić, czy protokół HTTP/2 jest włączony, czy nie, używając jednej z następujących metod:

  • Włącz wersję protokołu w dziennikach usług IIS i przejrzyj dzienniki usług IIS. W dziennikach jest wyświetlany protokół HTTP/2.
  • Włącz narzędzie deweloperskie F12 w programie Internet Explorer lub przeglądarce Microsoft Edge i przełącz się na kartę Sieć. W tym miejscu możesz zweryfikować protokół.

Aby uzyskać więcej informacji, zobacz HTTP/2 w usługach IIS.

Uprawnienia

Jak zaimplementować dostęp oparty na rolach dla usług Cloud Services?

Usługi Cloud Services nie obsługują modelu kontroli dostępu opartego na rolach platformy Azure, ponieważ nie jest to usługa oparta na usłudze Azure Resource Manager.

Zobacz Omówienie różnych ról na platformie Azure.

Pulpit zdalny

Czy inżynierowie wewnętrzni firmy Microsoft mogą korzystać z pulpitu zdalnego z wystąpieniami usługi w chmurze bez uprawnień?

Firma Microsoft stosuje rygorystyczny proces, który nie zezwala inżynierom wewnętrznym na pulpit zdalny do usługi w chmurze bez pisemnej zgody (wiadomości e-mail lub innej pisemnej komunikacji) od właściciela lub ich projektu.

Nie mogę połączyć pulpitu zdalnego z maszyną wirtualną usługi w chmurze przy użyciu pliku RDP. Otrzymuję następujący błąd: Wystąpił błąd uwierzytelniania (kod: 0x80004005)

Ten błąd może wystąpić, jeśli używasz pliku RDP z komputera przyłączonego do identyfikatora Entra firmy Microsoft. Aby rozwiązać ten problem, wykonaj poniższe czynności:

  1. Kliknij prawym przyciskiem myszy pobrany plik RDP, a następnie wybierz polecenie Edytuj.
  2. Dodaj "\" jako prefiks przed nazwą użytkownika. Na przykład użyj nazwy użytkownika .\username zamiast nazwy użytkownika.

Skalowanie

Nie mogę skalować poza wystąpienia X

Subskrypcja platformy Azure ma limit liczby rdzeni, których można użyć. Skalowanie nie działa, jeśli użyto wszystkich dostępnych rdzeni. Jeśli na przykład masz limit 100 rdzeni, oznacza to, że możesz mieć 100 wystąpień maszyn wirtualnych o rozmiarze A1 dla usługi w chmurze lub 50 wystąpień maszyn wirtualnych o rozmiarze A2.

Jak skonfigurować skalowanie automatyczne na podstawie metryk pamięci?

Automatyczne skalowanie na podstawie metryk pamięci dla usług w chmurze nie jest obecnie obsługiwane.

Aby obejść ten problem, możesz użyć usługi Application Insights. Automatyczne skalowanie obsługuje usługę Application Insights jako źródło metryk i może skalować liczbę wystąpień roli na podstawie metryki gościa, takiej jak "Pamięć". Musisz skonfigurować usługę Application Insights w pliku pakietu projektu usługi w chmurze (*.cspkg) i włączyć rozszerzenie Diagnostyka Azure w usłudze w celu zaimplementowania tego wyczynu.

Aby uzyskać więcej informacji na temat korzystania z metryki niestandardowej za pośrednictwem usługi Application Insights w celu skonfigurowania automatycznego skalowania w usługach w chmurze, zobacz Wprowadzenie do automatycznego skalowania według metryki niestandardowej na platformie Azure

Aby uzyskać więcej informacji na temat sposobu integrowania Diagnostyka Azure z usługą Application Insights for Cloud Services, zobacz Wysyłanie danych diagnostycznych usługi w chmurze, maszyny wirtualnej lub usługi Service Fabric do usługi Application Insights

Aby uzyskać więcej informacji na temat włączania usługi Application Insights dla usług Cloud Services, zobacz Application Insights for Azure Cloud Services

Aby uzyskać więcej informacji na temat włączania rejestrowania Diagnostyka Azure dla usług w chmurze, zobacz Konfigurowanie diagnostyki dla usług Azure Cloud Services i maszyn wirtualnych

Ogólna

Jak mogę dodać "nosniff" do mojej witryny internetowej?

Aby uniemożliwić klientom wąchanie typów MIME, dodaj ustawienie w pliku web.config .

<configuration>
   <system.webServer>
      <httpProtocol>
         <customHeaders>
            <add name="X-Content-Type-Options" value="nosniff" />
         </customHeaders>
      </httpProtocol>
   </system.webServer>
</configuration>

Można to również dodać jako ustawienie w usługach IIS. Użyj następującego polecenia z typowymi zadaniami uruchamiania.

%windir%\system32\inetsrv\appcmd set config /section:httpProtocol /+customHeaders.[name='X-Content-Type-Options',value='nosniff']

Jak mogę dostosować usługi IIS dla roli sieci Web?

Użyj skryptu uruchamiania usług IIS z artykułu typowe zadania uruchamiania.

Jaki jest limit przydziału usługi w chmurze?

Zobacz Limity specyficzne dla usługi.

Dlaczego dysk na maszynie wirtualnej usługi w chmurze pokazuje mało wolnego miejsca na dysku?

To zachowanie jest oczekiwane i nie powinno powodować żadnego problemu z aplikacją. Dziennik jest włączony dla dysku %approot% na maszynach wirtualnych PaaS platformy Azure, co zasadniczo zużywa dwukrotnie więcej miejsca, które zwykle zajmują pliki. Istnieje jednak kilka rzeczy, o których należy pamiętać, że przekształci to wydarzenie w nonissue.

Rozmiar dysku %approot% jest obliczany jako <rozmiar pliku cspkg + maksymalny rozmiar dziennika + margines wolnego miejsca> lub 1,5 GB, w zależności od tego, co jest większe. Rozmiar maszyny wirtualnej nie ma wpływu na to obliczenie. (Rozmiar maszyny wirtualnej ma wpływ tylko na rozmiar tymczasowego dysku C:).

Zapisywanie na dysku %approot% nie jest obsługiwane. Jeśli piszesz do maszyny wirtualnej platformy Azure, musisz to zrobić w tymczasowym zasobie LocalStorage (lub innej opcji, takiej jak Blob Storage, Azure Files itp.). Dlatego ilość wolnego miejsca w folderze %approot% nie jest znacząca. Jeśli nie masz pewności, czy aplikacja zapisuje na dysku %approot%, zawsze możesz zezwolić usłudze na uruchomienie przez kilka dni, a następnie porównać rozmiary "przed" i "po". 

Platforma Azure nie zapisuje niczego na dysku %approot%. Po utworzeniu wirtualnego dysku twardego (VHD) na podstawie maszyny .cspkg wirtualnej platformy Azure i instalacji na maszynie wirtualnej platformy Azure jedyną rzeczą, która może zapisywać na tym dysku, jest aplikacja. 

Ustawienia dziennika są niekonfigurowalne, więc nie można go wyłączyć.

Jak mogę dodać rozszerzenie chroniące przed złośliwym kodem dla usług w chmurze w zautomatyzowany sposób?

Rozszerzenie chroniące przed złośliwym kodem można włączyć za pomocą skryptu programu PowerShell w zadaniu uruchamiania. Aby go zaimplementować, wykonaj kroki opisane w następujących artykułach:

Aby uzyskać więcej informacji na temat scenariuszy wdrażania oprogramowania chroniącego przed złośliwym kodem i sposobu włączania go w portalu, zobacz Scenariusze wdrażania oprogramowania chroniącego przed złośliwym kodem.

Jak włączyć wskazanie nazwy serwera (SNI) dla usług w chmurze?

SNI w usługach Cloud Services można włączyć przy użyciu jednej z następujących metod:

Metoda 1. Używanie programu PowerShell

Powiązanie SNI można skonfigurować przy użyciu następującego polecenia cmdlet programu PowerShell New-WebBinding w zadaniu uruchamiania dla wystąpienia roli usługi w chmurze:

New-WebBinding -Name $WebsiteName -Protocol "https" -Port 443 -IPAddress $IPAddress -HostHeader $HostHeader -SslFlags $sslFlags

Jak opisano tutaj, $sslFlags może być jedną z następujących wartości:

Wartość Znaczenie
0 Brak SNI
1 Włączono SNI
2 Powiązanie inne niż SNI, które używa centralnego magazynu certyfikatów
3 Powiązanie SNI korzystające z centralnego magazynu certyfikatów

Metoda 2. Używanie kodu

Powiązanie SNI można również skonfigurować za pośrednictwem kodu podczas uruchamiania roli zgodnie z opisem w tym wpisie w blogu:

//<code snip> 
                var serverManager = new ServerManager(); 
                var site = serverManager.Sites[0]; 
                var binding = site.Bindings.Add(":443:www.test1.com", newCert.GetCertHash(), "My"); 
                binding.SetAttributeValue("sslFlags", 1); //enables the SNI 
                serverManager.CommitChanges(); 
    //</code snip>

Przy użyciu dowolnego z powyższych podejść odpowiednie certyfikaty (*.pfx) dla określonych nazw hostów muszą być najpierw zainstalowane na wystąpieniach roli przy użyciu zadania uruchamiania lub za pośrednictwem kodu, aby powiązanie SNI było skuteczne.

Jak dodać tagi do usługi Azure Cloud Service?

Usługa w chmurze to zasób klasyczny. Tagi obsługi obsługują tylko zasoby utworzone za pomocą usługi Azure Resource Manager. Nie można stosować tagów do klasycznych zasobów, takich jak usługa w chmurze.

Witryna Azure Portal nie wyświetla wersji zestawu SDK usługi w chmurze. Jak mogę to uzyskać?

Pracujemy nad wprowadzeniem tej funkcji w witrynie Azure Portal. W międzyczasie możesz użyć następujących poleceń programu PowerShell, aby uzyskać wersję zestawu SDK:

Get-AzureService -ServiceName "<Cloud Service name>" | Get-AzureDeployment | Where-Object -Property SdkVersion -NE -Value "" | select ServiceName,SdkVersion,OSVersion,Slot

Chcę zamknąć usługę w chmurze przez kilka miesięcy. Jak zmniejszyć koszt rozliczeniowy usługi w chmurze bez utraty adresu IP?

Już wdrożona usługa w chmurze jest rozliczana za zasoby obliczeniowe i magazyn, których używa. Dlatego nawet jeśli zamkniesz maszynę wirtualną platformy Azure, nadal będą naliczane opłaty za usługę Storage.

Oto, co można zrobić, aby zmniejszyć rozliczenia bez utraty adresu IP dla usługi:

  1. Zarezerwuj adres IP przed usunięciem wdrożeń. Platforma Azure rozlicza tylko za ten adres IP. Aby uzyskać więcej informacji na temat rozliczeń adresów IP, zobacz Cennik adresów IP.
  2. Usuń wdrożenia. Nie usuwaj xxx.cloudapp.net, aby można było go używać w przyszłości.
  3. Jeśli chcesz ponownie wdrożyć usługę w chmurze przy użyciu tego samego zarezerwowanego adresu IP zarezerwowanego w ramach subskrypcji, zobacz Reserved IP addresses for Cloud Services and Virtual Machines (Zarezerwowane adresy IP dla usług w chmurze i maszyn wirtualnych).