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:
- 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.
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ą:
- Ponowne uruchamianie maszyny wirtualnej
- Ponowne tworzenie reguł punktu końcowego/zapory/ reguł sieciowej grupy zabezpieczeń
- Nawiązywanie połączenia z innej lokalizacji, takiej jak inna sieć wirtualna platformy Azure
- Ponowne wdrażanie maszyny wirtualnej
- Ponowne tworzenie maszyny wirtualnej
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.
- Aplikacja uruchomiona na maszynie wirtualnej platformy Azure.
- Czy sama aplikacja działa prawidłowo?
- 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 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?
- 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).
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.
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 żądania i odpowiedzi wychodzącej.
- Wykrywanie włamań lub oprogramowanie do monitorowania sieci uruchomione na docelowej maszynie wirtualnej zezwala na ruch.
- Cloud Services punkty końcowe lub sieciowe grupy zabezpieczeń zezwalają na ruch:
- Oddzielny składnik działający 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 jest uruchomiona 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 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:
- Sprawdź, czy konfiguracja punktu końcowego dla 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 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
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.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla