Rozwiązywanie problemów z łącznością aplikacji na maszynach wirtualnych na platformie Azure

Istnieją różne powody, dla których nie można uruchomić aplikacji uruchomionej na maszynie wirtualnej platformy Azure ani nawiązać z nią połączenia. Przyczyny obejmują brak działania lub nasłuchiwanie aplikacji na oczekiwanych portach, zablokowany port nasłuchiwania lub nieprawidłowe przekazywanie ruchu do aplikacji przez reguły sieci. 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 zobacz jeden z następujących artykułów:

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żesz również złożyć 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ą:

Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z łącznością punktu końcowego (RDP/SSH/HTTP itp.).

Szczegółowe omówienie rozwiązywania problemów

Istnieją cztery główne obszary rozwiązywania problemów z dostępem aplikacji uruchomionej na maszynie wirtualnej platformy Azure.

Diagram przedstawia dwa urządzenia klienckie połączone z aplikacją odpowiednio przez Internet i sieć VPN na maszynie wirtualnej M. Wyróżniono 4 główne obszary rozwiązywania problemów z dostępem.

  1. Aplikacja uruchomiona na maszynie wirtualnej platformy Azure.
    • Czy sama aplikacja działa prawidłowo?
  2. Maszyna wirtualna platformy Azure.
    • Czy sama maszyna wirtualna działa prawidłowo i odpowiada na żądania?
  3. 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 translatora adresów sieciowych dla maszyn wirtualnych w modelu wdrażania Resource Manager.
    • Czy ruch z użytkowników do maszyny wirtualnej/aplikacji może przepływać na oczekiwanych portach?
  4. Urządzenie brzegowe w Internecie.
    • Czy reguły zapory uniemożliwiają prawidłowy przepływ ruchu?

W przypadku komputerów klienckich, które uzyskują dostęp do aplikacji za pośrednictwem połączenia sieci VPN typu lokacja-lokacja lub połączenia usługi ExpressRoute, głównymi obszarami, które mogą powodować problemy, są aplikacja i maszyna wirtualna platformy Azure.

Aby określić źródło problemu i jego korektę, 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 lokalnej nazwy hosta, lokalnego adresu IP lub adresu sprzężenia zwrotnego (127.0.0.1).

Diagram uzyskiwania dostępu do aplikacji bezpośrednio z maszyny wirtualnej w sieci wirtualnej platformy Azure.

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 możesz uzyskać 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 w razie potrzeby używała oczekiwanych portów, a następnie 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 jej publicznego, prywatnego lub dostawcy przypisanego do platformy Azure. W przypadku maszyn wirtualnych utworzonych przy użyciu klasycznego modelu wdrażania nie używaj publicznego adresu IP usługi w chmurze.

Diagram uzyskiwania dostępu do aplikacji bezpośrednio z innej maszyny wirtualnej w tej samej sieci wirtualnej w sieci wirtualnej platformy Azure.

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:

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 jest uruchomiona aplikacja. Użyj innej sieci jako oryginalnego komputera klienckiego.

Diagram uzyskiwania dostępu do aplikacji z komputera spoza sieci wirtualnej.

Jeśli na przykład aplikacja jest serwerem internetowym, spróbuj uzyskać dostęp do strony internetowej z przeglądarki działającej 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:

  • W przypadku maszyn wirtualnych utworzonych przy użyciu modelu wdrażania Resource Manager:

    • Sprawdź, czy konfiguracja reguły translatora adresów sieciowych 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 żądania i odpowiedzi wychodzącej.
    • Aby uzyskać więcej informacji, zobacz Co to jest sieciowa grupa zabezpieczeń?

Jeśli maszyna wirtualna lub punkt końcowy jest członkiem zestawu o zrównoważonym obciążeniu:

  • Sprawdź, czy protokół sondy (TCP lub UDP) i numer portu są poprawne.
  • Jeśli protokół sondy i port różnią się od ustawionego protokołu i portu o zrównoważonym obciążeniu:
    • Sprawdź, czy aplikacja nasłuchuje w protokole sondy (TCP lub UDP) i numerze portu (użyj parametru netstat –a na docelowej maszynie wirtualnej).
    • Sprawdź, czy zapora hosta na docelowej maszynie wirtualnej zezwala na ruch przychodzący żądania sondy i wychodzącej sondy.

Jeśli możesz uzyskać dostęp do aplikacji, upewnij się, że urządzenie brzegowe Internetu zezwala na:

  • Aplikacja wychodząca żąda ruchu z komputera klienckiego do maszyny wirtualnej platformy Azure.
  • Ruch przychodzący aplikacji odpowiada z maszyny wirtualnej platformy Azure.

Krok 4. Jeśli nie możesz uzyskać dostępu do aplikacji, sprawdź ustawienia za pomocą funkcji weryfikacji adresów IP

Aby uzyskać więcej informacji, zobacz Omówienie monitorowania sieci platformy Azure.

Dodatkowe materiały

Rozwiązywanie problemów z połączeniami pulpitu zdalnego z maszyną wirtualną platformy Azure z systemem Windows

Rozwiązywanie problemów z połączeniami secure shell (SSH) z maszyną wirtualną platformy Azure opartą na systemie Linux

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 platformy Azure.