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. Aby uzyskać informacje o rozmiarze, możesz również zapoznać się ze stroną Rozmiar maszyny wirtualnej usług w chmurze.

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

Ogólny

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 CTL. Jeśli sporadyczne problemy z siecią lub systemem DNS występują na platformie Azure lub w usłudze Windows Update podczas próby zweryfikowania certyfikatu przez system Windows, certyfikat może być uznawany za nieprawidłowy. Dzięki zainstalowaniu pełnego łańcucha certyfikatów można uniknąć tego problemu. W blogu How to install a chained SSL certificate (Jak zainstalować łańcuchowy certyfikat SSL) pokazano, jak to zrobić.

Jaki jest cel "Certyfikat szyfrowania narzędzi platformy Windows Azure dla rozszerzeń"?

Te certyfikaty są tworzone automatycznie za każdym razem, gdy rozszerzenie zostanie dodane do usługi w chmurze. Najczęściej jest to rozszerzenie WAD lub rozszerzenie 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łosi 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 Windows Azure (WAWS)

CSR to tylko plik tekstowy. Nie trzeba jej tworzyć na podstawie maszyny, na której certyfikat zostanie ostatecznie użyty. 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

Plik Get-AzurePublish Ustawienia File utworzy 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 błąd, 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 systemie Windows 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. Istnieje również możliwość wdrażania rozwiązań zabezpieczeń innych firm, takich jak ściany ognia aplikacji internetowej, zapory sieciowe, oprogramowanie chroniące przed złośliwym kodem, systemy wykrywania włamań i zapobiegania im (IDS/IPS) i inne.

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, który negocjuje protokół HTTP/2 za pośrednictwem rozszerzeń TLS, nie musisz wprowadzać żadnych zmian po stronie serwera. Dzieje się tak dlatego, że za pośrednictwem protokołu TLS domyślnie jest wysyłany nagłówek h2-14 określający użycie protokołu HTTP/2. Jeśli z drugiej strony klient wysyła nagłówek Uaktualnienia w celu uaktualnienia do protokołu HTTP/2, musisz wprowadzić poniższą zmianę po stronie serwera, aby upewnić się, że uaktualnienie działa i kończy się połączeniem HTTP/2.

  1. Uruchom plik 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ź do domyślnej witryny sieci Web i w obszarze Powiązania utwórz nowe powiązanie TLS z właśnie utworzonym certyfikatem 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 paaS, może wykonać powyższe 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 wykonaniu tej czynności możesz sprawdzić, czy protokół HTTP/2 został włączony, czy nie, przy użyciu jednej z następujących metod:

  • Włącz wersję protokołu w dziennikach usług IIS i przejrzyj dzienniki usług IIS. Spowoduje to wyświetlenie protokołu HTTP/2 w dziennikach.
  • Włącz narzędzie deweloperskie F12 w programie Internet Explorer lub przeglądarce Microsoft Edge i przejdź na kartę Sieć, aby 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 opartej na rolach (RBAC) 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 pozwoli 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ę nawiązać 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 będzie 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?

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

Aby obejść ten problem, możesz użyć Szczegółowe informacje aplikacji. Automatyczne skalowanie obsługuje Szczegółowe informacje aplikacji jako źródło metryk i może skalować liczbę wystąpień roli na podstawie metryki gościa, takiej jak "Pamięć". Musisz skonfigurować Szczegółowe informacje aplikacji 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 Szczegółowe informacje do konfigurowania 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 Szczegółowe informacje for Cloud Services, zobacz Wysyłanie danych diagnostycznych usługi w chmurze, maszyny wirtualnej lub usługi Service Fabric do usługi Application Szczegółowe informacje

Aby uzyskać więcej informacji na temat włączania usługi Application Szczegółowe informacje for Cloud Services, zobacz Application Szczegółowe informacje for Azure Cloud Services (Usługa Application Szczegółowe informacje 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 bardzo mało wolnego miejsca na dysku?

Jest to oczekiwane zachowanie 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. Jednak istnieje kilka rzeczy, które należy pamiętać o tym, że zasadniczo przekształcić to w nie problem.

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 napisze niczego na dysku %approot%. Po utworzeniu wirtualnego dysku twardego na podstawie .cspkg maszyny wirtualnej platformy Azure i instalacji na maszynie wirtualnej platformy Azure jedyną rzeczą, która może zapisywać na tym dysku, jest twoja aplikacja. 

Ustawienia dziennika nie są konfigurowalne, 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. Wykonaj kroki opisane w tych artykułach, aby je zaimplementować:

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 polecenia cmdlet programu PowerShell New-WebBinding w zadaniu uruchamiania dla wystąpienia roli usługi w chmurze, jak pokazano poniżej:

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

Zgodnie z opisem w tym miejscu $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 korzystające z 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>

Korzystając z 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. Więc 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ń. Opłaty będą naliczane 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).