Private Verfügbarkeitsdiagnosen erstellen

In diesem Dokument wird beschrieben, wie Sie eine private Verfügbarkeitsdiagnose konfigurieren. Mit privaten Verfügbarkeitsdiagnosen können HTTP-Anfragen an ein Virtual Private Cloud-Netzwerk (VPC) des Kunden gesendet werden. Dabei werden IAM-Einschränkungen (Identity and Access Management) und VPC Service Controls-Perimeter erzwungen. Mit privaten Verfügbarkeitsdiagnosen können Anfragen über das private Netzwerk an Ressourcen wie eine virtuelle Maschine (VM) oder einen internen L4-Load-Balancer (ILB) gesendet werden.

Die internen IP-Adressen für Ressourcen im privaten Netzwerk werden von Service Directory-Diensten mit aktiviertem privatem Netzwerkzugriff aufgezeichnet. Wenn Sie private Verfügbarkeitsdiagnosen verwenden möchten, müssen Sie den privaten Netzwerkzugriff mithilfe des Service Directory-Produkts 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 eines Projekts mithilfe eines Messwertbereichs überwachen. Das Projekt, in dem die Verfügbarkeitsdiagnose definiert wird, ist das den Umfang eines Messwertbereichs bestimmende Projekt. Der Messwertbereich ist eine Liste aller Projekte, die vom entsprechenden Projekt überwacht werden. Der Service Directory-Dienst kann im den Umfang festlegenden Projekt oder in einem Projekt im Messwertbereich definiert sein. Weitere Informationen zu Messwertbereichen finden Sie unter 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 Bestimmung des Umfangs der Verfügbarkeitsdiagnose enthalten sein. Der Service Directory-Dienst erfasst die Betriebszeitmesswerte. Daher muss sie im Messwertbereich enthalten sein, 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 Bereich des Bereichs 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 mit öffentlichen IP-Adressen finden Sie unter Öffentliche Verfügbarkeitsdiagnosen erstellen. Informationen zum Verwalten und Überwachen von Verfügbarkeitsdiagnosen finden Sie im Abschnitt Weitere Informationen in diesem Dokument.

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 und 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. Falls nicht, 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. Prüfen Sie, ob die Monitoring API aktiviert ist. Führen Sie dazu den folgenden Befehl auf Ihrer Workstation aus. 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.

    Die anderen APIs können auf dieselbe Weise aktiviert werden:

    • Wenn Sie die Google Cloud Console verwenden möchten, suchen Sie nach dem Anzeigenamen, z. B. „Service Directory API“.
    • Wenn Sie die gcloud CLI verwenden möchten, geben Sie das erste Element des Namens googleapis.com an, z. B. servicedirectory.
  2. Konfigurieren Sie die Benachrichtigungskanäle, die Sie zum Empfangen von 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 ausgerichtet sind, sind auf die Regionen mit Verfügbarkeitsdiagnosen beschränkt. Die Region für Verfügbarkeitsdiagnosen USA umfasst die Regionen USA_OREGON, USA_IOWA und USA_VIRGINIA. Jede der USA_*-Regionen hat eine Prüfung und USA umfasst alle drei. Die anderen Verfügbarkeitsdiagnose-Regionen EUROPE, SOUTH_AMERICA und ASIA_PACIFIC haben jeweils eine Diagnose. Um diese Einschränkung aufzuheben, müssen Sie den globalen Zugriff auf den Load-Balancer konfigurieren. Weitere Informationen zum Konfigurieren des globalen Zugriffs finden Sie auf dem Tab „ILB“ im Abschnitt Service Directory-Ressourcen konfigurieren dieses Dokuments.

    Wenn Sie einen internen Load-Balancer überprü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 Oberfläche verwendet werden soll:

    • Google Cloud Console: Ermöglicht das Erstellen einer Verfügbarkeitsdiagnose, wenn eine VM Anfragen verarbeitet. Auf dieser Oberfläche werden Sie durch das Konfigurieren von Service Directory-Ressourcen, die Autorisierung des Dienstkontos und das Konfigurieren der Netzwerk-Firewallregeln geführt.

    • Befehlszeilenschnittstellen: Mit der Google Cloud CLI und der Cloud Monitoring API können Sie private Verfügbarkeitsdiagnosen erstellen, wenn interne Load-Balancer und VMs Anfragen verarbeiten.

  5. Wenn Sie vorhaben, Ihre privaten Verfügbarkeitsdiagnosen über die Befehlszeile zu konfigurieren, führen Sie die erforderlichen Schritte 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.

  • Wählen Sie den Tab API: Umfangreiches Projekt aus, um die Cloud Monitoring API zu verwenden und den Service Directory-Dienst so zu konfigurieren, dass er sich im selben Google Cloud-Projekt wie die Verfügbarkeitsdiagnose befindet.

  • Wählen Sie den Tab API: Überwachtes Projekt aus, um die Cloud Monitoring API zu verwenden und den Service Directory-Dienst so zu konfigurieren, dass er sich in einem Projekt befindet, das vom Messwertbereich des Projekts der Verfügbarkeitsdiagnose überwacht wird.

Google Cloud Console

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

  1. Wählen Sie im Navigationsbereich der Google Cloud Console Monitoring und dann  Verfügbarkeitsdiagnosen aus:

    Verfügbarkeitsdiagnosen aufrufen

  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 Anzeigen und führen 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. Dann gewährt Monitoring dem Dienstkonto zwei Service Directory-Rollen.

    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 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 das Ziel privater Verfügbarkeitsdiagnosen.
      4. Klicken Sie auf Endpunktname und geben Sie einen Namen ein. Ein Endpunkt ist ein Paar aus IP-Adresse und Portwerten, das ein Dienst zur Verarbeitung von Anfragen verwenden kann. Wenn Ihr Dienst mehrere Endpunkte enthält, wird ein Endpunkt 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 im privaten Netzwerk die VM 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, 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 die Verbindung 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 Voll qualifizierten 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, werden diese Felder für Sie ausgewählt.

  6. Geben Sie im Bereich Private Verfügbarkeitsdiagnose die Beschreibung des Ziels der Verfügbarkeitsdiagnose ein:

    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 wurde.

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

    2. Optional: Legen Sie mit dem Feld Prüfungshäufigkeit fest, wie oft die Verfügbarkeitsdiagnose ausgeführt werden soll.

    3. Optional: Klicken Sie auf Weitere Zieloptionen, um Prüfungsregionen auszuwählen oder die 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. Es gibt eine Prüfung in allen Regionen außer USA. Diese hat drei Diagnosen. Die Standardeinstellung Global umfasst alle Regionen.
      • Anfragemethode: Wählen Sie GET oder POST aus.
      • Text: Geben Sie bei HTTP-POST-Prüfungen den URL-codierten Text ein. Sie müssen die Codierung selbst vornehmen. Bei allen anderen Prüfungen lassen Sie dieses Feld leer.
      • Host-Header: Legen Sie dieses Feld nicht fest, wenn Sie private Verfügbarkeitsdiagnosen konfigurieren.
      • 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 optional. Durch die Verschlüsselung werden die Werte im Header 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.
  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 die Ein/Aus-Schaltfläche Inhaltsabgleich ist aktiviert lauten:

      • Wählen Sie im Optionsmenü die Option Response Content Match Type (Keyword-Option für Antwort) 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 darf ein String sein, der nicht länger als 1.024 Byte ist. In der API ist dieses Feld das Objekt ContentMatcher.
    • Löschen Sie Logprüfungsfehler, um zu verhindern, dass Logeinträge aufgrund von Verfügbarkeitsdiagnosen erstellt werden.

    • 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 Fehlschlagen einer Verfügbarkeitsdiagnose benachrichtigt werden möchten, 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 Duration 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 fehlgeschlagene Verfügbarkeitsdiagnosen melden.
    3. Maximieren Sie im Feld Benachrichtigungskanäle die Option Menü, wählen Sie die hinzuzufügenden Kanäle aus und klicken Sie dann auf OK.

      Im Menü sind die Benachrichtigungskanäle für jeden Kanaltyp alphabetisch 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 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 die Informationen unter Fehlerbehebung, korrigieren Sie Ihre Konfiguration und wiederholen Sie den Bestätigungsschritt.

    4. Klicken Sie auf Erstellen.

API: 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 Objekt UptimeCheckConfig für eine private Verfügbarkeitsdiagnose unterscheidet sich so vom Objekt für eine öffentliche Verfügbarkeitsdiagnose:

  • Die in der Konfiguration der Verfügbarkeitsdiagnose 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 Verfügbarkeitsdiagnosen-Konfiguration keinen port-Wert angeben. Der Portwert vom Service Directory-Endpunkt überschreibt einen Wert, der in der Verfügbarkeitsdiagnose-Konfiguration festgelegt wurde. 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 dieses Feld für öffentliche Verfügbarkeitsdiagnosen nicht angegeben werden muss.

Der folgende JSON-Code veranschaulicht 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 wurden:

{
  "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 zum Speichern Ihrer Projekt-ID:

    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 sie 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 der Verfügbarkeitsdiagnose schlägt fehl.

API: Ü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 Objekt UptimeCheckConfig für eine private Verfügbarkeitsdiagnose unterscheidet sich so vom Objekt für eine öffentliche Verfügbarkeitsdiagnose:

  • Die in der Konfiguration der Verfügbarkeitsdiagnose 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 Verfügbarkeitsdiagnosen-Konfiguration keinen port-Wert angeben. Der Portwert vom Service Directory-Endpunkt überschreibt einen Wert, der in der Verfügbarkeitsdiagnose-Konfiguration festgelegt wurde. 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 dieses Feld für öffentliche Verfügbarkeitsdiagnosen nicht angegeben werden muss.

Der folgende JSON-Code veranschaulicht 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 wurden:

{
  "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 zum Speichern Ihrer Projekt-ID:

    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 liegen.

  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 sie 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 der Verfügbarkeitsdiagnose 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, gehen Sie zu Private Verfügbarkeitsdiagnose erstellen. Die Google Cloud Console führt Sie durch alle erforderlichen Schritte.

Wenn Sie vorhaben, Ihre privaten Verfügbarkeitsdiagnosen über die Befehlszeile 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

Private Verfügbarkeitsdiagnosen bestimmen die Verfügbarkeit einer Ressource mithilfe 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, das ein Dienst zur Verarbeitung von Anfragen verwenden kann. Wenn Ihr Dienst mehrere Endpunkte enthält, wird ein Endpunkt nach dem Zufallsprinzip ausgewählt.
  • Dienst: Ein Dienst ist eine Sammlung von Endpunkten, die eine Reihe von Verhaltensweisen bereitstellen. Dienste sind das Ziel 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 und Interne IP-Adresse als Ressourcentyp für eine Verfügbarkeitsdiagnose ausgewählt haben, werden Sie aufgefordert, ein Service Directory und einen Dienst zu erstellen.

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 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 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.

Mit privaten Verfügbarkeitsdiagnosen können Sie 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-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 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 an Ihren L4-ILB ü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 Betriebszeitmesswerte nur verfügbar, wenn ILB_REGION einen der folgenden Werte hat:

    • 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 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 für die IP-Adresse des Load-Balancers im privaten Netzwerk:

    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

Bei Verfügbarkeitsdiagnosen wird ein Monitoring-Dienstkonto verwendet, 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

Das Dienstkonto ist bereits vorhanden, wenn Ihr Google Cloud-Projekt einen Benachrichtigungskanal enthält. Wenn es nicht vorhanden ist, erstellt Monitoring das Dienstkonto 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 zuzuweisen. Wenn Sie jedoch die API verwenden, verhindern die Google Cloud-Projekteinstellungen, dass Monitoring dem Dienstkonto Rollen zuweist. In diesem Fall schlägt das Erstellen der Verfügbarkeitsdiagnose fehl.

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

Google Cloud Console

Wenn Sie die Google Cloud Console verwenden und Interne IP-Adresse als Ressourcentyp für eine Verfügbarkeitsdiagnose ausgewählt haben, werden Sie 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 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

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 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 im Messwertbereich des Projekts der Verfügbarkeitsdiagnose liegen.

  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 die Verfügbarkeitsdiagnose liegen.

  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 ($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 ermöglicht. Eine Route von 35.199.192.0/19 unterstützt die Verbindung zu Weiterleitungszielen mit privatem Routing. 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 der 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, mit dem diese Regel verbunden 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 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 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 das Erstellen der Verfügbarkeitsdiagnose fehl.

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

Google Cloud Console

Wenn Sie die private Verfügbarkeitsdiagnose in der Google Cloud Console erstellen, führt 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 nur dann erfolgreich, wenn Ihr Projekt die automatische Rollenzuweisung 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 Ihr Projekt keine automatische Rollenzuweisung für Dienstkonten zulässt. Ein Dienstkonto wird erstellt, aber es werden keine Rollen gewährt.

Wenn das Erstellen der Verfügbarkeitsdiagnose fehlschlägt, gehen Sie so vor:

  1. Autorisieren Sie das Dienstkonto.
  2. Warten Sie einige Minuten, bis die Berechtigungen weitergegeben wurden.
  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 zur Erstellung eines Monitoring-Dienstkontos.

Wie Sie das Dienstkonto autorisieren, hängt von der Anzahl der verwendeten Google Cloud-Projekte und deren Beziehungen ab. An Ihnen 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 keine Rolle in der hier beschriebenen Dienstkontoautorisierung.

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

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

Zugriff verweigert

Ihre Verfügbarkeitsdiagnosen schlagen mit VPC_ACCESS_DENIED Ergebnissen fehl. Dies bedeutet, dass ein Teil Ihrer Netzwerkkonfiguration oder der Autorisierung des Dienstkontos nicht korrekt ist.

Prüfen Sie die Dienstkontoautorisierung für die Verwendung eines Umfangsprojekts oder eines überwachten Projekts, wie unter Erstellung der Verfügbarkeitsdiagnose schlägt fehl 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, zeigt die Verfügbarkeitsdiagnose weiterhin einen 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 erfolgreich, auch wenn eine der VMs ausgefallen ist.

Standardheader

Die Verfügbarkeitsdiagnosen geben Fehler oder unerwartete Ergebnisse zurück. Dieser Fehler 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 Wird anhand von nach Verfügbarkeitsdaten berechneten Daten berechnet

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

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

Keine Daten sichtbar

Wenn sich die 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 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 weiterer Projekte finden Sie unter Messwertbereich für mehrere Projekte konfigurieren.

Nächste Schritte