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

Istnieją różne powody, dla których aplikacje klienckie nie mogą nawiązać połączenia z tematem/domeną usługi Event Grid. Mogą to być problemy 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 Azure Event Grid.

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

Jeśli aplikacja nie może w ogóle 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 witrynie stanu usługi platformy Azure.

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

Sprawdź, czy porty używane w komunikacji z Azure Event Grid nie są blokowane w zaporze organizacji. Zapoznaj się z poniższą tabelą dla portów wychodzących, które należy otworzyć, aby komunikować się z 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ć na określone zakresy adresów IP lub adresy URL w zaporze firmowej lub serwerze proxy w celu uzyskania dostępu do wszystkich usług platformy Azure, których używasz lub próbujesz użyć. Sprawdź, czy ruch jest dozwolony na adresach IP używanych przez usługę Event Grid. Aby uzyskać adresy IP używane przez Azure Event Grid: zobacz Zakresy adresów IP platformy Azure i tagi usług — Publiczna chmura i tag usługi — AzureEventGrid.

Dokument Zakresy adresów IP platformy Azure i tagi usług — chmura publiczna zawiera również listę adresów IP według regionu. 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 typowe. Warto więc sprawdzić co tydzień tagi 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ń, upewnij się, że ruch wychodzący z Internetu jest dozwolony lub 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ę adresów 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ą. Za pomocą zapory ip można ograniczyć go dalej tylko do zestawu adresów IPv4 lub zakresów adresów IPv4 w notacji CIDR (bezklasowa Inter-Domain routingu).

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 Azure Event Grid.

Znajdowanie adresów IP zablokowanych przez zaporę adresów 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-SUBSCTIPTION-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-SUBSCTIPTION-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 skonfigurowana tak, aby była dostępna 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 i istnieje prywatny punkt końcowy dla tematu/domeny usługi Event Grid w tej podsieci.

usługa Azure Private Link umożliwia dostęp do 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, co zapewnia 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ć pspingtutaj.

.\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 tcppingtcpping.exe.

Uzyskaj ślad sieciowy, jeśli poprzednie kroki nie pomagają i analizują 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ń usługi zaplecza i ponownych uruchomień. 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.

Przechwytywanie tych przejściowych błędów, wycofywanie, a następnie ponawianie 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.