Private Verfügbarkeitsdiagnosen erstellen

In diesem Dokument wird beschrieben, wie Sie eine private Verfügbarkeitsdiagnose konfigurieren. Private Verfügbarkeitsdiagnosen ermöglichen HTTP-Anfragen an ein Virtual Private Cloud-Netzwerk (VPC) eines Kunden. Gleichzeitig werden Einschränkungen der Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM) sowie VPC Service Controls-Perimeter erzwungen. Private Verfügbarkeitsdiagnosen können Anfragen über das private Netzwerk an Ressourcen wie eine virtuelle Maschine (VM) oder einen internen L4-Load-Balancer (ILB) senden.

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 privaten Netzwerkzugriff mit dem Service Directory-Produkt konfigurieren.

Das Google Cloud-Projekt, in dem die private Verfügbarkeitsdiagnose 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 mehreren Google Cloud-Projekten aus einem Projekt mithilfe eines Messwertbereichs überwachen. Das Projekt, in dem die Verfügbarkeitsdiagnose definiert ist, ist das den Umfang festlegende Projekt eines Messwertbereichs. Der Messwertbereich ist eine Liste aller Projekte, die vom Projekt überwacht werden. Der Service Directory-Dienst kann im Projekt zur Festlegung des Umfangs oder in einem Projekt im Messwertbereich definiert werden. Weitere Informationen zu Messwertbereichen finden Sie unter Übersicht über Messwertbereiche.

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 nicht im Messwertbereich des Projekts zur Festlegung des Umfangs der Verfügbarkeitsdiagnose enthalten sein. Der Service Directory-Dienst erfasst die Betriebszeitmesswerte. Daher muss er sich im Messwertbereich befinden, die darin enthaltenen Ressourcen jedoch nicht.

In diesem Dokument wird beschrieben, wie Sie mit der Google Cloud Console oder der API ein privates Netzwerk einrichten und Service Directory-Ressourcen dafür konfigurieren. In den API-Beispielen wird davon ausgegangen, dass sich das private Netzwerk und der Service Directory-Dienst im Projekt zur Bereichsdefinition der Verfügbarkeitsdiagnose befinden. Unter 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.

Informationen zum Konfigurieren von Verfügbarkeitsdiagnosen, die öffentliche IP-Adressen verwenden, finden Sie unter Öffentliche Verfügbarkeitsdiagnosen erstellen. Informationen zum Verwalten und Überwachen Ihrer Verfügbarkeitsdiagnosen finden Sie im Abschnitt Weitere Informationen dieses Dokuments.

Hinweise

  1. Aktivieren Sie folgende APIs:

    • Cloud Monitoring API: monitoring.googleapis.com
    • Service Directory API: servicedirectory.googleapis.com
    • Service Networking API: servicenetworking.googleapis.com
    • Compute Engine API: compute.googleapis.com

    Sie können die APIs über die gcloud CLI oder die Google Cloud Console aktivieren. Auf den folgenden Tabs wird beschrieben, wie Sie die gcloud CLI installieren und die Cloud Monitoring API aktivieren:

    Google Cloud Console

    1. Wählen Sie in der Google Cloud Console das Google Cloud-Projekt aus, für das Sie die API aktivieren möchten, und rufen Sie dann die Seite APIs & Dienste auf:

      Zu APIs und Dienste

    2. Klicken Sie auf die Schaltfläche APIs und Dienste aktivieren.

    3. Suchen Sie nach „Monitoring“.

    4. Klicken Sie in den Suchergebnissen auf "Stackdriver Monitoring API".

    5. Wenn "API aktiviert" angezeigt wird, ist die API bereits aktiviert. Ist dies nicht der Fall, klicken Sie auf Aktivieren.

    gcloud-CLI

    1. Wenn Sie die Google Cloud CLI noch nicht auf Ihrer Workstation installiert haben, finden Sie weitere Informationen unter gcloud CLI installieren.

    2. Führen Sie den folgenden Befehl auf Ihrer Workstation aus, um festzustellen, ob die Monitoring API aktiviert ist. Ersetzen Sie dabei PROJECT_ID durch die ID des Projekts, für das Sie die API aktivieren möchten:

      gcloud services list --project=PROJECT_ID
      

      Wenn monitoring.googleapis.com in der Ausgabe angezeigt wird, ist die API aktiviert.

    3. Wenn die API nicht aktiviert ist, führen Sie den folgenden Befehl aus, um sie zu aktivieren:

      gcloud services enable monitoring --project=PROJECT_ID
      

      Weitere Informationen finden Sie unter gcloud services.

    Mit denselben Schritten können Sie auch die anderen APIs aktivieren:

    • Suchen Sie für die Verwendung der Google Cloud Console nach dem Anzeigenamen, z. B. „Service Directory API“.
    • Geben Sie das erste Element des Namens googleapis.com an, z. B. servicedirectory, um die gcloud CLI zu verwenden.
  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 eine VM oder einen internen Load-Balancer, um Zugriff auf dieses private Netzwerk zu haben. Weitere Informationen finden Sie unter Zugriff auf private Dienste.

    Private Prüfungen, die auf ILBs abzielen, sind auf die Regionen mit Verfügbarkeitsdiagnosen beschränkt. Die Region USA für Verfügbarkeitsdiagnosen enthält die Regionen USA_OREGON, USA_IOWA und USA_VIRGINIA. Jede der USA_*-Regionen hat eine Diagnose und USA umfasst alle drei. Die anderen Regionen für Verfügbarkeitsdiagnosen EUROPE, SOUTH_AMERICA und ASIA_PACIFIC haben jeweils eine Prüfung. Damit diese Einschränkung aufgehoben wird, 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 internen Load-Balancer prüfen möchten, der keinen globalen Zugriff zulässt, wählen Sie eine der folgenden Regionen für den internen Load-Balancer aus:

    • us-east4
    • us-central1
    • us-west1
    • europe-west1
    • southamerica-east1
    • asia-southeast1
  4. Bestimmen Sie, welche Schnittstelle verwendet werden soll:

    • Google Cloud Console: Hiermit können Sie eine Verfügbarkeitsdiagnose erstellen, wenn eine VM Anfragen verarbeitet. Über diese Schnittstelle werden Sie durch die Konfiguration von Service Directory-Ressourcen, die Autorisierung des Dienstkontos und die Konfiguration der Firewallregeln für das Netzwerk geführt.

    • Befehlszeilen: Mit der Google Cloud CLI und der Cloud Monitoring API können Sie private Verfügbarkeitsdiagnosen erstellen, wenn ILBs und VMs Anfragen verarbeiten.

  5. Wenn Sie Ihre privaten Verfügbarkeitsdiagnosen über die Befehlszeile konfigurieren möchten, führen Sie die Voraussetzungen aus.

Private Verfügbarkeitsdiagnose erstellen

In diesem Abschnitt wird erläutert, wie Sie private Verfügbarkeitsdiagnosen von Service Directory-Diensten erstellen und konfigurieren:

  • Wenn Sie die Google Cloud Console verwenden möchten, wählen Sie den Tab Google Cloud 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 die Verfügbarkeitsdiagnose befindet, wählen Sie den Tab API: Umfangsprojekt 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 der Verfügbarkeitsdiagnose überwacht wird, wählen Sie den Tab API: Überwachtes Projekt aus.

Google Cloud Console

So erstellen Sie eine Verfügbarkeitsdiagnose mit 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. Klicken Sie auf Verfügbarkeitsdiagnose erstellen.

    Dialogfeld zum Erstellen einer Verfügbarkeitsdiagnose

  3. Geben Sie eine private Verfügbarkeitsdiagnose an:

    1. Wählen Sie als Protokoll entweder HTTP oder HTTPS aus. Wählen Sie für eine private Verfügbarkeitsdiagnose nicht TCP aus.

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

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

    1. Aktivieren Sie die Compute Engine API oder die Service Directory API, wenn Sie dazu aufgefordert werden. Das Aktivieren der APIs kann eine 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 gewährt dem Dienstkonto dann zwei Service Directory-Rollen.

    3. Maximieren Sie das Menü Service Directory und führen Sie dann die folgenden Schritte aus:

      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 dann entweder einen vorhandenen Service Directory-Namespace aus oder klicken Sie auf Namespace erstellen und erstellen Sie einen Namespace.
      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 ein. Ein Endpunkt ist ein Paar aus IP-Adress- und Portwerten, mit dem ein Dienst Anfragen verarbeiten kann. Wenn Ihr Dienst mehrere Endpunkte enthält, wird einer der Endpunkte 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, das Anfragen verarbeitet. Nachdem Sie die Instanz ausgewählt haben, wird deren interne IP-Adresse angezeigt.
      7. Klicken Sie auf Fertig.
    4. Maximieren Sie Firewallregeln:

      1. Maximieren Sie Netzwerk und wählen Sie das Netzwerk aus, mit dem die Netzwerkregel verknüpft ist.

      2. Klicken Sie auf Firewallregeln erstellen.

        Die Firewallregel aktiviert eingehenden TCP-Traffic von den Routen 35.199.192.0/19. Eine Route von 35.199.192.0/19 unterstützt Verbindungen zu Weiterleitungszielen, die privates Routing verwenden. Weitere Informationen finden Sie unter VPC-Routen.

  5. Führen Sie im Bereich Private Verfügbarkeitsdiagnose einen der folgenden Schritte aus, um den zu verwendenden Service Directory-Dienst anzugeben:

    • Wählen Sie Vollqualifizierten Dienstnamen verwenden aus und geben Sie dann den voll qualifizierten Namen des Dienstes ein:

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

  6. Vervollständigen Sie im Bereich Private Verfügbarkeitsdiagnose die Beschreibung des Ziels der Verfügbarkeitsdiagnose:

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

      Private Verfügbarkeitsdiagnosen, die das HTTP- oder HTTPS-Protokoll verwenden, senden eine Anfrage an http://target/path. 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: Verwenden Sie das Feld Überprüfungshäufigkeit, um festzulegen, wie oft die Verfügbarkeitsdiagnose ausgeführt werden soll.

    3. Optional: Klicken Sie auf Weitere Zieloptionen, um zu prüfende Regionen auszuwählen oder Authentifizierung, Header für HTTP- und HTTPS-Prüfungen sowie andere Werte zu konfigurieren:

      • Regionen: Wählen Sie die Regionen aus, in denen die Verfügbarkeitsdiagnosen Anfragen erhalten sollen. Eine Verfügbarkeitsdiagnose muss mindestens drei Prüfungen haben. Mit Ausnahme der USA gibt es in allen Regionen eine Diagnose, die drei Diagnosen hat. Die Standardeinstellung Global schließt alle Regionen ein.
      • Request Method (Anfragemethode): Wählen Sie GET oder POST aus.
      • Body: Geben Sie für die HTTP-POST-Prüfungen den URL-codierten Text ein. Sie müssen die Codierung selbst vornehmen. Lassen Sie dieses Feld bei allen anderen Prüfungen leer.
      • Host-Header: Lassen Sie dieses Feld beim Konfigurieren privater Verfügbarkeitsdiagnosen unverändert.
      • Port: Jeder hier festgelegte Wert überschreibt den Port in Ihrer Service Directory-Endpunktkonfiguration. Legen Sie hier keinen Wert fest, wenn die Endpunktkonfiguration verwendet werden soll.
      • Benutzerdefinierte Header: Geben Sie benutzerdefinierte Header an und verschlüsseln Sie diese. Durch die Verschlüsselung werden die Werte im Header des Formulars 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.
  7. Klicken Sie auf Weiter und konfigurieren Sie die Antwortanforderungen. Alle Einstellungen in diesem Abschnitt haben Standardwerte:

    • Im Feld Antwortzeitlimit können Sie ein Zeitlimit für die Verfügbarkeitsdiagnose festlegen. Eine Verfügbarkeitsdiagnose schlägt fehl, wenn innerhalb dieses Zeitraums keine Antwort von mehr als einem Standort empfangen wird.

    • Wenn Sie die Verfügbarkeitsdiagnose für den Inhaltsabgleich konfigurieren möchten, muss das Ein/Aus-Label Inhaltsabgleich ist aktiviert lauten:

      • Wählen Sie im Optionsmenü den Übereinstimmungstyp für Antwort-Content 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 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 sein, der nicht länger als 1.024 Byte ist. In der API ist dieses Feld das Objekt ContentMatcher.
    • Um zu verhindern, dass Log-Einträge aufgrund von Verfügbarkeitsdiagnosen erstellt werden, deaktivieren Sie Logprüffehler.

    • Konfigurieren Sie für die HTTP-Verfügbarkeitsdiagnosen die zulässigen Antwortcodes. Standardmäßig markieren HTTP-Verfügbarkeitsdiagnosen jede 2xx-Antwort als erfolgreiche Antwort.

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

    Wenn Sie bei einer fehlgeschlagenen Verfügbarkeitsdiagnose benachrichtigt werden möchten, erstellen Sie eine Benachrichtigungsrichtlinie und konfigurieren Sie die 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 mindestens zwei Regionen mindestens eine Minute lang Fehler bei Verfügbarkeitsdiagnosen melden.
    3. Maximieren Sie im Feld Benachrichtigungskanäle das Menü, wählen Sie die hinzuzufügenden Kanäle aus und klicken Sie dann auf OK.

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

    Wenn Sie keine Benachrichtigungsrichtlinie erstellen möchten, muss der Text der Ein/Aus-Schaltfläche Keine Benachrichtigung erstellen lauten.

  9. Klicken Sie auf Weiter und schließen Sie die Verfügbarkeitsdiagnose ab:

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

    2. Optional: So fügen Sie der Verfügbarkeitsdiagnose benutzerdefinierte Labels hinzu:

      1. Klicken Sie auf Nutzerlabels anzeigen.
      2. Geben Sie im Feld Schlüssel einen Namen für das Label ein. Labelnamen müssen mit einem Kleinbuchstaben beginnen und können 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 können Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten. Geben Sie beispielsweise critical ein.
      4. Klicken Sie für jedes weitere 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 Bestätigungsschritt.

    4. Klicken Sie auf Erstellen.

API: Umfang festlegendes Projekt

Zum Erstellen der Konfiguration für eine private Verfügbarkeitsdiagnose erstellen Sie ein UptimeCheckConfig-Objekt und übergeben dieses Objekt an die Methode uptimeCheckConfigs.create in der Cloud Monitoring API.

Das Objekt UptimeCheckConfig für eine private Verfügbarkeitsdiagnose unterscheidet sich folgendermaßen vom Objekt für eine öffentliche Verfügbarkeitsdiagnose:

  • Die in der Verfügbarkeitsdiagnosen-Konfiguration angegebene überwachte Ressource muss vom Typ servicedirectory_service sein. Dieser Ressourcentyp hat die folgenden Labels:

    • project_id: Die Projekt-ID, die mit dem Service Directory-Dienst verknüpft 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 Verfügbarkeitsdiagnosen-Konfiguration keinen port-Wert angeben. Der Portwert vom Service Directory-Endpunkt überschreibt jeden Wert, der in der Konfiguration für Verfügbarkeitsdiagnosen festgelegt ist. Die Prüfung schlägt fehl, wenn in der Service Directory-Konfiguration kein Port angegeben ist.

  • In der Verfügbarkeitsdiagnosen-Konfiguration muss das Feld checker_type mit dem Wert VPC_CHECKERS angegeben werden. Dieser Wert ist für private Verfügbarkeitsdiagnosen erforderlich. Standardmäßig sind Verfügbarkeitsdiagnosen öffentlich, sodass für öffentliche Verfügbarkeitsdiagnosen dieses Feld nicht angegeben werden muss.

Der folgende JSON-Code zeigt ein UptimeCheckConfig-Objekt für eine private Verfügbarkeitsdiagnose unter Verwendung der 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 Google Cloud-Standardprojekt für die gcloud CLI fest:

    gcloud config set project PROJECT_ID
    
  2. Erstellen Sie eine Umgebungsvariable, um Ihre Projekt-ID zu speichern:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
  3. Erstellen Sie eine Umgebungsvariable, die ein Zugriffstoken enthält:

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

    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 Verfügbarkeitsdiagnose fehlschlägt, prüfen Sie, ob das Dienstkonto die erforderlichen Rollen hat. Weitere Informationen finden Sie unter Erstellen von Verfügbarkeitsdiagnosen schlägt fehl.

API: Überwachtes Projekt

Zum Erstellen der Konfiguration für eine private Verfügbarkeitsdiagnose erstellen Sie ein UptimeCheckConfig-Objekt und übergeben dieses Objekt an die Methode uptimeCheckConfigs.create in der Cloud Monitoring API.

Das Objekt UptimeCheckConfig für eine private Verfügbarkeitsdiagnose unterscheidet sich folgendermaßen vom Objekt für eine öffentliche Verfügbarkeitsdiagnose:

  • Die in der Verfügbarkeitsdiagnosen-Konfiguration angegebene überwachte Ressource muss vom Typ servicedirectory_service sein. Dieser Ressourcentyp hat die folgenden Labels:

    • project_id: Die Projekt-ID, die mit dem Service Directory-Dienst verknüpft 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 Verfügbarkeitsdiagnosen-Konfiguration keinen port-Wert angeben. Der Portwert vom Service Directory-Endpunkt überschreibt jeden Wert, der in der Konfiguration für Verfügbarkeitsdiagnosen festgelegt ist. Die Prüfung schlägt fehl, wenn in der Service Directory-Konfiguration kein Port angegeben ist.

  • In der Verfügbarkeitsdiagnosen-Konfiguration muss das Feld checker_type mit dem Wert VPC_CHECKERS angegeben werden. Dieser Wert ist für private Verfügbarkeitsdiagnosen erforderlich. Standardmäßig sind Verfügbarkeitsdiagnosen öffentlich, sodass für öffentliche Verfügbarkeitsdiagnosen dieses Feld nicht angegeben werden muss.

Der folgende JSON-Code zeigt ein UptimeCheckConfig-Objekt für eine private Verfügbarkeitsdiagnose unter Verwendung der 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 des Google Cloud-Projekts der Verfügbarkeitsdiagnose überwacht wird:

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

    gcloud config set project PROJECT_ID
    
  2. Erstellen Sie eine Umgebungsvariable, um Ihre Projekt-ID zu speichern:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
  3. Erstellen Sie eine Umgebungsvariable, um die Projekt-ID des Google Cloud-Projekts zu speichern, in dem der Service Directory-Dienst definiert ist:

    export MONITORED_PROJECT_ID=MONITORED_PROJECT_ID
    

    Dieses Projekt muss im Messwertbereich des Projekts der Verfügbarkeitsdiagnose enthalten sein.

  4. Erstellen Sie eine Umgebungsvariable, die ein Zugriffstoken enthält:

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

    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 Verfügbarkeitsdiagnose fehlschlägt, prüfen Sie, ob das Dienstkonto die erforderlichen Rollen hat. Weitere Informationen finden Sie unter Erstellen von Verfügbarkeitsdiagnosen schlägt fehl.

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 Benutzeroberfläche der Google Cloud Console verwenden möchten, fahren Sie mit Private Verfügbarkeitsdiagnose erstellen fort. Die Google Cloud Console führt Sie durch alle erforderlichen Schritte.

Wenn Sie Ihre privaten Verfügbarkeitsdiagnosen über die Befehlszeile konfigurieren möchten, 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

Private Verfügbarkeitsdiagnosen ermitteln die Verfügbarkeit einer Ressource anhand einer internen IP-Adresse, die von einem Service Directory-Dienst aufgezeichnet wird. Sie können ein Service Directory 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-Adress- und Portwerten, mit dem ein Dienst Anfragen verarbeiten kann. Wenn Ihr Dienst mehrere Endpunkte enthält, wird einer der Endpunkte nach dem Zufallsprinzip ausgewählt.
  • Dienst: Ein Dienst ist eine Sammlung von Endpunkten, die eine Reihe von Verhaltensweisen bieten. 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 der Google Cloud Console konfigurieren. Wenn Sie die Console verwenden, sind die Konfigurationsschritte im Dialogfeld Verfügbarkeitsdiagnose erstellen enthalten.

Google Cloud Console

Wenn Sie die Google Cloud Console verwenden, werden Sie aufgefordert, ein Service Directory und einen Dienst zu erstellen, nachdem Sie Interne IP-Adresse als Ressourcentyp für eine Verfügbarkeitsdiagnose ausgewählt haben.

gcloud CLI – 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 Google Cloud-Projekt 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. Erstellen Sie einen Service Directory-Namespace:

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

    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 CLI – 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 mit privaten Verfügbarkeitsdiagnosen die Verfügbarkeit eines internen L4-Load-Balancers (ILB) überwachen. Dazu erstellen Sie Service Directory-Ressourcen für den L4-ILB.

Wenn Sie neue L4-ILBs erstellen, können Sie die automatische Integration von Service Directory nutzen. 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 Google Cloud-Projekt 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ügbarkeitsdiagnosen Daten auf den internen Load-Balancer von L4 übertragen können, aktivieren Sie den globalen Zugriff auf den internen Load-Balancer:

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

    Wenn Ihr L4-ILB keinen globalen Zugriff zulässt, sind die Verfügbarkeitsmesswerte nur verfügbar, wenn ILB_REGION einer der folgenden Werte ist:

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

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

    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

Verfügbarkeitsdiagnosen verwenden ein Monitoring-Dienstkonto, 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, erstellt Monitoring es beim Erstellen der privaten Verfügbarkeitsdiagnose. Sie können dieses Dienstkonto nicht erstellen.

Wenn Sie eine private Verfügbarkeitsdiagnose erstellen, versucht Monitoring, dem Dienstkonto zwei Service Directory-Rollen zu gewähren. Wenn Sie die API verwenden, können Ihre Google Cloud-Projekteinstellungen jedoch verhindern, dass Monitoring dem Dienstkonto Rollen gewährt. 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:

Google Cloud Console

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

API: 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 Google Cloud-Projekt verwendet wird, in dem die Verfügbarkeitsdiagnose erstellt werden soll:

    gcloud config set project PROJECT_ID
    
  2. Erstellen Sie Umgebungsvariablen zum Speichern der 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. 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'
    

    Durch die vorherigen Befehle werden dem Dienstkonto die folgenden Rollen zugewiesen:

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

API: Überwachtes Projekt

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

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

    gcloud config set project PROJECT_ID
    
  2. Erstellen Sie Umgebungsvariablen zum Speichern der 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. Erstellen Sie eine Umgebungsvariable mit der Projekt-ID des Projekts, in dem der Service Directory-Dienst definiert ist:

    export MONITORED_PROJECT_ID=MONITORED_PROJECT_ID
    

    Dieses Projekt muss im Messwertbereich des Projekts der Verfügbarkeitsdiagnose enthalten sein.

  4. Erstellen Sie eine Umgebungsvariable mit der Projekt-ID des Projekts, in dem das Netzwerk definiert ist:

    export NETWORK_PROJECT_ID=NETWORK_PROJECT_ID
    

    Dieses Projekt muss nicht im Messwertbereich des Projekts für die Verfügbarkeitsdiagnose 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'
    

    Durch die vorherigen Befehle werden dem Dienstkonto die folgenden Rollen zugewiesen:

    • roles/servicedirectory.viewer für das überwachte Projekt, in dem der Service Directory-Dienst konfiguriert ist, $SERVICE_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 den Routen 35.199.192.0/19 aktiviert. Eine Route von 35.199.192.0/19 unterstützt Verbindungen zu Weiterleitungszielen, die privates Routing verwenden. Weitere Informationen finden Sie unter VPC-Routen.

Google Cloud Console

Wenn Sie die Google Cloud Console verwenden, werden Sie aufgefordert, die Firewallregeln zu konfigurieren, nachdem Sie Interne IP-Adresse als Ressourcentyp für eine Verfügbarkeitsdiagnose ausgewählt haben.

gcloud-CLI

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

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

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

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

    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, während PRIVATE_CHECK_NETWORK_HOPE_RULE der Name der Firewallregel ist.

Weitere Informationen zu diesem Schritt finden Sie unter Netzwerkprojekt konfigurieren.

Beschränkungen

Bei Verwendung privater Verfügbarkeitsdiagnosen wird 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. Außerdem finden Sie Informationen zu deren Behebung.

Erstellen der Verfügbarkeitsdiagnose schlägt fehl

Ihre Google Cloud-Projekteinstellungen verhindern möglicherweise, dass die Rollen geändert werden, die dem Dienstkonto zugewiesen sind, mit dem Verfügbarkeitsdiagnosen Interaktionen mit dem Service Directory-Dienst verwalten. In diesem Fall schlägt die Erstellung der Verfügbarkeitsdiagnose fehl.

In diesem Abschnitt wird beschrieben, wie Sie die für das Dienstkonto erforderlichen Rollen zuweisen:

Google Cloud Console

Wenn Sie die private Verfügbarkeitsdiagnose mit der Google Cloud Console erstellen, gibt die Google Cloud Console die Befehle aus, mit denen dem Dienstkonto die Service Directory-Rollen zugewiesen werden.

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

API: Umfang festlegendes Projekt

Wenn Sie zum ersten Mal eine private Verfügbarkeitsdiagnose 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 die automatische Rollenzuweisung für Dienstkonten in Ihrem Projekt deaktiviert haben:

  • Die erste Verfügbarkeitsdiagnose ist erfolgreich, wenn Ihr Projekt automatische Rollenzuweisungen für Dienstkonten zulässt. Ein Dienstkonto wird für Sie erstellt und erhält die erforderlichen Rollen.

  • Die erste Verfügbarkeitsdiagnose schlägt fehl, wenn in Ihrem Projekt automatische Rollenzuweisungen für Dienstkonten nicht zulässig sind. Ein Dienstkonto wird erstellt, aber es werden keine Rollen gewährt.

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

  1. Autorisieren Sie das Dienstkonto.
  2. Warten Sie einige Minuten, bis die Berechtigungen wirksam werden.
  3. Versuchen Sie noch einmal, die private Verfügbarkeitsdiagnose zu erstellen.

API: Überwachtes Projekt

Wenn Sie zum ersten Mal eine private Verfügbarkeitsdiagnose erstellen, die auf einen Service Directory-Dienst in einem überwachten Projekt oder private Ressourcen in einem anderen Google Cloud-Projekt ausgerichtet ist, schlägt die Anfrage fehl und führt zum Erstellen eines Monitoring-Dienstkontos.

Wie Sie das Dienstkonto autorisieren, hängt von der Anzahl der verwendeten Google Cloud-Projekte und deren Beziehungen ab. Es können bis zu vier Projekte beteiligt sein:

  • 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 hat in der hier beschriebenen Dienstkontoautorisierung keine Rolle.

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

  1. Autorisieren Sie das Dienstkonto.
  2. Warten Sie einige Minuten, bis die Berechtigungen wirksam werden.
  3. Versuchen Sie noch einmal, die private Verfügbarkeitsdiagnose zu erstellen.

Zugriff verweigert

Ihre Verfügbarkeitsdiagnosen schlagen fehl und es werden VPC_ACCESS_DENIED Ergebnisse zurückgegeben. Dies bedeutet, dass ein Teil Ihrer Netzwerkkonfiguration oder Dienstkontoautorisierung nicht korrekt ist.

Prüfen Sie die Dienstkontoautorisierung für die Verwendung eines den Umfangs festgelegten Projekts oder eines überwachten Projekts, wie unter Erstellen der Verfügbarkeitsdiagnose schlägt fehl beschrieben.

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

Ungewöhnliche Ergebnisse privater Verfügbarkeitsdiagnosen

Sie haben einen Service Directory-Dienst mit mehreren VMs und Ihre Dienstkonfiguration enthält mehrere Endpunkte. Wenn Sie eine der VMs herunterfahren, zeigt die Verfügbarkeitsdiagnose weiterhin Erfolg an.

Wenn Ihre Dienstkonfiguration mehrere Endpunkte enthält, wird einer nach dem Zufallsprinzip ausgewählt. Wenn die mit dem ausgewählten Endpunkt verknüpfte VM ausgeführt wird, ist die Verfügbarkeitsdiagnose auch dann erfolgreich, wenn eine der VMs ausgefallen ist.

Standardheader

Die Verfügbarkeitsdiagnosen geben Fehler oder unerwartete Ergebnisse zurück. Dies kann auftreten, wenn Sie Standardheaderwerte überschrieben haben.

Wenn eine Anfrage für eine private Verfügbarkeitsdiagnose 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 Post-Daten zur Betriebszeit

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

  • Die Verfügbarkeitsdiagnose meldet Fehler
  • Die Überschreibungswerte werden gelöscht und durch die Werte aus der Tabelle ersetzt

Keine Daten sichtbar

Sie sehen im Dashboard für Verfügbarkeitsdiagnosen keine Daten, wenn sich die Verfügbarkeitsdiagnose in einem anderen Google Cloud-Projekt als dem Service Directory-Dienst befindet.

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

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

Nächste Schritte