Zusammengesetzte Systemdiagnose für automatisches regionsübergreifendes Failover konfigurieren
Auf dieser Seite wird beschrieben, wie Dienstersteller die zusammengesetzte Systemdiagnose konfigurieren können, um das automatische regionsübergreifende Failover für veröffentlichte Dienste zu unterstützen.
Hinweis
Informationen zur zusammengesetzten Systemdiagnose
Suchen oder erstellen Sie in jeder Region, die Sie unterstützen möchten, einen Zieldienst , der die folgenden Anforderungen erfüllt.
- Er muss einen der folgenden internen Load-Balancer verwenden:
- Er muss einen der folgenden Backend-Typen verwenden:
- Eine zonale Netzwerk-Endpunktgruppe (NEG)
mit dem Netzwerkendpunkttyp
GCE_VM_IPoderGCE_VM_IP_PORT - Eine Instanzgruppe
- Eine zonale Netzwerk-Endpunktgruppe (NEG)
mit dem Netzwerkendpunkttyp
Die Schritte zum Erstellen Ihrer Zieldienste hängen von den von Ihnen ausgewählten Load-Balancer- und Backend-Typen ab. Informationen zum Erstellen von Zieldiensten finden Sie in der Dokumentation Ihres Load-Balancers.
Veröffentlichen Sie jeden Zieldienst, indem Sie einen Dienstanhang erstellen.
Beachten Sie, dass Nutzer für die Verwendung der zusammengesetzten Systemdiagnose für das Failover mit Load-Balancern auf Ihre Dienste zugreifen müssen, die regionsübergreifendes Failover unterstützen.
Aktivieren Sie die Compute Engine API in Ihrem Projekt.
Prüfen Sie, ob Sie die erforderlichen Berechtigungen haben, um diese Anleitung auszuführen.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Compute-Netzwerkadministrator (roles/compute.networkAdmin) für das Projekt zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren der zusammengesetzten Systemdiagnose benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierte Rolle enthält die Berechtigungen, die zum Konfigurieren der zusammengesetzten Systemdiagnose erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen , um die notwendigen Berechtigungen anzuzeigen, die erforderlich sind:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind zum Konfigurieren von Composite Health erforderlich:
-
compute.regionHealthAggregationPolicies.list -
compute.regionHealthAggregationPolicies.get -
compute.regionHealthAggregationPolicies.create -
compute.regionHealthAggregationPolicies.update -
compute.regionHealthAggregationPolicies.delete -
compute.regionHealthSources.list -
compute.regionHealthSources.get -
compute.regionHealthSources.create -
compute.regionHealthSources.update -
compute.regionHealthSources.delete -
compute.regionCompositeHealthChecks.list -
compute.regionCompositeHealthChecks.get -
compute.regionCompositeHealthChecks.create -
compute.regionCompositeHealthChecks.update -
compute.regionCompositeHealthChecks.delete
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Zusammengesetzte Systemdiagnose für automatisches regionsübergreifendes Failover konfigurieren
In den folgenden Abschnitten wird beschrieben, wie Sie die zusammengesetzte Systemdiagnose für das automatische regionsübergreifende Failover konfigurieren.
Die zusammengesetzte Systemdiagnose muss nicht vom Dienstnutzer konfiguriert werden. Die Funktion funktioniert jedoch nur, wenn der Nutzer unterstützte Private Service Connect-Backends in einer multiregionalen Bereitstellung konfiguriert. Informationen dazu, wie ein Dienstnutzer sein VPC-Netzwerk für die Verwendung der zusammengesetzten Systemdiagnose konfigurieren kann, finden Sie unter Automatisches regionsübergreifendes Failover.
Richtlinie zur Aggregation von Systemdiagnosen erstellen
Erstellen Sie mindestens eine Richtlinie zur Aggregation von Systemdiagnosen in jeder Region, in der Sie regionsübergreifendes Failover unterstützen möchten.
Eine Richtlinie zur Aggregation von Systemdiagnosen ist eine wiederverwendbare Ressource, die die Kriterien dafür definiert, dass ein Backend-Dienst als fehlerfrei gilt. Sie können dieselbe Richtlinie auf mehrere Backend-Dienste anwenden oder verschiedene Richtlinien für Dienste mit unterschiedlichen Anforderungen an die Systemdiagnose erstellen.
Console
Rufen Sie in der Google Cloud Console die Seite Zusammengesetzte Systemdiagnose auf:
Klicken Sie auf Richtlinien zur Aggregation von Systemdiagnosen.
Klicken Sie auf Richtlinie zur Aggregation von Systemdiagnosen erstellen.
Geben Sie einen Namen für die Richtlinie zur Aggregation von Systemdiagnosen ein.
Optional: Geben Sie eine Beschreibung der Richtlinie ein.
Klicken Sie auf Region und wählen Sie dann eine Region für die Richtlinie zur Aggregation von Systemdiagnosen aus.
Klicken Sie auf Weiter.
Geben Sie im Feld Schwellenwert für fehlerfreien Prozentsatz den Mindestprozentsatz der Endpunkte in einem Backend-Dienst ein, die fehlerfrei sein müssen, damit die Systemdiagnosequelle als fehlerfrei gilt, z. B.
75.Geben Sie im Feld Mindestanzahl fehlerfreier Endpunkte die Mindestanzahl der Endpunkte in einem Backend-Dienst ein, die fehlerfrei sein müssen, damit die Systemdiagnosequelle als fehlerfrei gilt.
Klicken Sie auf Erstellen.
gcloud
Führen Sie den Befehl gcloud compute health-aggregation-policies create aus.
gcloud compute health-aggregation-policies create POLICY \
--region=REGION \
--healthy-percent-threshold=PERCENT_HEALTHY \
--min-healthy-threshold=MINIMUM_HEALTHY
Ersetzen Sie Folgendes:
POLICY: der Name der Richtlinie zur Aggregation von SystemdiagnosenREGION: die Region der Richtlinie zur Aggregation von SystemdiagnosenPERCENT_HEALTHY: der Mindestprozentsatz der Endpunkte in einem Backend-Dienst, die fehlerfrei sein müssen, damit die Systemdiagnosequelle als fehlerfrei gilt, z. B.75Der Standardwert ist
60. Endpunkte können VMs in einer Instanzgruppe oder Netzwerkendpunkte in einer Netzwerk-Endpunktgruppe (NEG) sein.MINIMUM_HEALTHY: die Mindestanzahl der Endpunkte in einem Backend-Dienst, die fehlerfrei sein müssen, damit die Systemdiagnosequelle als fehlerfrei giltDer Standardwert ist
1.
API
Senden Sie eine Anfrage an die
regionHealthAggregationPolicies.insert Methode.
HTTP-Methode und URL:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/healthAggregationPolicies
JSON-Text der Anfrage:
{
"name": "POLICY",
"policyType": "BACKEND_SERVICE_POLICY",
"healthyPercentThreshold": PERCENT_HEALTHY,
"minHealthyThreshold": MINIMUM_HEALTHY
}
Ersetzen Sie Folgendes:
PROJECT_ID: die Projekt-ID für die Richtlinie zur Aggregation von Systemdiagnosen.REGION: die Region der Richtlinie zur Aggregation von Systemdiagnosen.POLICY: der Name der Richtlinie zur Aggregation von Systemdiagnosen.PERCENT_HEALTHY: der Mindestprozentsatz der Endpunkte in einem Backend-Dienst, die fehlerfrei sein müssen, damit die Systemdiagnosequelle als fehlerfrei gilt, z. B.75.Der Standardwert ist
60. Endpunkte können VMs in einer Instanzgruppe oder Netzwerkendpunkte in einer Netzwerk-Endpunktgruppe (NEG) sein.MINIMUM_HEALTHY: die Mindestanzahl der Endpunkte in einem Backend-Dienst, die fehlerfrei sein müssen, damit die Systemdiagnosequelle als fehlerfrei gilt.Der Standardwert ist
1.
Quelle für Systemdiagnose erstellen
Erstellen Sie eine Systemdiagnosequelle für jede regionale Instanz Ihres veröffentlichten Dienstes. Wenn eine Instanz Ihres veröffentlichten Dienstes vom Zustand mehrerer Backend-Dienste abhängt, erstellen Sie für jeden dieser Backend-Dienste eine separate Systemdiagnosequelle.
Eine Systemdiagnosequelle ist die Ressource, die eine Richtlinie zur Aggregation von Systemdiagnosen mit einem bestimmten Backend-Dienst verknüpft. Eine zusammengesetzte Systemdiagnose aggregiert die Systemzustände aus einer oder mehreren Systemdiagnosequellen, um einen endgültigen zusammengesetzten Systemzustand für Ihren Dienst zu erstellen.
Console
Rufen Sie in der Google Cloud Console die Seite Zusammengesetzte Systemdiagnose auf:
Klicken Sie auf Systemdiagnosequellen.
Klicken Sie auf Systemdiagnosequelle erstellen.
Geben Sie einen Namen für die Systemdiagnosequelle ein.
Optional: Geben Sie eine Beschreibung der Systemdiagnosequelle ein.
Klicken Sie auf Region und wählen Sie dann eine Region für die Systemdiagnosequelle aus.
Klicken Sie auf Weiter.
Klicken Sie auf Quelle und wählen Sie dann einen Backend-Dienst aus, der mit der Systemdiagnosequelle verknüpft werden soll.
Klicken Sie auf Weiter.
Klicken Sie auf Richtlinie zur Aggregation von Systemdiagnosen und wählen Sie dann die Richtlinie zur Aggregation von Systemdiagnosen aus, die auf diese Systemdiagnosequelle angewendet werden soll.
Klicken Sie auf Erstellen.
gcloud
Führen Sie den Befehl gcloud compute health-sources create aus.
gcloud compute health-sources create HEALTH_SOURCE \
--region=REGION \
--source-type=BACKEND_SERVICE \
--sources=BACKEND_SERVICE \
--health-aggregation-policy=POLICY
Ersetzen Sie Folgendes:
HEALTH_SOURCE: der Name der SystemdiagnosequelleREGION: die Region der SystemdiagnosequelleDie Richtlinie zur Aggregation von Systemdiagnosen muss sich in derselben Region wie die Systemdiagnosequelle befinden.
BACKEND_SERVICE: der Name eines einzelnen Backend-Dienstes, der mit der Systemdiagnosequelle verknüpft werden sollDer Backend-Dienst muss die folgenden Anforderungen erfüllen:
- Er muss ein Load-Balancing-Schema von
INTERNALoderINTERNAL_MANAGEDhaben. - Er muss sich in derselben Region wie die Systemdiagnosequelle befinden, die Sie erstellen.
- Die Backends müssen Instanzgruppen oder
Netzwerk-Endpunktgruppen vom Typ
GCE_VM_IPoderGCE_VM_IP_PORTsein.
- Er muss ein Load-Balancing-Schema von
POLICY: der Name der Richtlinie zur Aggregation von Systemdiagnosen, die auf diese Systemdiagnosequelle angewendet werden soll
API
Senden Sie eine Anfrage an die
regionHealthSources.insert Methode.
HTTP-Methode und URL:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/healthSources
JSON-Text der Anfrage:
{
"name": "HEALTH_SOURCE",
"sourceType": "BACKEND_SERVICE",
"sources": [
"projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE"
],
"healthAggregationPolicy": "projects/PROJECT_ID/regions/REGION/healthAggregationPolicies/POLICY"
}
Ersetzen Sie Folgendes:
PROJECT_ID: die Projekt-ID für die Systemdiagnosequelle.REGION: die Region der Systemdiagnosequelle.Die Richtlinie zur Aggregation von Systemdiagnosen muss sich in derselben Region wie die Systemdiagnosequelle befinden.
HEALTH_SOURCE: der Name der Systemdiagnosequelle.BACKEND_SERVICE: der Name eines einzelnen Backend-Dienstes, der mit der Systemdiagnosequelle verknüpft werden soll.Der Backend-Dienst muss die folgenden Anforderungen erfüllen:
- Er muss ein Load-Balancing-Schema von
INTERNALoderINTERNAL_MANAGEDhaben. - Er muss sich in derselben Region wie die Systemdiagnosequelle befinden, die Sie erstellen.
- Die Backends müssen Instanzgruppen oder
Netzwerk-Endpunktgruppen vom Typ
GCE_VM_IPoderGCE_VM_IP_PORTsein.
- Er muss ein Load-Balancing-Schema von
POLICY: der Name der Richtlinie zur Aggregation von Systemdiagnosen, die auf diese Systemdiagnosequelle angewendet werden soll.
Zusammengesetzte Systemdiagnose erstellen
Erstellen Sie eine zusammengesetzte Systemdiagnose für jede regionale Instanz Ihres veröffentlichten Dienstes.
Eine zusammengesetzte Systemdiagnose aggregiert die Systemzustände der zugehörigen Systemdiagnosequellen und erstellt einen endgültigen zusammengesetzten Systemzustand. Der endgültige Systemzustand wird auf den regionalen veröffentlichten Dienst angewendet, der mit der Weiterleitungsregel verknüpft ist, die Sie als Systemdiagnoseziel angeben.
Console
Rufen Sie in der Google Cloud Console die Seite Zusammengesetzte Systemdiagnose auf:
Klicken Sie auf Zusammengesetzte Systemdiagnosen.
Klicken Sie auf Zusammengesetzte Systemdiagnose erstellen.
Geben Sie einen Namen für die zusammengesetzte Systemdiagnose ein.
Optional: Geben Sie eine Beschreibung der zusammengesetzten Systemdiagnose ein.
Klicken Sie auf Region und wählen Sie dann eine Region für die zusammengesetzte Systemdiagnose aus.
Klicken Sie auf Weiter.
Klicken Sie auf Systemdiagnosequelle und wählen Sie dann eine Systemdiagnosequelle aus, die mit der zusammengesetzten Systemdiagnose verknüpft werden soll. Sie können weitere Systemdiagnosequellen hinzufügen, indem Sie auf Systemdiagnosequelle hinzufügen klicken und dann eine andere Systemdiagnosequelle auswählen.
Klicken Sie auf Weiter.
Klicken Sie auf Load-Balancer-Typ und wählen Sie dann den Typ des Load Balancers aus, der als Systemdiagnoseziel verwendet werden soll.
Klicken Sie auf Load-Balancer und wählen Sie dann den Load-Balancer aus, der als Systemdiagnoseziel verwendet werden soll.
Wenn Ihr Load-Balancer mit mehreren Weiterleitungsregeln verknüpft ist, klicken Sie auf Weiterleitungsregel und wählen Sie dann die Weiterleitungsregel aus, die als Systemdiagnoseziel verwendet werden soll.
Klicken Sie auf Erstellen.
gcloud
Führen Sie den Befehl gcloud compute composite-health-checks create aus.
gcloud compute composite-health-checks create COMPOSITE_HEALTH_CHECK \
--region=REGION \
--health-sources=HEALTH_SOURCES \
--health-destination=HEALTH_DESTINATION
Ersetzen Sie Folgendes:
COMPOSITE_HEALTH_CHECK: der Name der zusammengesetzten SystemdiagnoseREGION: die Region der zusammengesetzten SystemdiagnoseHEALTH_SOURCES: die Namen einer oder mehrerer Systemdiagnosequellen, die mit der zusammengesetzten Systemdiagnose verknüpft werden sollenSie können mehrere Systemdiagnosequellen in einer durch Kommas getrennten Liste angeben.
HEALTH_DESTINATION: der URI der Weiterleitungsregel , die den zusammengesetzten Systemzustand von dieser zusammengesetzten Systemdiagnose empfängt, z. B.projects/PROJECT_ID/regions/REGION/forwardingRules/FORWARDING_RULEDie Weiterleitungsregel muss mit einem Load-Balancer des Erstellers verknüpft sein , der die zusammengesetzte Systemdiagnose unterstützt und die folgenden Anforderungen erfüllt:
- Er muss ein Load-Balancing-Schema von
INTERNALoderINTERNAL_MANAGEDhaben. - Er muss sich in derselben Region wie die zusammengesetzte Systemdiagnose befinden.
- Er muss ein Load-Balancing-Schema von
API
Senden Sie eine Anfrage an die
regionCompositeHealthChecks.insert Methode.
HTTP-Methode und URL:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/compositeHealthChecks
JSON-Text der Anfrage:
{
"name": "COMPOSITE_HEALTH_CHECK",
"healthSources": [
"projects/PROJECT_ID/regions/REGION/healthSources/HEALTH_SOURCE"
],
"healthDestination": "HEALTH_DESTINATION"
}
Ersetzen Sie Folgendes:
PROJECT_ID: die Projekt-ID für die zusammengesetzte Systemdiagnose.REGION: die Region der zusammengesetzten Systemdiagnose.COMPOSITE_HEALTH_CHECK: der Name der zusammengesetzten Systemdiagnose.HEALTH_SOURCE: der Name einer Systemdiagnosequelle, die mit der zusammengesetzten Systemdiagnose verknüpft werden soll. Sie können mehrere Systemdiagnosequellen im ArrayhealthSourcesangeben.HEALTH_DESTINATION: der URI der Weiterleitungsregel , die den zusammengesetzten Systemzustand von dieser zusammengesetzten Systemdiagnose empfängt, z. B.projects/PROJECT_ID/regions/REGION/forwardingRules/FORWARDING_RULEDie Weiterleitungsregel muss mit einem Load-Balancer des Erstellers verknüpft sein , der die zusammengesetzte Systemdiagnose unterstützt und die folgenden Anforderungen erfüllt:
- Er muss ein Load-Balancing-Schema von
INTERNALoderINTERNAL_MANAGEDhaben. - Er muss sich in derselben Region wie die zusammengesetzte Systemdiagnose befinden.
- Er muss ein Load-Balancing-Schema von
Nächste Schritte
- Informationen zum Monitoring Ihres veröffentlichten Dienstes mit Composite Health finden Sie unter Composite Health überwachen.
- Informationen zum Verwalten der Konfiguration der zusammengesetzten Systemdiagnose finden Sie unter Konfiguration der zusammengesetzten Systemdiagnose ansehen, aktualisieren und löschen.