Rozwiązywanie problemów z dostępem, pozyskiwaniem i działaniem klastra usługi Azure Data Explorer w sieci wirtualnej

Ważne

Rozważ przejście do rozwiązania opartego na prywatnym punkcie końcowym platformy Azure w celu zaimplementowania zabezpieczeń sieci za pomocą usługi Azure Data Explorer. Jest mniej podatny na błędy i zapewnia parzystość funkcji.

W tej sekcji dowiesz się, jak rozwiązywać problemy z łącznością, operacją i tworzeniem klastra dla klastra wdrożonego w Virtual Network.

Problemy z dostępem

Jeśli masz problem podczas uzyskiwania dostępu do klastra przy użyciu publicznego (cluster.region.kusto.windows.net) lub prywatnego punktu końcowego (private-cluster.region.kusto.windows.net) i podejrzewasz, że jest to związane z konfiguracją sieci wirtualnej, wykonaj następujące kroki, aby rozwiązać ten problem.

Sprawdzanie łączności TCP

Pierwszy krok obejmuje sprawdzanie łączności TCP przy użyciu systemu operacyjnego Windows lub Linux.

  1. Pobierz narzędzie TCping do maszyny łączącej się z klastrem.

  2. Wyślij polecenie ping do miejsca docelowego z maszyny źródłowej przy użyciu następującego polecenia:

    C:\> tcping -t yourcluster.kusto.windows.net 443
    ** Pinging continuously.  Press control-c to stop **
    Probing 1.2.3.4:443/tcp - Port is open - time=100.00ms
    

Jeśli test nie powiedzie się, wykonaj następujące kroki. Jeśli test zakończy się pomyślnie, problem nie jest spowodowany problemem z łącznością TCP. Przejdź do pozycji Problemy operacyjne , aby rozwiązać problem.

Sprawdzanie reguł sieciowej grupy zabezpieczeń

Sprawdź, czy sieciowa grupa zabezpieczeń dołączona do podsieci klastra ma regułę ruchu przychodzącego, która zezwala na dostęp z adresu IP maszyny klienckiej dla portu 443.

Sprawdź, czy tabela tras jest skonfigurowana, aby zapobiec problemom z dostępem

Jeśli podsieć klastra jest skonfigurowana do wymuszania tunelowania całego ruchu powiązanego z Internetem z powrotem do zapory (podsieć z tabelą tras zawierającą trasę domyślną "0.0.0.0/0"), upewnij się, że adres IP maszyny ma trasę z typem następnego przeskoku do pozycji VirtualNetwork/Internet. Ta trasa jest wymagana, aby zapobiec problemom z trasą asymetryczną.

Problemy z pozyskiwaniem danych

Jeśli występują problemy z pozyskiwaniem i podejrzewasz, że jest to związane z konfiguracją sieci wirtualnej, wykonaj następujące kroki.

Sprawdzanie kondycji pozyskiwania

Sprawdź, czy metryki pozyskiwania klastra wskazują stan dobrej kondycji.

Sprawdzanie reguł zabezpieczeń dotyczących zasobów źródła danych

Jeśli metryki wskazują, że żadne zdarzenia nie zostały przetworzone ze źródła danych (zdarzenia przetworzone metryki dla usługi Event/IoT Hubs), upewnij się, że zasoby źródła danych (Event Hubs lub Storage) zezwalają na dostęp z podsieci klastra w regułach zapory lub punktach końcowych usługi.

Sprawdzanie reguł zabezpieczeń skonfigurowanych w podsieci klastra

Upewnij się, że podsieć klastra ma prawidłowo skonfigurowaną sieciową grupę zabezpieczeń, trasę zdefiniowaną przez użytkownika i reguły zapory. Ponadto przetestuj łączność sieciową dla wszystkich zależnych punktów końcowych.

Problemy z tworzeniem klastra i operacjami

Jeśli występują problemy z tworzeniem lub operacją klastra i podejrzewasz, że jest to związane z konfiguracją sieci wirtualnej, wykonaj następujące kroki, aby rozwiązać ten problem.

Sprawdzanie konfiguracji "serwerów DNS"

Konfigurowanie prywatnego punktu końcowego wymaga skonfigurowania systemu DNS. Obsługujemy tylko konfigurację strefy Prywatna strefa DNS platformy Azure. Niestandardowa konfiguracja serwera DNS nie jest obsługa. Sprawdź, czy rekordy utworzone w ramach prywatnego punktu końcowego są zarejestrowane w strefie usługi Azure Prywatna strefa DNS.

Diagnozowanie sieci wirtualnej za pomocą interfejsu API REST

Obiekt ARMClient służy do wywoływania interfejsu API REST przy użyciu programu PowerShell.

  1. Logowanie przy użyciu klienta ARMClient

    armclient login
    
  2. Wywoływanie operacji diagnozowania

    $subscriptionId = '<subscription id>'
    $clusterName = '<name of cluster>'
    $resourceGroupName = '<resource group name>'
    $apiversion = '2019-11-09'
    
    armclient post "https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.Kusto/clusters/$clusterName/diagnoseVirtualNetwork?api-version=$apiversion" - verbose
    
  3. Sprawdź odpowiedź

    HTTP/1.1 202 Accepted
    ...
    Azure-AsyncOperation: https://management.azure.com/subscriptions/{subscription-id}/providers/Microsoft.Kusto/locations/{location}/operationResults/{operation-id}?api-version=2019-11-09
    ...
    
  4. Oczekiwanie na ukończenie operacji

    armclient get https://management.azure.com/subscriptions/$subscriptionId/providers/Microsoft.Kusto/locations/{location}/operationResults/{operation-id}?api-version=2019-11-09
    
    {
      "id": "/subscriptions/{subscription-id}/providers/Microsoft.Kusto/locations/{location}/operationresults/{operation-id}",
      "name": "{operation-name}",
      "status": "[Running/Failed/Completed]",
      "startTime": "{start-time}",
      "endTime": "{end-time}",
      "properties": {...}
    }
    

    Zaczekaj na wyświetlenie właściwości statusuUkończono, a następnie pole właściwości powinno zostać wyświetlone:

    {
      "id": "/subscriptions/{subscription-id}/providers/Microsoft.Kusto/locations/{location}/operationresults/{operation-id}",
      "name": "{operation-name}",
      "status": "Completed",
      "startTime": "{start-time}",
      "endTime": "{end-time}",
      "properties": {
        "Findings": [...]
      }
    }
    

Jeśli właściwość Findings pokazuje pusty wynik, oznacza to, że wszystkie testy sieciowe przeszły, a żadne połączenia nie zostaną przerwane. Jeśli zostanie wyświetlony następujący błąd, zależność ruchu wychodzącego "{dependencyName}:{port}" może nie być spełniona (ruch wychodzący), klaster nie może uzyskać dostępu do zależnych punktów końcowych usługi. Wykonaj następujące kroki.

Sprawdzanie reguł sieciowej grupy zabezpieczeń

Upewnij się, że sieciowa grupa zabezpieczeń jest prawidłowo skonfigurowana zgodnie z instrukcjami w temacie Konfigurowanie reguł sieciowej grupy zabezpieczeń.

Sprawdź, czy tabela tras jest skonfigurowana, aby zapobiec problemom z pozyskiwaniem danych

Jeśli podsieć klastra jest skonfigurowana do wymuszania tunelowania całego ruchu powiązanego z Internetem z powrotem do zapory (podsieć z tabelą tras zawierającą domyślną trasę "0.0.0.0/0") upewnij się, że adresy IP zarządzania) i adresy IP monitorowania kondycji mają trasę z adresem IP typu następnego przeskoku i prefiksem adresu źródłowego "management-ip/32" i "health-monitoring-ip/32". Ta trasa wymagana do zapobiegania problemom z trasą asymetryczną.

Sprawdzanie reguł zapory

Jeśli wymusisz ruch wychodzący podsieci tunelu do zapory, upewnij się, że wszystkie zależności FQDN (na przykład .blob.core.windows.net) są dozwolone w konfiguracji zapory zgodnie z opisem w temacie zabezpieczania ruchu wychodzącego z zaporą.

Problemy z zawieszeniem klastra

Jeśli nie można wstrzymać klastra, upewnij się, że nie ma żadnych blokad w zasobach sieciowych w subskrypcji.