Udostępnij za pośrednictwem


Rozwiązywanie problemów z łącznością — Azure Event Grid

Istnieją różne przyczyny, dla których aplikacje klienckie nie mogą nawiązać połączenia z tematem/domeną usługi Event Grid. Napotykane problemy z łącznością mogą być trwałe lub przejściowe. Jeśli problem występuje przez cały czas (stały), możesz sprawdzić ustawienia zapory organizacji, ustawienia zapory ip, tagi usługi, prywatne punkty końcowe i inne. W przypadku przejściowych problemów uruchamianie poleceń w celu sprawdzenia porzuconych pakietów i uzyskanie śladów sieci może pomóc w rozwiązywaniu problemów.

Ten artykuł zawiera porady dotyczące rozwiązywania problemów z łącznością z usługą Azure Event Grid.

Rozwiązywanie stałych problemów z łącznością

Jeśli aplikacja w ogóle nie może nawiązać połączenia z usługą Event Grid, wykonaj kroki z tej sekcji, aby rozwiązać ten problem.

Sprawdź, czy wystąpiła awaria usługi

Sprawdź awarię usługi Azure Event Grid w lokacji stanu usługi platformy Azure.

Sprawdź, czy porty wymagane do komunikacji z usługą Event Grid nie są blokowane przez zaporę organizacji

Sprawdź, czy porty używane w komunikacji z usługą Azure Event Grid nie są blokowane w zaporze organizacji. Poniższa tabela zawiera porty wychodzące, które należy otworzyć, aby komunikować się z usługą Azure Event Grid.

Protokół Porty
HTTPS 443

Oto przykładowe polecenie, które sprawdza, czy port 443 jest zablokowany.

.\psping.exe -n 25 -i 1 -q {sampletopicname}.{region}-{suffix}.eventgrid.azure.net:443 -nobanner

W systemie Linux:

telnet {sampletopicname}.{region}-{suffix}.eventgrid.azure.net 443

Sprawdź, czy adresy IP są dozwolone w zaporze firmowej

Podczas pracy z platformą Azure czasami musisz zezwolić określonym zakresom adresów IP lub adresom URL w zaporze firmowej lub serwerze proxy na dostęp do wszystkich usług platformy Azure, których używasz lub których próbujesz użyć. Sprawdź, czy ruch jest dozwolony na adresach IP używanych przez usługę Event Grid. Adresy IP używane przez usługę Azure Event Grid: zobacz Zakresy adresów IP platformy Azure i tagi usługi — Chmura publiczna i tag usługi — AzureEventGrid.

Dokument Zakresy adresów IP platformy Azure i tagi usługi — chmura publiczna zawiera również listę adresów IP według regionów. Możesz zezwolić na zakresy adresów dla regionu tematu i sparowanego regionu w zaporze firmowej lub serwerze proxy. W przypadku sparowanego regionu dla regionu zobacz Replikacja między regionami na platformie Azure: ciągłość działania i odzyskiwanie po awarii.

Uwaga

Nowe adresy IP można dodać do tagu usługi AzureEventGrid, choć nie jest to zwykle. Warto więc przeprowadzić cotygodniową kontrolę tagów usługi.

Sprawdź, czy tag usługi AzureEventGrid jest dozwolony w sieciowych grupach zabezpieczeń

Jeśli aplikacja jest uruchomiona w podsieci i jeśli istnieje skojarzona sieciowa grupa zabezpieczeń, sprawdź, czy ruch wychodzący z Internetu jest dozwolony, czy tag usługi AzureEventGrid jest dozwolony. Zobacz Tagi usługi

Sprawdź ustawienia zapory adresów IP dla tematu/domeny

Sprawdź, czy publiczny adres IP maszyny, na której działa aplikacja, nie jest blokowany przez zaporę adresu IP tematu/domeny usługi EventGrid.

Domyślnie tematy/domeny usługi Event Grid są dostępne z Internetu, o ile żądanie jest dostarczane z prawidłowym uwierzytelnianiem i autoryzacją. Zapora IP umożliwia dalsze ograniczenie go tylko do zestawu adresów IPv4 lub zakresów adresów IPv4 w notacji CIDR (routing międzydomenowy bezklasowy).

Reguły zapory adresów IP są stosowane na poziomie tematu/domeny usługi Event Grid. W związku z tym reguły mają zastosowanie do wszystkich połączeń od klientów przy użyciu dowolnego obsługiwanego protokołu. Wszelkie próby nawiązania połączenia z adresu IP, który nie jest zgodny z dozwoloną regułą IP w temacie/domenie usługi Event Grid, są odrzucane jako zabronione. Odpowiedź nie wspomina o regule adresu IP.

Aby uzyskać więcej informacji, zobacz Konfigurowanie reguł zapory adresów IP dla tematu/domeny usługi Azure Event Grid.

Znajdowanie adresów IP zablokowanych przez zaporę ip

Włącz dzienniki diagnostyczne dla tematu/domeny usługi Event Grid Włącz dzienniki diagnostyczne. Zobaczysz adres IP dla połączenia, które zostało odrzucone.

{
  "time": "2019-11-01T00:17:13.4389048Z",
  "resourceId": "/SUBSCRIPTIONS/SAMPLE-SUBSCRIPTION-ID/RESOURCEGROUPS/SAMPLE-RESOURCEGROUP-NAME/PROVIDERS/MICROSOFT.EVENTGRID/TOPICS/SAMPLE-TOPIC-NAME",
  "category": "PublishFailures",
  "operationName": "Post",
  "message": "inputEventsCount=null, requestUri=https://SAMPLE-TOPIC-NAME.region-suffix.eventgrid.azure.net/api/events, publisherInfo=PublisherInfo(category=User, inputSchema=EventGridEvent, armResourceId=/SUBSCRIPTIONS/SAMPLE-SUBSCRIPTION-ID/RESOURCEGROUPS/SAMPLE-RESOURCEGROUP-NAME/PROVIDERS/MICROSOFT.EVENTGRID/TOPICS/SAMPLE-TOPIC-NAME), httpStatusCode=Forbidden, errorType=ClientIPRejected, errorMessage=Publishing to SAMPLE-TOPIC-NAME.{region}-{suffix}.EVENTGRID.AZURE.NET by client {clientIp} is rejected due to IpAddress filtering rules."
}

Sprawdź, czy można uzyskać dostęp do tematu/domeny usługi EventGrid przy użyciu tylko prywatnego punktu końcowego

Jeśli temat/domena usługi Event Grid jest skonfigurowany jako dostępny tylko za pośrednictwem prywatnego punktu końcowego, upewnij się, że aplikacja kliencka uzyskuje dostęp do tematu/domeny za pośrednictwem prywatnego punktu końcowego. Aby to potwierdzić, sprawdź, czy aplikacja kliencka jest uruchomiona w podsieci, a w tej podsieci znajduje się prywatny punkt końcowy dla tematu/domeny usługi Event Grid.

Usługa Azure Private Link umożliwia dostęp do usługi Azure Event Grid za pośrednictwem prywatnego punktu końcowego w sieci wirtualnej. Prywatny punkt końcowy to interfejs sieciowy, który nawiązuje prywatne i bezpieczne połączenie z usługą obsługiwaną przez usługę Azure Private Link. Prywatny punkt końcowy używa prywatnego adresu IP z sieci wirtualnej, efektywnie przenosząc usługę do sieci wirtualnej. Cały ruch do usługi może być kierowany przez prywatny punkt końcowy. Nie jest wówczas wymagane użycie bram, urządzeń NAT, połączeń ExpressRoute, połączeń VPN ani publicznych adresów IP. Ruch między siecią wirtualną a usługą odbywa się za pośrednictwem sieci szkieletowej firmy Microsoft, eliminując ekspozycję z publicznego Internetu. Możesz nawiązać połączenie z wystąpieniem zasobu platformy Azure, zapewniając najwyższy poziom szczegółowości kontroli dostępu.

Aby uzyskać więcej informacji, zobacz Konfigurowanie prywatnych punktów końcowych.

Rozwiązywanie przejściowych problemów z łącznością

Jeśli występują sporadyczne problemy z łącznością, zapoznaj się z poniższymi sekcjami, aby uzyskać porady dotyczące rozwiązywania problemów.

Uruchom polecenie , aby sprawdzić porzucone pakiety

Jeśli występują sporadyczne problemy z łącznością, uruchom następujące polecenie, aby sprawdzić, czy istnieją jakiekolwiek porzucone pakiety. To polecenie spróbuje ustanowić 25 różnych połączeń TCP z usługą co 1 sekundę. Następnie możesz sprawdzić, ile z nich się, ile zakończyło niepowodzeniem, a także zobaczyć opóźnienie połączenia TCP. Narzędzie można pobrać psping z tego miejsca.

.\psping.exe -n 25 -i 1 -q {sampletopicname}.{region}-{suffix}.eventgrid.azure.net:443 -nobanner

Możesz użyć równoważnych poleceń, jeśli używasz innych narzędzi, takich jak tcpping tcpping.exe.

Uzyskaj ślad sieci, jeśli poprzednie kroki nie pomogą i przeanalizują je przy użyciu narzędzi, takich jak Wireshark. W razie potrzeby skontaktuj się z pomoc techniczna firmy Microsoft.

Uaktualnienia/ponowne uruchomienia usługi

Przejściowe problemy z łącznością mogą wystąpić z powodu uaktualnień i ponownych uruchomień usługi zaplecza. Gdy wystąpią, mogą wystąpić następujące objawy:

  • Może wystąpić spadek przychodzących komunikatów/żądań.
  • Plik dziennika może zawierać komunikaty o błędach.
  • Aplikacje mogą zostać odłączone od usługi przez kilka sekund.
  • Żądania mogą być chwilowo ograniczane.

Przechwycenie tych błędów przejściowych, wycofywanie, a następnie ponowienie próby wywołania zapewni odporność kodu na te przejściowe problemy.

Następne kroki

Jeśli potrzebujesz dodatkowej pomocy, opublikuj swój problem na forum Stack Overflow lub otwórz bilet pomocy technicznej.