Rozwiązywanie problemów z łącznością aplikacji na maszynach wirtualnych platformy Azure
Dotyczy: ✔️ Maszyny wirtualne z systemem Linux maszyny wirtualne z ✔️ systemem Windows
Istnieją różne przyczyny, dla których nie można uruchomić aplikacji działającej na maszynie wirtualnej platformy Azure lub nawiązać z nią połączenie. Przyczyny obejmują, że aplikacja nie jest uruchomiona lub nasłuchuje na oczekiwanych portach, port nasłuchiwania zablokowany lub reguły sieciowe nie są prawidłowo przekazujące ruch do aplikacji. W tym artykule opisano metodyczne podejście do znajdowania i rozwiązywania problemu.
Jeśli masz problemy z nawiązywaniem połączenia z maszyną wirtualną przy użyciu protokołu RDP lub SSH, najpierw zapoznaj się z jednym z następujących artykułów:
- Rozwiązywanie problemów z połączeniami pulpitu zdalnego z maszyną wirtualną platformy Azure opartą na systemie Windows
- Rozwiązywanie problemów z połączeniami protokołu Secure Shell (SSH) z maszyną wirtualną platformy Azure opartą na systemie Linux.
Jeśli potrzebujesz więcej pomocy w dowolnym momencie tego artykułu, możesz skontaktować się z ekspertami platformy Azure na forach MSDN Azure i Stack Overflow. Alternatywnie można również zgłosić zdarzenie pomoc techniczna platformy Azure. Przejdź do witryny pomoc techniczna platformy Azure i wybierz pozycję Uzyskaj pomoc techniczną.
Kroki rozwiązywania problemów z przewodnikami Szybki start
Jeśli masz problemy z nawiązywaniem połączenia z aplikacją, spróbuj wykonać następujące ogólne kroki rozwiązywania problemów. Po każdym kroku spróbuj ponownie nawiązać połączenie z aplikacją:
- Ponowne uruchomienie maszyny wirtualnej
- Ponowne tworzenie reguł punktu końcowego/zapory/sieciowej grupy zabezpieczeń
- Nawiązywanie połączenia z innej lokalizacji, na przykład z innej sieci wirtualnej platformy Azure
- Ponowne wdrażanie maszyny wirtualnej
- Ponowne tworzenie maszyny wirtualnej
Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z łącznością punktów końcowych (RDP/SSH/HTTP itp.).
Szczegółowe omówienie rozwiązywania problemów
Istnieją cztery główne obszary umożliwiające rozwiązywanie problemów z dostępem do aplikacji działającej na maszynie wirtualnej platformy Azure.
- Aplikacja uruchomiona na maszynie wirtualnej platformy Azure.
- Czy aplikacja działa poprawnie?
- Maszyna wirtualna platformy Azure.
- Czy sama maszyna wirtualna działa prawidłowo i odpowiada na żądania?
- Punkty końcowe sieci platformy Azure.
- Punkty końcowe usługi w chmurze dla maszyn wirtualnych w klasycznym modelu wdrażania.
- Sieciowe grupy zabezpieczeń i reguły NAT dla ruchu przychodzącego dla maszyn wirtualnych w modelu wdrażania usługi Resource Manager.
- Czy ruch może przepływać z użytkowników do maszyny wirtualnej/aplikacji na oczekiwanych portach?
- Urządzenie brzegowe w Internecie.
- Czy reguły zapory uniemożliwiają prawidłowe przepływy ruchu?
W przypadku komputerów klienckich, które uzyskują dostęp do aplikacji za pośrednictwem sieci VPN typu lokacja-lokacja lub połączenia usługi ExpressRoute, główne obszary, które mogą powodować problemy, to aplikacja i maszyna wirtualna platformy Azure.
Aby określić źródło problemu i jego poprawkę, wykonaj następujące kroki.
Krok 1. Uzyskiwanie dostępu do aplikacji z docelowej maszyny wirtualnej
Spróbuj uzyskać dostęp do aplikacji przy użyciu odpowiedniego programu klienckiego z maszyny wirtualnej, na której jest uruchomiona. Użyj nazwy hosta lokalnego, lokalnego adresu IP lub adresu sprzężenia zwrotnego (127.0.0.1).
Jeśli na przykład aplikacja jest serwerem internetowym, otwórz przeglądarkę na maszynie wirtualnej i spróbuj uzyskać dostęp do strony internetowej hostowanej na maszynie wirtualnej.
Jeśli masz dostęp do aplikacji, przejdź do kroku 2.
Jeśli nie możesz uzyskać dostępu do aplikacji, sprawdź następujące ustawienia:
- Aplikacja jest uruchomiona na docelowej maszynie wirtualnej.
- Aplikacja nasłuchuje na oczekiwanych portach TCP i UDP.
Na maszynach wirtualnych z systemem Windows i Linux użyj polecenia netstat -a , aby wyświetlić aktywne porty nasłuchiwania. Sprawdź dane wyjściowe dla oczekiwanych portów, na których aplikacja powinna nasłuchiwać. Uruchom ponownie aplikację lub skonfiguruj ją tak, aby korzystała z oczekiwanych portów zgodnie z potrzebami i spróbuj ponownie uzyskać dostęp do aplikacji lokalnie.
Krok 2. Uzyskiwanie dostępu do aplikacji z innej maszyny wirtualnej w tej samej sieci wirtualnej
Spróbuj uzyskać dostęp do aplikacji z innej maszyny wirtualnej, ale w tej samej sieci wirtualnej, używając nazwy hosta maszyny wirtualnej lub przypisanego przez platformę Azure publicznego, prywatnego lub adresu IP dostawcy. W przypadku maszyn wirtualnych utworzonych przy użyciu klasycznego modelu wdrażania nie używaj publicznego adresu IP usługi w chmurze.
Jeśli na przykład aplikacja jest serwerem internetowym, spróbuj uzyskać dostęp do strony internetowej z przeglądarki na innej maszynie wirtualnej w tej samej sieci wirtualnej.
Jeśli możesz uzyskać dostęp do aplikacji, przejdź do kroku 3.
Jeśli nie możesz uzyskać dostępu do aplikacji, sprawdź następujące ustawienia:
- Zapora hosta na docelowej maszynie wirtualnej zezwala na ruch przychodzący i wychodzący.
- Wykrywanie nieautoryzowane lub oprogramowanie do monitorowania sieci uruchomione na docelowej maszynie wirtualnej zezwala na ruch.
- Punkty końcowe usług Cloud Services lub sieciowe grupy zabezpieczeń zezwalają na ruch:
- Oddzielny składnik uruchomiony na maszynie wirtualnej w ścieżce między testową maszyną wirtualną a maszyną wirtualną, taki jak moduł równoważenia obciążenia lub zapora, zezwala na ruch.
Na maszynie wirtualnej z systemem Windows użyj zapory systemu Windows z zabezpieczeniami zaawansowanymi, aby określić, czy reguły zapory wykluczają ruch przychodzący i wychodzący aplikacji.
Krok 3. Uzyskiwanie dostępu do aplikacji spoza sieci wirtualnej
Spróbuj uzyskać dostęp do aplikacji z komputera spoza sieci wirtualnej jako maszyny wirtualnej, na której działa aplikacja. Użyj innej sieci jako oryginalnego komputera klienckiego.
Jeśli na przykład aplikacja jest serwerem internetowym, spróbuj uzyskać dostęp do strony internetowej z przeglądarki uruchomionej na komputerze, który nie znajduje się w sieci wirtualnej.
Jeśli nie możesz uzyskać dostępu do aplikacji, sprawdź następujące ustawienia:
W przypadku maszyn wirtualnych utworzonych przy użyciu klasycznego modelu wdrażania:
- Sprawdź, czy konfiguracja punktu końcowego maszyny wirtualnej zezwala na ruch przychodzący, zwłaszcza protokół (TCP lub UDP) oraz numery portów publicznych i prywatnych.
- Sprawdź, czy listy kontroli dostępu (ACL) w punkcie końcowym nie uniemożliwiają ruchu przychodzącego z Internetu.
- Aby uzyskać więcej informacji, zobacz How to Set Up Endpoints to a Virtual Machine (Jak skonfigurować punkty końcowe na maszynie wirtualnej).
W przypadku maszyn wirtualnych utworzonych przy użyciu modelu wdrażania usługi Resource Manager:
- Sprawdź, czy konfiguracja reguły NAT dla ruchu przychodzącego dla maszyny wirtualnej zezwala na ruch przychodzący, zwłaszcza protokół (TCP lub UDP) oraz numery portów publicznych i prywatnych.
- Sprawdź, czy sieciowe grupy zabezpieczeń zezwalają na ruch przychodzący i wychodzący.
- Aby uzyskać więcej informacji, zobacz Co to jest sieciowa grupa zabezpieczeń?
Jeśli maszyna wirtualna lub punkt końcowy należy do zestawu o zrównoważonym obciążeniu:
- Sprawdź, czy protokół sondy (TCP lub UDP) i numer portu są poprawne.
- Jeśli protokół i port sondy różnią się od protokołu i portu zestawu z równoważeniem obciążenia:
- Sprawdź, czy aplikacja nasłuchuje w protokole sondy (TCP lub UDP) i numerem portu (użyj polecenia netstat –a na docelowej maszynie wirtualnej).
- Sprawdź, czy zapora hosta na docelowej maszynie wirtualnej zezwala na ruch odpowiedzi sondy ruchu przychodzącego i sondy wychodzącej.
Jeśli masz dostęp do aplikacji, upewnij się, że urządzenie brzegowe w Internecie zezwala na:
- Aplikacja wychodząca żąda ruchu z komputera klienckiego do maszyny wirtualnej platformy Azure.
- Ruch przychodzący aplikacji z maszyny wirtualnej platformy Azure.
Krok 4 Jeśli nie możesz uzyskać dostępu do aplikacji, użyj funkcji Weryfikacja adresu IP, aby sprawdzić ustawienia
Aby uzyskać więcej informacji, zobacz Omówienie monitorowania sieci platformy Azure.
Dodatkowe materiały
Skontaktuj się z nami, aby uzyskać pomoc
Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii na temat platformy Azure.