Private Verfügbarkeitsdiagnosen erstellen

Mit privaten Verfügbarkeitsdiagnosen können Sie die Verfügbarkeit interner Ressourcen wie virtueller Maschinen (VMs) oder interner L4-Load Balancer (ILBs) testen, ohne sie dem öffentlichen Internet zugänglich zu machen. Bei diesen Prüfungen wird Service Directory verwendet, um HTTP-, HTTPS- oder TCP-Anfragen an interne IP-Adressen in einem VPC-Netzwerk (Virtual Private Cloud) zu senden. Dabei werden IAM-Berechtigungen (Identity and Access Management) und VPC Service Controls-Perimeter berücksichtigt.

Informationen zum Konfigurieren von Verfügbarkeitsdiagnosen für öffentlich zugängliche Endpunkte finden Sie unter Öffentliche Verfügbarkeitsdiagnosen erstellen.

Diese Funktion wird nur für Google Cloud -Projekte unterstützt. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt aus.

Private Verfügbarkeitsdiagnosen

Die internen IP-Adressen für Ressourcen im privaten Netzwerk werden von Service Directory-Diensten mit aktiviertem privaten Netzwerkzugriff aufgezeichnet. Wenn Sie private Verfügbarkeitsdiagnosen verwenden möchten, müssen Sie den Zugriff auf private Netzwerke mit Service Directory konfigurieren.

Das Google Cloud Projekt, in dem die private Uptime-Prüfung gespeichert ist, und das Google Cloud Projekt, in dem der Service Directory-Dienst gespeichert ist, können unterschiedliche Projekte sein. Mit Cloud Monitoring können Sie Ressourcen in mehrerenGoogle Cloud -Projekten über ein Projekt mit einem Messwertbereich überwachen. Das Projekt, in dem die Verfügbarkeitsdiagnose definiert ist, ist das den Bereich festlegende Projekt eines Messwertbereichs. Der Messwertbereich ist eine Liste aller Projekte, die vom den Bereich festlegenden Projekt überwacht werden. Der Service Directory-Dienst kann im Bereichsprojekt oder in einem Projekt im Messwertebereich definiert werden. Weitere Informationen zu Messwertbereichen finden Sie unter Messwertbereiche – Übersicht.

Das private Netzwerk und seine Ressourcen wie VMs oder Load-Balancer können sich auch in einem anderen Google Cloud Projekt befinden. Dieses Projekt muss sich nicht im Messwertbereich des den Bereich festlegenden Projekts der Uptime-Prüfung befinden. Der Service Directory-Dienst erfasst die Uptime-Messwerte. Er muss sich also im Messwertebereich befinden, die darin enthaltenen Ressourcen jedoch nicht.

In diesem Dokument wird beschrieben, wie Sie ein privates Netzwerk einrichten und Service Directory-Ressourcen dafür über die Google Cloud Console oder die API konfigurieren. In den API-Beispielen wird davon ausgegangen, dass sich das private Netzwerk und der Service Directory-Dienst im Bereichsprojekt des Uptime-Checks befinden. Im Abschnitt Private Verfügbarkeitsdiagnose erstellen wird jedoch auch beschrieben, wie Sie mit der API eine Verfügbarkeitsdiagnose erstellen, die einen Service Directory-Dienst im Messwertbereich verwendet.

Hinweis

Führen Sie die folgenden Schritte im Google Cloud -Projekt aus, in dem Sie die private Verfügbarkeitsdiagnose erstellen möchten. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt aus.

  1. APIs aktivieren:

    Console

    Aktivieren Sie die APIs Cloud Monitoring, Service Directory, Service Networking und Compute Engine, falls sie noch nicht aktiviert sind.

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen

    APIs aktivieren

    gcloud

    Aktivieren Sie die APIs Cloud Monitoring, Service Directory, Service Networking und Compute Engine, falls sie noch nicht aktiviert sind:

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen

    gcloud services enable monitoring.googleapis.com servicedirectory.googleapis.com servicenetworking.googleapis.com compute.googleapis.com

  2. Konfigurieren Sie die Benachrichtigungskanäle, die Sie für Benachrichtigungen verwenden möchten. Wir empfehlen, mehrere Arten von Benachrichtigungskanälen zu erstellen. Weitere Informationen finden Sie unter Benachrichtigungskanäle erstellen und verwalten.

  3. Konfigurieren Sie ein privates Netzwerk und konfigurieren Sie eine VM oder einen ILB für den Zugriff auf dieses private Netzwerk. Weitere Informationen finden Sie unter Zugriff auf private Dienste.

    Private Prüfungen, die auf ILBs ausgerichtet sind, sind auf die Regionen mit Verfügbarkeitsprüfungen beschränkt. Die Region für Uptime-Prüfungen USA umfasst die Regionen USA_OREGON, USA_IOWA und USA_VIRGINIA. Jede der USA_*-Regionen hat einen Checker und USA umfasst alle drei. Die anderen Regionen für Uptime-Prüfungen, EUROPE, SOUTH_AMERICA und ASIA_PACIFIC, haben jeweils einen Checker. Wenn Sie diese Einschränkung aufheben möchten, müssen Sie den globalen Zugriff auf Ihren Load-Balancer konfigurieren. Weitere Informationen zum Konfigurieren des globalen Zugriffs finden Sie auf dem Tab „ILB“ im Abschnitt Service Directory-Ressourcen konfigurieren in diesem Dokument.

    Wenn Sie einen ILB prüfen möchten, der keinen globalen Zugriff zulässt, wählen Sie eine der folgenden Regionen für Ihren ILB aus:

    • us-east4
    • us-central1
    • us-west1
    • europe-west1
    • southamerica-east1
    • asia-southeast1
  4. Entscheiden Sie, welche Schnittstelle Sie verwenden möchten:

    • Google Cloud console: Hiermit können Sie eine Verfügbarkeitsdiagnose erstellen, wenn eine VM Anfragen verarbeitet. Diese Benutzeroberfläche führt Sie durch die Konfiguration von Service Directory-Ressourcen, die Autorisierung des Dienstkontos und die Konfiguration der Netzwerk-Firewallregeln.

    • Befehlszeilenschnittstellen: Sie können die Google Cloud CLI und die Cloud Monitoring API verwenden, um private Verfügbarkeitsdiagnosen zu erstellen, wenn ILBs und VMs Anfragen bearbeiten.

  5. Wenn Sie die Befehlszeile zum Konfigurieren Ihrer privaten Verfügbarkeitsdiagnosen verwenden möchten, führen Sie die Voraussetzungen aus.

Private Verfügbarkeitsdiagnose erstellen

In diesem Abschnitt wird beschrieben, wie Sie private Verfügbarkeitsdiagnosen für Service Directory-Dienste erstellen und konfigurieren:

  • Wenn Sie die Google Cloud Console verwenden möchten, wählen Sie den Tab Console aus.

  • Wenn Sie die Cloud Monitoring API verwenden und den Service Directory-Dienst so konfigurieren möchten, dass er sich im selben Google Cloud Projekt wie der Uptime-Check befindet, wählen Sie den Tab gcloud: Scoping project aus.

  • Wenn Sie die Cloud Monitoring API verwenden und den Service Directory-Dienst so konfigurieren möchten, dass er sich in einem Projekt befindet, das vom Messwertbereich des Projekts des Uptime-Checks überwacht wird, wählen Sie den Tab gcloud: Monitored project aus.

Console

So erstellen Sie eine Verfügbarkeitsdiagnose mithilfe der Google Cloud Console:

  1. Rufen Sie in der Google Cloud Console die Seite Verfügbarkeitsdiagnosen  auf:

    Verfügbarkeitsdiagnosen aufrufen

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.

  2. Wählen Sie in der Symbolleiste der Google Cloud Console Ihr Google Cloud -Projekt aus. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt aus.
  3. Klicken Sie auf Verfügbarkeitsdiagnose erstellen.

    Dialogfeld zum Erstellen einer Verfügbarkeitsdiagnose

  4. So geben Sie eine private Verfügbarkeitsdiagnose an:

    1. Wählen Sie das Protokoll aus, das HTTP, HTTPS oder TCP sein kann.

    2. Wählen Sie den Ressourcentyp interne IP-Adresse aus.

  5. Wenn Sie für Ihr Projekt keinen Service Directory-Dienst konfiguriert haben oder einen Service Directory-Dienst erstellen möchten, klicken Sie auf Anzeigen und füllen Sie den Bereich Voraussetzungen für private Verfügbarkeitsdiagnosen aus:

    1. Aktivieren Sie bei der entsprechenden Aufforderung die Compute Engine API oder die Service Directory API. Die Aktivierung der APIs kann bis zu einer Minute dauern.

    2. Maximieren Sie Dienstkonto, falls angezeigt, und klicken Sie dann auf Dienstkonto erstellen.

      Wenn kein Monitoring-Dienstkonto vorhanden ist, wird eines erstellt. Monitoring weist dem Dienstkonto dann zwei Service Directory-Rollen zu.

    3. Maximieren Sie das Menü  Service Directory und gehen Sie dann so vor:

      1. Maximieren Sie Region und wählen Sie dann die Region der VM aus, die Anfragen verarbeitet.
      2. Maximieren Sie Namespace und wählen Sie entweder einen vorhandenen Service Directory-Namespace aus oder klicken Sie auf Namespace erstellen, um einen Namespace zu erstellen.
      3. Klicken Sie auf Dienstname und geben Sie einen Dienstnamen ein. Dienste sind die Ziele privater Verfügbarkeitsdiagnosen.
      4. Klicken Sie auf Endpunktname und geben Sie einen Namen für den Endpunkt ein. Ein Endpunkt ist ein Paar aus IP-Adresse und Portwerten, das ein Dienst zum Verarbeiten von Anfragen verwenden kann. Wenn Ihr Dienst mehrere Endpunkte enthält, wird einer nach dem Zufallsprinzip ausgewählt.
      5. Maximieren Sie Netzwerk und wählen Sie dann Ihr privates Netzwerk aus.
      6. Maximieren Sie Instanz und wählen Sie dann die VM im privaten Netzwerk aus, die Anfragen verarbeitet. Nachdem Sie die Instanz ausgewählt haben, wird ihre interne IP-Adresse angezeigt.
      7. Klicken Sie auf Fertig.
    4. Maximieren Sie  Firewallregeln:

      1. Maximieren Sie  Netzwerk und wählen Sie das Netzwerk aus, an das die Netzwerkregel angehängt ist.

      2. Klicken Sie auf Firewallregeln erstellen.

        Die Firewallregel ermöglicht eingehenden TCP-Traffic von Routen 35.199.192.0/19. Eine Route von 35.199.192.0/19 unterstützt Verbindungen zu Weiterleitungszielen mit privatem Routing. Weitere Informationen finden Sie unter VPC-Routen.

  6. Geben Sie im Bereich Private Verfügbarkeitsdiagnose den zu verwendenden Service Directory-Dienst an. Gehen Sie dazu so vor:

    • Wählen Sie Voll qualifizierten Dienstnamen verwenden aus und geben Sie den vollständig qualifizierten Namen des Dienstes ein:

      projects/SERVICE_DIRECTORY_PROJECT_ID/locations/REGION/namespaces/PRIVATE_NAMESPACE/services/PRIVATE_SERVICE
      
    • Wählen Sie die Region, den Namespace und den Dienst über die Menüs aus. Wenn Sie einen Dienst erstellt haben, sind diese Felder für Sie ausgewählt.

  7. Geben Sie im Bereich Private Verfügbarkeitsdiagnose eine Beschreibung des Ziels der Verfügbarkeitsdiagnose ein:

    1. Optional: Geben Sie eine Pfadkomponente für die Anfrage ein.

      Bei privaten Verfügbarkeitsdiagnosen, die das HTTP- oder HTTPS-Protokoll verwenden, wird eine Anfrage an http://target/path gesendet. In diesem Ausdruck ist target die interne IP-Adresse, die im Service Directory-Endpunkt konfiguriert ist.

      Wenn Sie das Feld Pfad leer lassen oder den Wert auf / festlegen, wird die Anfrage an http://target/ gesendet.

    2. Optional: Wenn Sie festlegen möchten, wie oft die Verfügbarkeitsdiagnose ausgeführt wird, verwenden Sie das Feld Diagnosehäufigkeit.

    3. Optional: Wenn Sie Prüfregionen auswählen oder die Authentifizierung, Header für HTTP- und HTTPS-Prüfungen und andere Werte konfigurieren möchten, klicken Sie auf Weitere Zieloptionen:

      • Regionen: Wählen Sie die Regionen aus, in denen die Verfügbarkeitsdiagnosen Anfragen erhalten sollen. Für eine Uptime-Prüfung müssen mindestens drei Prüfer vorhanden sein. In allen Regionen außer den USA gibt es einen Prüfer. In den USA gibt es drei Prüfer. Die Standardeinstellung Global umfasst alle Regionen.
      • Anfragemethode: Wählen Sie GET oder POST aus.
      • Body: Geben Sie für HTTP-POST-Prüfungen den URL-codierten Body ein. Die Codierung muss manuell erfolgen. Lassen Sie dieses Feld für alle anderen Prüfungen leer.
      • Host-Header: Legen Sie dieses Feld nicht fest, wenn Sie private Verfügbarkeitsdiagnosen konfigurieren.
      • Port: Jeder hier festgelegte Wert überschreibt den Port in der Service Directory-Endpunktkonfiguration. Legen Sie hier keinen Wert fest, wenn die Endpunktkonfiguration verwendet werden soll.
      • Benutzerdefinierte Header: Sie können benutzerdefinierte Header angeben und sie optional verschlüsseln. Durch die Verschlüsselung werden die Werte in der Kopfzeile im Formular ausgeblendet. Verwenden Sie die Verschlüsselung für Header im Zusammenhang mit der Authentifizierung, die für andere nicht sichtbar sein sollen.
      • Authentication (Authentifizierung): Geben Sie einen Nutzernamen und ein Passwort an. Diese Werte werden als Autorisierungsheader gesendet. Wenn Sie hier Werte festlegen, geben Sie keinen Autorisierungsheader an. Wenn Sie hingegen einen Autorisierungsheader angeben, legen Sie hier keine Werte fest. Passwörter werden im Formular immer ausgeblendet.
  8. Klicken Sie auf Weiter und konfigurieren Sie die Anforderungen an die Antwort. Alle Einstellungen in diesem Abschnitt haben Standardwerte:

    • Verwenden Sie das Feld Zeitüberschreitung bei Antwort, um einen Zeitraum für die Zeitüberschreitung bei der Verfügbarkeitsdiagnose festzulegen. Eine Verfügbarkeitsdiagnose schlägt fehl, wenn innerhalb dieses Zeitraums von mehr als einem Standort keine Antwort empfangen wird.

    • Wenn Sie die Verfügbarkeitsdiagnose so konfigurieren möchten, dass ein Inhaltsabgleich durchgeführt wird, muss die Ein/Aus-Schaltfläche mit Inhaltsabgleich ist aktiviert beschriftet sein:

      • Wählen Sie im Menü mit den Optionen den Typ für den Abgleich von Antwortinhalten aus. Dieses Feld bestimmt, wie der Antwortinhalt mit den zurückgegebenen Daten verglichen wird. Angenommen, der Antwortinhalt ist abcd und der Übereinstimmungstyp für den Inhalt ist Enthält. Die Verfügbarkeitsdiagnose ist nur erfolgreich, wenn die Antwortdaten abcd enthalten. Weitere Informationen finden Sie unter Antwortdaten validieren.
      • Geben Sie den Antwortinhalt ein. Der Antwortinhalt muss ein String mit einer Länge von maximal 1.024 Byte sein. In der API ist dieses Feld das ContentMatcher-Objekt.
    • Wenn Sie verhindern möchten, dass aufgrund von Verfügbarkeitsdiagnosen Logeinträge erstellt werden, deaktivieren Sie Logprüffehler.

    • Konfigurieren Sie für die HTTP-Verfügbarkeitsdiagnosen die zulässigen Antwortcodes. Standardmäßig werden bei HTTP-Verfügbarkeitsdiagnosen alle 2xx-Antworten als erfolgreiche Antworten gekennzeichnet.

  9. Klicken Sie auf Weiter und konfigurieren Sie Benachrichtigungsrichtlinien und Benachrichtigungen.

    Wenn Sie benachrichtigt werden möchten, wenn eine Verfügbarkeitsdiagnose fehlschlägt, erstellen Sie eine Benachrichtigungsrichtlinie und konfigurieren Sie Benachrichtigungskanäle für diese Richtlinie:

    1. Optional: Aktualisieren Sie den Namen der Benachrichtigungsrichtlinie.
    2. Optional: Wählen Sie im Feld Dauer aus, wie lange die Verfügbarkeitsdiagnosen fehlschlagen müssen, bevor Benachrichtigungen gesendet werden. Standardmäßig werden Benachrichtigungen gesendet, wenn in mindestens zwei Regionen Verfügbarkeitsdiagnosen für mindestens eine Minute fehlschlagen.
    3. Maximieren Sie im Feld Benachrichtigungskanäle das Menü, wählen Sie die hinzuzufügenden Kanäle aus und klicken Sie auf OK.

      Im Menü sind die Benachrichtigungskanäle für jeden Kanaltyp alphabetisch gruppiert.

    Wenn Sie keine Benachrichtigungsrichtlinie erstellen möchten, muss der Schalter neben dem Button Keine Benachrichtigung erstellen lauten.

  10. Klicken Sie auf Weiter und führen Sie die Uptime-Prüfung durch:

    1. Geben Sie einen aussagekräftigen Titel für die Verfügbarkeitsdiagnose ein.

    2. Optional: So fügen Sie Ihrem Uptime-Check benutzerdefinierte Labels hinzu:

      1. Klicken Sie auf  Nutzerlabels einblenden.
      2. Geben Sie im Feld Schlüssel einen Namen für das Label ein. Labelnamen müssen mit einem Kleinbuchstaben beginnen und dürfen Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten. Geben Sie beispielsweise severity ein.
      3. Geben Sie im Feld Wert einen Wert für das Label ein. Labelwerte dürfen Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten. Geben Sie beispielsweise critical ein.
      4. Klicken Sie für jedes zusätzliche Label auf Nutzerlabel hinzufügen und geben Sie dann den Schlüssel und den Wert des Labels ein.
    3. Klicken Sie auf Test (Testen), um die Konfiguration der Verfügbarkeitsdiagnose zu prüfen. Wenn das Ergebnis nicht Ihren Erwartungen entspricht, lesen Sie den Abschnitt Fehlerbehebung, korrigieren Sie Ihre Konfiguration und wiederholen Sie dann den Überprüfungsschritt.

    4. Klicken Sie auf Erstellen.

gcloud: Umfang festlegendes Projekt

Um die Konfiguration für eine private Verfügbarkeitsdiagnose zu erstellen, erstellen Sie ein UptimeCheckConfig-Objekt und übergeben es an die Methode uptimeCheckConfigs.create in der Cloud Monitoring API.

Das UptimeCheckConfig-Objekt für eine private Verfügbarkeitsdiagnose unterscheidet sich in folgenden Punkten vom Objekt für eine öffentliche Verfügbarkeitsdiagnose:

  • Die in der Uptime-Check-Konfiguration angegebene überwachte Ressource muss vom Typ servicedirectory_service sein. Dieser Ressourcentyp hat die folgenden Labels:
    • project_id: Die Projekt-ID, die dem Service Directory-Dienst zugeordnet ist.
    • location: Die Cloud-Region, die dem Dienst zugeordnet ist.
    • namespace_name: Der Service Directory-Namespace.
    • service_name: Der Name des Service Directory-Dienstes.

  • Sie müssen in der Konfiguration für Uptime-Checks keinen port-Wert angeben. Der Portwert aus dem Service Directory-Endpunkt überschreibt jeden in der Konfiguration der Uptime-Prüfung festgelegten Wert. Die Prüfung schlägt fehl, wenn in der Service Directory-Konfiguration kein Port angegeben ist.
  • In der Konfiguration der Verfügbarkeitsdiagnose muss das Feld checker_type mit dem Wert VPC_CHECKERS angegeben werden. Dieser Wert ist für private Verfügbarkeitsdiagnosen erforderlich. Verfügbarkeitsdiagnosen sind standardmäßig öffentlich. Bei öffentlichen Verfügbarkeitsdiagnosen muss dieses Feld daher nicht angegeben werden.

Der folgende JSON-Code zeigt ein UptimeCheckConfig-Objekt für eine private Verfügbarkeitsdiagnose mit den Service Directory-Ressourcen, die für eine VM-Instanz in einem privaten Netzwerk konfiguriert sind:

{
  "displayName": "private-check-demo",
  "monitoredResource": {
    "type": "servicedirectory_service",
    "labels": {
      "project_id": "SERVICE_DIRECTORY_PROJECT_ID",
      "service_name": "PRIVATE_SERVICE",
      "namespace_name": "PRIVATE_NAMESPACE",
      "location": "REGION"
    }
  },
  "httpCheck": {
    "requestMethod": "GET"
  },
  "period": "60s",
  "timeout": "10s",
  "checker_type": "VPC_CHECKERS"
}

So erstellen Sie eine private Verfügbarkeitsdiagnose, wenn sich der Service Directory-Dienst im selben Google Cloud Projekt wie die Verfügbarkeitsdiagnose befindet:

  1. Legen Sie das Standardprojekt Google Cloud für die gcloud CLI fest:

    gcloud config set project PROJECT_ID
    
  2. Erstellen Sie eine Umgebungsvariable zum Speichern Ihrer Projekt-ID:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
  3. Erstellen Sie eine Umgebungsvariable für ein Zugriffstoken:

    export TOKEN=`gcloud auth print-access-token`
    
  4. Verwenden Sie das curl-Tool, um die Methode uptimeCheckConfigs.create aufzurufen und ein Konfigurationsobjekt zu posten:

    curl https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/uptimeCheckConfigs \
    -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
    --request POST --data '{
    "displayName": "private-check-demo",
    "monitoredResource": {
      "type": "servicedirectory_service",
      "labels": {
        "project_id": "'"$PROJECT_ID"'",
        "service_name": "PRIVATE_SERVICE",
        "namespace_name": "PRIVATE_NAMESPACE",
        "location": "REGION"
      }
    },
    "httpCheck": {
      "requestMethod": "GET"
    },
    "period": "60s",
    "timeout": "10s",
    "checker_type": "VPC_CHECKERS"
    }'
    

Wenn die Erstellung der Verfügbarkeitsdiagnose fehlschlägt, prüfen Sie, ob das Dienstkonto die erforderlichen Rollen hat. Weitere Informationen finden Sie unter Fehler beim Erstellen von Verfügbarkeitsdiagnosen.

gcloud: Überwachtes Projekt

Um die Konfiguration für eine private Verfügbarkeitsdiagnose zu erstellen, erstellen Sie ein UptimeCheckConfig-Objekt und übergeben es an die Methode uptimeCheckConfigs.create in der Cloud Monitoring API.

Das UptimeCheckConfig-Objekt für eine private Verfügbarkeitsdiagnose unterscheidet sich in folgenden Punkten vom Objekt für eine öffentliche Verfügbarkeitsdiagnose:

  • Die in der Uptime-Check-Konfiguration angegebene überwachte Ressource muss vom Typ servicedirectory_service sein. Dieser Ressourcentyp hat die folgenden Labels:
    • project_id: Die Projekt-ID, die dem Service Directory-Dienst zugeordnet ist.
    • location: Die Cloud-Region, die dem Dienst zugeordnet ist.
    • namespace_name: Der Service Directory-Namespace.
    • service_name: Der Name des Service Directory-Dienstes.

  • Sie müssen in der Konfiguration für Uptime-Checks keinen port-Wert angeben. Der Portwert aus dem Service Directory-Endpunkt überschreibt jeden in der Konfiguration der Uptime-Prüfung festgelegten Wert. Die Prüfung schlägt fehl, wenn in der Service Directory-Konfiguration kein Port angegeben ist.
  • In der Konfiguration der Verfügbarkeitsdiagnose muss das Feld checker_type mit dem Wert VPC_CHECKERS angegeben werden. Dieser Wert ist für private Verfügbarkeitsdiagnosen erforderlich. Verfügbarkeitsdiagnosen sind standardmäßig öffentlich. Bei öffentlichen Verfügbarkeitsdiagnosen muss dieses Feld daher nicht angegeben werden.

Der folgende JSON-Code zeigt ein UptimeCheckConfig-Objekt für eine private Verfügbarkeitsdiagnose mit den Service Directory-Ressourcen, die für eine VM-Instanz in einem privaten Netzwerk konfiguriert sind:

{
  "displayName": "private-check-demo",
  "monitoredResource": {
    "type": "servicedirectory_service",
    "labels": {
      "project_id": "SERVICE_DIRECTORY_PROJECT_ID",
      "service_name": "PRIVATE_SERVICE",
      "namespace_name": "PRIVATE_NAMESPACE",
      "location": "REGION"
    }
  },
  "httpCheck": {
    "requestMethod": "GET"
  },
  "period": "60s",
  "timeout": "10s",
  "checker_type": "VPC_CHECKERS"
}

So erstellen Sie eine private Verfügbarkeitsdiagnose, wenn sich der Service Directory-Dienst in einem Google Cloud -Projekt befindet, das vom Messwertbereich desGoogle Cloud -Projekts der Verfügbarkeitsdiagnose überwacht wird:

  1. Konfigurieren Sie die gcloud CLI so, dass standardmäßig das Projekt Google Cloud verwendet wird, in dem der Uptime-Check erstellt werden soll:

    gcloud config set project PROJECT_ID
    
  2. Erstellen Sie eine Umgebungsvariable zum Speichern Ihrer Projekt-ID:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
  3. Erstellen Sie eine Umgebungsvariable zum Speichern der Projekt-ID desGoogle Cloud -Projekts, in dem der Service Directory-Dienst definiert ist:

    export MONITORED_PROJECT_ID=MONITORED_PROJECT_ID
    

    Dieses Projekt muss sich im Messwertbereich des Projekts des Uptime-Checks befinden.

  4. Erstellen Sie eine Umgebungsvariable für ein Zugriffstoken:

    export TOKEN=`gcloud auth print-access-token`
    
  5. Verwenden Sie das curl-Tool, um die Methode uptimeCheckConfigs.create aufzurufen und ein Konfigurationsobjekt zu posten:

    curl https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/uptimeCheckConfigs \
    -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
    --request POST --data '{
    "displayName": "private-check-demo",
    "monitoredResource": {
      "type": "servicedirectory_service",
      "labels": {
        "project_id": "'"$MONITORED_PROJECT_ID"'",
        "service_name": "PRIVATE_SERVICE",
        "namespace_name": "PRIVATE_NAMESPACE",
        "location": "REGION"
      }
    },
    "httpCheck": {
      "requestMethod": "GET"
    },
    "period": "60s",
    "timeout": "10s",
    "checker_type": "VPC_CHECKERS"
    }'
    

Wenn die Erstellung der Verfügbarkeitsdiagnose fehlschlägt, prüfen Sie, ob das Dienstkonto die erforderlichen Rollen hat. Weitere Informationen finden Sie unter Fehler beim Erstellen von Verfügbarkeitsdiagnosen.

Es kann bis zu 5 Minuten dauern, bis die Ergebnisse der Verfügbarkeitsdiagnose bei Monitoring eintreffen. Bis dahin meldet das Verfügbarkeitsdiagnose-Dashboard als Status "no data available" (Keine Daten verfügbar).

Erforderliche Schritte

Wenn Sie die Google Cloud Console-Oberfläche verwenden möchten, lesen Sie den Abschnitt Private Verfügbarkeitsdiagnose erstellen. DieGoogle Cloud -Konsole führt Sie durch alle erforderlichen Schritte.

Wenn Sie die Befehlszeile verwenden möchten, um Ihre privaten Verfügbarkeitsdiagnosen zu konfigurieren, müssen Sie die folgenden Schritte ausführen, bevor Sie die Verfügbarkeitsdiagnose erstellen können:

  1. Service Directory-Ressourcen konfigurieren
  2. Dienstkonto autorisieren
  3. Firewallregeln konfigurieren

Service Directory-Ressourcen konfigurieren

Bei privaten Verfügbarkeitsdiagnosen wird die Verfügbarkeit einer Ressource anhand einer internen IP-Adresse ermittelt, die von einem Service Directory-Dienst aufgezeichnet wird. Sie können einen Service Directory-Dienst für die folgenden Ressourcen konfigurieren:

  • VMs in einem privaten Netzwerk
  • Interne L4-Load-Balancer (ILBs)

Wenn Sie private Verfügbarkeitsdiagnosen verwenden möchten, müssen Sie die folgenden Service Directory-Ressourcen konfigurieren:

  • Endpunkt: Ein Endpunkt ist ein Paar aus IP-Adresse und Portwerten, das ein Dienst zum Verarbeiten von Anfragen verwenden kann. Wenn Ihr Dienst mehrere Endpunkte enthält, wird einer nach dem Zufallsprinzip ausgewählt.
  • Dienst: Ein Dienst ist eine Sammlung von Endpunkten, die eine Reihe von Verhaltensweisen bereitstellen. Dienste sind die Ziele privater Verfügbarkeitsdiagnosen.
  • Namespace: Ein Namespace enthält eine Reihe von Dienstnamen und die zugehörigen Endpunkte. Mit Namespaces können Sie Dienste für eine einheitliche Verwaltung gruppieren.

Sie können diese Ressourcen mit der gcloud CLI oder derGoogle Cloud Console konfigurieren. Wenn Sie die Console verwenden, sind die Konfigurationsschritte im Dialogfeld Verfügbarkeitsdiagnose erstellen enthalten.

Console

Wenn Sie die Google Cloud -Konsole verwenden, werden Sie nach der Auswahl von interne IP-Adresse als Ressourcentyp für eine Verfügbarkeitsdiagnose aufgefordert, einen Service Directory-Namespace und einen Dienst zu erstellen.

gcloud: VM

Informationen zu den in diesem Dokument verwendeten Befehlen für Dienste, Namespaces und Endpunkte finden Sie in der Befehlsgruppe gcloud service-directory.

So erstellen Sie Service Directory-Ressourcen für eine VM:

  1. Konfigurieren Sie die Google Cloud CLI so, dass standardmäßig das Projekt Google Cloud verwendet wird, in dem die Service Directory-Ressourcen erstellt werden sollen:

    gcloud config set project PROJECT_ID
    
  2. Erstellen Sie Umgebungsvariablen zum Speichern Ihrer Projekt-ID und Projektnummer:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
    export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='get(projectNumber)')
    
  3. Service Directory-Namespace erstellen:

    gcloud service-directory namespaces create PRIVATE_NAMESPACE --location=REGION
    
  4. Erstellen Sie einen Service Directory-Dienst im Namespace:

    gcloud service-directory services create PRIVATE_SERVICE \
    --namespace PRIVATE_NAMESPACE --location=REGION
    
  5. Erstellen Sie eine Umgebungsvariable, die die IP-Adresse der VM im privaten Netzwerk enthält:

    export INTERNAL_IP=$(gcloud compute instances describe --zone=ZONE \
    PRIVATE_SERVICE_INSTANCE --format='get(networkInterfaces[0].networkIP)')
    
  6. Erstellen Sie einen Service Directory-Endpunkt, der die interne IP-Adresse und einen Port enthält:

    gcloud service-directory endpoints create PRIVATE_ENDPOINT \
    --location=REGION --namespace=PRIVATE_NAMESPACE \
    --service=PRIVATE_SERVICE \
    --network=projects/$PROJECT_NUMBER/locations/global/networks/PRIVATE_CHECK_NETWORK \
    --address=$INTERNAL_IP --port=80
    

gcloud: L4 ILB

Informationen zu den in diesem Dokument verwendeten Befehlen für Dienste, Namespaces und Endpunkte finden Sie in der Befehlsgruppe gcloud service-directory.

Sie können private Verfügbarkeitsdiagnosen verwenden, um die Verfügbarkeit eines internen L4-Load-Balancers (ILB) zu überwachen. Dazu erstellen Sie Service Directory-Ressourcen für den L4-ILB.

Wenn Sie neue interne L4-Load-Balancer erstellen, können Sie die automatische Integration von Service Directory verwenden. Weitere Informationen finden Sie unter Interne Load-Balancer in Service Directory konfigurieren.

Wenn Sie L4-ILBs haben, die ohne die automatische Integration von Service Directory erstellt wurden, können Sie die Service Directory-Ressourcen manuell konfigurieren. Gehen Sie dazu so vor:

  1. Konfigurieren Sie die Google Cloud CLI so, dass standardmäßig das Projekt Google Cloud verwendet wird, in dem die Service Directory-Ressourcen erstellt werden sollen:

    gcloud config set project PROJECT_ID
    
  2. Erstellen Sie Umgebungsvariablen zum Speichern Ihrer Projekt-ID und Projektnummer:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
    export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='get(projectNumber)')
    
  3. Damit alle Verfügbarkeitsprüfungen Daten an Ihren L4-ILB übertragen können, aktivieren Sie den globalen Zugriff auf den ILB:

    gcloud compute forwarding-rules update ILB_FORWARDING_RULE_NAME \
    --region=ILB_REGION --allow-global-access
    

    Wenn Ihr ILB der Ebene 4 keinen globalen Zugriff zulässt, sind Uptime-Messwerte nur verfügbar, wenn ILB_REGION eine der folgenden Optionen ist:

    • us-east4
    • us-central1
    • us-west1
    • europe-west1
    • southamerica-east1
    • asia-southeast1
  4. Service Directory-Namespace erstellen:

    gcloud service-directory namespaces create PRIVATE_NAMESPACE_FOR_ILB\
    --location=REGION
    
  5. Erstellen Sie einen Service Directory-Dienst im Namespace:

    gcloud service-directory services create PRIVATE_SERVICE_FOR_ILB \
    --namespace PRIVATE_NAMESPACE_FOR_ILB --location=REGION
    
  6. Erstellen Sie eine Umgebungsvariable, die die IP-Adresse des Load Balancers im privaten Netzwerk enthält:

    export INTERNAL_IP=$( gcloud compute forwarding-rules describe ILB_FORWARDING_RULE_NAME\
    --region=ILB_REGION --format='get(IPAddress)')
    
  7. Erstellen Sie einen Service Directory-Endpunkt, der die interne IP-Adresse und einen Port enthält:

    gcloud service-directory endpoints create PRIVATE_ENDPOINT_FOR_ILB \
    --location=ILB_REGION --namespace=PRIVATE_NAMESPACE_FOR_ILB \
    --service=PRIVATE_SERVICE_FOR_ILB \
    --network=projects/$PROJECT_NUMBER/locations/global/networks/PRIVATE_CHECK_NETWORK \
    --address=$INTERNAL_IP --port=80
    

Dienstkonto autorisieren

Für Verfügbarkeitsdiagnosen wird ein Dienstkonto verwendet, das zu Monitoring gehört, um Interaktionen mit dem Service Directory-Dienst zu verwalten. Der Name des Dienstkontos hat das folgende Format:

service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com

Wenn dieses Dienstkonto nicht vorhanden ist, wird es von Monitoring erstellt, wenn Sie die private Verfügbarkeitsdiagnose erstellen. Sie können dieses Dienstkonto nicht erstellen.

Wenn Sie eine private Verfügbarkeitsdiagnose erstellen, versucht Monitoring, dem Dienstkonto zwei Service Directory-Rollen zuzuweisen. Wenn Sie die API verwenden, verhindern die Google Cloud Projekteinstellungen möglicherweise, dass Monitoring dem Dienstkonto Rollen zuweist. In diesem Fall schlägt die Erstellung der Verfügbarkeitsdiagnose fehl.

In diesem Abschnitt wird beschrieben, wie Sie einem vorhandenen Dienstkonto die erforderlichen Rollen zuweisen:

Console

Wenn Sie die Google Cloud -Konsole verwenden, werden Sie nach der Auswahl von Interne IP-Adresse als Ressourcentyp für eine Verfügbarkeitsdiagnose aufgefordert, das Dienstkonto zu autorisieren.

gcloud: Umfang festlegendes Projekt

So weisen Sie einem vorhandenen Dienstkonto die Service Directory-Rollen zu:

  1. Konfigurieren Sie die gcloud CLI so, dass standardmäßig das Projekt Google Cloud verwendet wird, in dem der Uptime-Check erstellt werden soll:

    gcloud config set project PROJECT_ID
    
  2. Erstellen Sie Umgebungsvariablen zum Speichern der Projekt-ID und der Projektnummer:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
    export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='get(projectNumber)')
    
  3. Führen Sie folgende Befehle aus:

    gcloud projects add-iam-policy-binding $PROJECT_ID \
    --member='serviceAccount:service-'$PROJECT_NUMBER'@gcp-sa-monitoring-notification.iam.gserviceaccount.com' \
    --role='roles/servicedirectory.viewer'
    
    gcloud projects add-iam-policy-binding $PROJECT_ID \
    --member='serviceAccount:service-'$PROJECT_NUMBER'@gcp-sa-monitoring-notification.iam.gserviceaccount.com' \
    --role='roles/servicedirectory.pscAuthorizedService'
    

    Mit den vorherigen Befehlen werden dem Dienstkonto die folgenden Rollen zugewiesen:

    • roles/servicedirectory.viewer
    • roles/servicedirectory.pscAuthorizedService

gcloud: Überwachtes Projekt

So weisen Sie einem vorhandenen Dienstkonto die Service Directory-Rollen zu:

  1. Konfigurieren Sie die gcloud CLI so, dass standardmäßig das Projekt Google Cloud verwendet wird, in dem der Uptime-Check erstellt werden soll:

    gcloud config set project PROJECT_ID
    
  2. Erstellen Sie Umgebungsvariablen zum Speichern der Projekt-ID und der Projektnummer:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
    export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='get(projectNumber)')
    
  3. Erstellen Sie eine Umgebungsvariable, die die Projekt-ID des Projekts enthält, in dem der Service Directory-Dienst definiert ist:

    export MONITORED_PROJECT_ID=MONITORED_PROJECT_ID
    

    Dieses Projekt muss sich im Messwertbereich des Projekts des Uptime-Checks befinden.

  4. Erstellen Sie eine Umgebungsvariable, die die Projekt-ID des Projekts enthält, in dem das Netzwerk definiert ist:

    export NETWORK_PROJECT_ID=NETWORK_PROJECT_ID
    

    Dieses Projekt muss nicht im Messwertbereich des Projekts für den Uptime-Check enthalten sein.

  5. Führen Sie folgende Befehle aus:

    gcloud projects add-iam-policy-binding $MONITORED_PROJECT_ID \
    --member='serviceAccount:service-'$PROJECT_NUMBER'@gcp-sa-monitoring-notification.iam.gserviceaccount.com' \
    --role='roles/servicedirectory.viewer'
    
    gcloud projects add-iam-policy-binding $NETWORK_PROJECT_ID \
    --member='serviceAccount:service-'$PROJECT_NUMBER'@gcp-sa-monitoring-notification.iam.gserviceaccount.com' \
    --role='roles/servicedirectory.pscAuthorizedService'
    

    Mit den vorherigen Befehlen werden dem Dienstkonto die folgenden Rollen zugewiesen:

    • roles/servicedirectory.viewer für das überwachte Projekt, in dem der Service Directory-Dienst konfiguriert ist, $MONITORED_PROJECT_ID.
    • roles/servicedirectory.pscAuthorizedService für das Projekt, in dem das private Netzwerk konfiguriert ist, $NETWORK_PROJECT_ID.

Firewallregeln konfigurieren

Sie müssen eine Firewallregel erstellen, die eingehenden TCP-Traffic von Routen 35.199.192.0/19 zulässt. Eine Route von 35.199.192.0/19 unterstützt Verbindungen zu Weiterleitungszielen, die privates Routing verwenden. Weitere Informationen finden Sie unter VPC-Routen.

Console

Wenn Sie die Google Cloud -Konsole verwenden, werden Sie nach der Auswahl von interne IP-Adresse als Ressourcentyp für eine Verfügbarkeitsdiagnose aufgefordert, die Firewallregeln zu konfigurieren.

gcloud

Führen Sie den folgenden Befehl aus, um eine Firewallregel zu erstellen, die eingehenden TCP-Traffic über die Firewall für privaten Netzwerkzugriff zulässt:

  1. Konfigurieren Sie die gcloud CLI so, dass standardmäßig das Projekt Google Cloud verwendet wird, in dem der Uptime-Check erstellt werden soll:

    gcloud config set project PROJECT_ID
    
  2. Erstellen Sie Umgebungsvariablen zum Speichern der Projekt-ID und der Projektnummer:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
  3. Netzwerkregel erstellen:

    gcloud compute firewall-rules create PRIVATE_CHECK_NETWORK_HOPE_RULE \
    --network="PRIVATE_CHECK_NETWORK"  \
    --action=allow   --direction=ingress   --source-ranges="35.199.192.0/19" \
    --rules=tcp   --project="$PROJECT_ID"
    

    Im vorherigen Befehl ist PRIVATE_CHECK_NETWORK das Netzwerk, an das diese Regel angehängt ist, und PRIVATE_CHECK_NETWORK_HOPE_RULE der Name der Firewallregel.

Weitere Informationen zu diesem Schritt finden Sie unter Netzwerkprojekt konfigurieren.

Beschränkungen

Bei privaten Verfügbarkeitsdiagnosen ist die Validierung von SSL-Zertifikaten unabhängig von der Konfiguration deaktiviert.

Private Verfügbarkeitsdiagnosen unterstützen keine Endpunkte mit Weiterleitungen.

Fehlerbehebung

In diesem Abschnitt werden einige Fehler beschrieben, die bei der Verwendung privater Verfügbarkeitsdiagnosen auftreten können, sowie Informationen zur Fehlerbehebung.

Erstellung der Verfügbarkeitsdiagnose schlägt fehl

Die Google Cloud Projekteinstellungen verhindern möglicherweise, dass die Rollen geändert werden, die dem Dienstkonto zugewiesen sind, das für die Verwaltung von Interaktionen mit dem Service Directory-Dienst verwendet wird. In diesem Fall schlägt die Erstellung der Verfügbarkeitsdiagnose fehl.

In diesem Abschnitt wird beschrieben, wie Sie die Rollen zuweisen, die das Dienstkonto benötigt:

Console

Wenn Sie die Google Cloud Console verwenden, um die private Verfügbarkeitsdiagnose zu erstellen, werden in der Google Cloud Console die Befehle zum Zuweisen der Service Directory-Rollen an das Dienstkonto ausgegeben.

Informationen zum Zuweisen von Rollen zu einem Dienstkonto finden Sie unter Dienstkonto autorisieren.

gcloud: Umfang festlegendes Projekt

Wenn Sie zum ersten Mal eine private Uptime-Prüfung für einen Service Directory-Dienst und private Ressourcen in einem einzelnen Google Cloud Projekt erstellen, kann die Anfrage erfolgreich sein oder fehlschlagen. Das Ergebnis hängt davon ab, ob Sie automatische Rollenzuweisungen für Dienstkonten in Ihrem Projekt deaktiviert haben:

  • Die erste Erstellung eines Uptime-Checks ist erfolgreich, wenn in Ihrem Projekt automatische Rollenzuweisungen für Dienstkonten zulässig sind. Für Sie wird ein Dienstkonto erstellt, dem die erforderlichen Rollen zugewiesen werden.

  • Das Erstellen des ersten Uptime-Checks schlägt fehl, wenn in Ihrem Projekt keine automatischen Rollenzuweisungen für Dienstkonten zulässig sind. Ein Dienstkonto wird erstellt, aber es werden keine Rollen zugewiesen.

Wenn die Erstellung der Verfügbarkeitsdiagnose fehlschlägt, gehen Sie so vor:

  1. Dienstkonto autorisieren
  2. Es kann einige Minuten dauern, bis die Berechtigungen übernommen werden.
  3. Versuchen Sie noch einmal, die private Verfügbarkeitsdiagnose zu erstellen.

gcloud: Überwachtes Projekt

Wenn Sie zum ersten Mal einen privaten Uptime-Check erstellen, der auf einen Service Directory-Dienst in einem überwachten Projekt oder auf private Ressourcen in einem anderen Google Cloud Projekt ausgerichtet ist, schlägt die Anfrage fehl und es wird ein Monitoring-Dienstkonto erstellt.

Wie Sie das Dienstkonto autorisieren, hängt von der Anzahl derGoogle Cloud -Projekte ab, die Sie verwenden, und von ihren Beziehungen. Möglicherweise sind bis zu vier Projekte beteiligt:

  • Das Projekt, in dem Sie die private Verfügbarkeitsdiagnose definiert haben.
  • Das überwachte Projekt, in dem Sie den Service Directory-Dienst konfiguriert haben.
  • Das Projekt, in dem Sie das VPC-Netzwerk konfiguriert haben.
  • Das Projekt, in dem Netzwerkressourcen wie VMs oder Load-Balancer konfiguriert sind. Dieses Projekt spielt bei der hier beschriebenen Dienstkontoautorisierung keine Rolle.

Wenn die Erstellung der ersten Verfügbarkeitsdiagnose fehlschlägt, gehen Sie so vor:

  1. Dienstkonto autorisieren
  2. Es kann einige Minuten dauern, bis die Berechtigungen übernommen werden.
  3. Versuchen Sie noch einmal, die private Verfügbarkeitsdiagnose zu erstellen.

Cloud Run-Dienst kann nicht als Ziel verwendet werden

Sie möchten einen Cloud Run-Dienst mit einer privaten Uptime-Prüfung als Ziel festlegen, aber ein Cloud Run-Dienst hat keine IPv4-Adresse in einem VPC-Netzwerk des Kunden, die Sie als Service Directory-Endpunkt registrieren können.

Wenn Sie einen Cloud Run-Dienst mit einer privaten Uptime-Prüfung als Ziel verwenden möchten, konfigurieren Sie einen internen Application Load Balancer mit einem serverlosen NEG-Backend und registrieren Sie die interne IP-Adresse des Load Balancers in Service Directory. Ein Beispiel für das Einrichten des Load Balancers finden Sie unter Regionalen internen Application Load Balancer mit Cloud Run einrichten.

Zugriff verweigert

Ihre Verfügbarkeitsdiagnosen schlagen mit VPC_ACCESS_DENIED-Ergebnissen fehl. Dieses Ergebnis bedeutet, dass ein Aspekt Ihrer Netzwerkkonfiguration oder der Dienstkontoautorisierung nicht korrekt ist.

Prüfen Sie die Autorisierung Ihres Dienstkontos für die Verwendung eines Bereichsprojekts oder eines überwachten Projekts, wie unter Fehler beim Erstellen von Uptime-Checks beschrieben.

Weitere Informationen zum Zugriff auf private Netzwerke finden Sie unter Netzwerkprojekt konfigurieren.

Anomale Ergebnisse von privaten Verfügbarkeitsdiagnosen

Sie haben einen Service Directory-Dienst mit mehreren VMs und Ihre Dienstkonfiguration enthält mehrere Endpunkte. Wenn Sie eine der VMs herunterfahren, wird in der Verfügbarkeitsdiagnose weiterhin „Erfolgreich“ angezeigt.

Wenn die Dienstkonfiguration mehrere Endpunkte enthält, wird einer zufällig ausgewählt. Wenn die VM, die mit dem ausgewählten Endpunkt verknüpft ist, ausgeführt wird, ist die Verfügbarkeitsdiagnose erfolgreich, auch wenn eine der VMs nicht verfügbar ist.

Standardheader

Ihre Verfügbarkeitsdiagnosen geben Fehler oder unerwartete Ergebnisse zurück. Das kann passieren, wenn Sie Standardheaderwerte überschrieben haben.

Wenn eine Anfrage für eine private Uptime-Prüfung an einen Zielendpunkt gesendet wird, enthält die Anfrage die folgenden Header und Werte:

Header Wert
HTTP_USER_AGENT GoogleStackdriverMonitoring-UptimeChecks(https://cloud.google.com/monitoring)
HTTP_CONNECTION keep-alive
HTTP_HOST IP-Adresse des Service Directory-Endpunkts
HTTP_ACCEPT_ENCODING gzip, deflate, br
CONTENT_LENGTH Berechnet aus Daten zur Verfügbarkeit POST

Wenn Sie versuchen, diese Werte zu überschreiben, kann Folgendes passieren:

  • Die Verfügbarkeitsdiagnose meldet Fehler.
  • Die Überschreibungswerte werden verworfen und durch die Werte in der Tabelle ersetzt.

Keine Daten sichtbar

Wenn sich Ihre Verfügbarkeitsdiagnose in einem anderen Google Cloud Projekt als der Service Directory-Dienst befindet, werden im Dashboard für Verfügbarkeitsdiagnosen keine Daten angezeigt.

Achten Sie darauf, dass das Google Cloud Projekt, das den Uptime-Check enthält, das Google Cloud Projekt überwacht, das den Service Directory-Dienst enthält.

Weitere Informationen zum Auflisten überwachter Projekte und zum Hinzufügen weiterer Projekte finden Sie unter Messwertbereich für mehrere Projekte konfigurieren.

Nächste Schritte