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

Ważne

Cloud Services (wersja klasyczna) jest teraz przestarzała dla nowych klientów i zostanie wycofana 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 Azure Cloud Services (wsparcie dodatkowe).

Ten artykuł zawiera często zadawane pytania dotyczące problemów z konfiguracją i zarządzaniem Microsoft Azure Cloud Services. Aby uzyskać informacje o rozmiarze, możesz również zapoznać się ze stroną rozmiaru maszyny wirtualnej 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

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, polegasz 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 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 użycia protokołu RDP 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)

Żądanie CSR to tylko plik tekstowy. Nie trzeba go tworzyć na podstawie maszyny, na której ostatecznie będzie używany certyfikat. Mimo że ten dokument jest napisany dla App Service, tworzenie csr jest ogólne i ma zastosowanie również do Cloud Services.

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

Aby odnowić certyfikaty zarządzania, możesz użyć następujących poleceń programu PowerShell:

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

Polecenie Get-AzurePublishSettingsFile utworzy nowy certyfikat zarządzania wobszarze Certyfikaty zarządzaniasubskrypcjami> w 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 zarejestrować ten skrypt 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 "Zarządzanie usługami platformy Microsoft Azure dla klucza maszyny"?

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 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ć Cloud Services.

Dlaczego usługi IIS przestają zapisywać dane 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ę dla usług IIS i okresowo przeniosła 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 Cloud Services?

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?

Limit czasu można określić 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).

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 nieautoryzowanego dostępu, 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ń. Wieloprongowane podejście do zarządzania zagrożeniami platformy Azure korzysta z wykrywania nieautoryzowanego dostępu, zapobiegania atakom typu "odmowa usługi" (DDoS), testowania penetracyjnego, analizy behawioralnej, wykrywania anomalii i uczenia maszynowego w celu ciągłego wzmacniania ochrony i zmniejszania ryzyka. Microsoft Antimalware dla platformy Azure chroni usługę Azure Cloud Services i maszyny wirtualne. Istnieje również możliwość wdrożenia rozwiązań zabezpieczeń innych firm, takich jak zapory sieciowe, zapory sieciowe, oprogramowanie chroniące przed złośliwym kodem, systemy wykrywania nieautoryzowanego dostępu i zapobiegania (IDS/IPS) i nie tylko.

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

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. Wynika to z tego, ż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, należy wprowadzić poniższą 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ź 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 usługi PaaS, można wprowadzić powyższe zmiany w rejestrze systemowym. Aby uzyskać więcej informacji, zobacz 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ź do karty Sieć, aby zweryfikować protokół.

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

Uprawnienia

Jak mogę zaimplementować dostęp oparty na rolach dla Cloud Services?

Cloud Services nie obsługuje modelu kontroli dostępu na podstawie ról (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 wykonuje 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ę 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 maszyny przyłączonej do usługi Azure Active Directory. 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

Twoja 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?

Automatyczne skalowanie na podstawie metryk pamięci dla Cloud Services 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 skalowania automatycznego na Cloud Services, 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 dla 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 Cloud Services, zobacz Application Insights for Azure Cloud Services

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

Ogólny

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?

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 zajmuje pliki. Istnieje jednak kilka rzeczy, o których należy pamiętać, ż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 ma znaczenia. 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 zapisze niczego na dysku %approot%. Po utworzeniu wirtualnego dysku twardego na podstawie twojego .cspkg i zainstalowanego na maszynie wirtualnej platformy Azure jedyną rzeczą, która może zapisywać na tym dysku, jest aplikacja. 

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

Jak dodać rozszerzenie chroniące przed złośliwym kodem dla Cloud Services 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 ochrony przed złośliwym kodem i sposobu jej włączania w portalu, zobacz Scenariusze wdrażania ochrony przed złośliwym kodem.

Jak włączyć wskazanie nazwy serwera (SNI) dla Cloud Services?

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

Metoda 1. Korzystanie z 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

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 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 pomocą 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 w chmurze platformy Azure?

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

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

Pracujemy nad wprowadzeniem tej funkcji na 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, z których korzysta. 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ń. 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żyć w przyszłości.
  3. Jeśli chcesz ponownie wdrożyć usługę w chmurze przy użyciu tego samego zarezerwowanego adresu IP, który został zarezerwowany w ramach subskrypcji, zobacz Reserved IP addresses for Cloud Services and Virtual Machines (Zarezerwowane adresy IP dla Cloud Services i Virtual Machines).