Isolation für Cloud Service Mesh
Auf dieser Seite erfahren Sie, wie Sie Ihr Service Mesh mit einer besseren Anfragenisolation für Ihren Backend-Dienst konfigurieren, indem Sie eine Isolationskonfiguration erstellen.
Diese Funktion bietet zusätzliche Isolationsunterstützung für die Backends Ihrer Dienste, um regionsübergreifende Überlastungen zu vermeiden.
Standardmäßig verwendet Cloud Service Mesh den Wasserfall-Algorithmus nach Region , um zu entscheiden, wohin der Traffic Ihrer Nutzer weitergeleitet werden soll. Mit diesem Algorithmus leitet Cloud Service Mesh den Traffic an die nächstgelegene Region weiter, bis die Backends ihre konfigurierte Kapazitätsgrenze erreichen. Danach wird der Traffic in eine weiter entfernte Region weitergeleitet.
Mit dieser Funktion wird der Traffic basierend auf Ihrer Frontend-Region und der Konfiguration der Isolation auf die nächstgelegene oder lokale Region beschränkt und nicht weitergeleitet, wenn die Kapazität der nächstgelegenen Region erschöpft ist. So können Sie potenzielle kaskadierende Fehler vermeiden und potenzielle Ausfälle in derselben Region begrenzen. Andernfalls verwalten Sie Ihre Dienstkonfiguration weiterhin auf globaler Ebene.

Ob Sie diese Funktion verwenden möchten, hängt von Ihren tatsächlichen Anwendungsfällen ab. Sie sollten die folgenden Überlegungen sorgfältig prüfen, bevor Sie sie verwenden:
- Wenn Ihre Backends in einer Region überlastet sind, sendet Cloud Service Mesh möglicherweise weiterhin zusätzlichen Traffic an sie, auch wenn Backends in anderen Regionen den Traffic verarbeiten können. Das bedeutet, dass jede einzelne Region aufgrund des zusätzlichen Traffics eher überlastet wird. Sie müssen entsprechend planen.
- Ihr Traffic wird weiterhin mit einer globalen Steuerungsebene weitergeleitet. Das bedeutet, dass es immer noch die Möglichkeit von global koordinierten Fehlern in mehreren Regionen gibt.
- Diese Funktion wird mit der Ressource „serviceLbPolicy“ konfiguriert. Alle Einschränkungen gelten weiterhin.
- Im Isolationsmodus STRICT schlagen Anfragen fehl, wenn in derselben Region keine bereitstellenden Backends vorhanden sind.
Nach der Anwendung dieser Funktion gibt es zwei Szenarien:
Nächstgelegene Isolation
Bei der nächstgelegenen regionalen Isolation wird ein Frontend mit collocated Backends nur auf diese Region beschränkt. Wenn am lokalen Standort kein Backend verfügbar ist, wird eine Verbindung zur Backend-Region hergestellt und gleichzeitig die Netzwerklatenz optimiert.

Strikte Isolation
Bei der strikten regionalen Isolation können Frontend-Standorte nur Backends in der lokalen Region erreichen. Bei Frontends ohne bereitstellende Backends in der lokalen Region wird der gesamte Traffic verworfen.

Isolation aktivieren
gcloud
Führen Sie die folgenden Schritte aus, um mit der Google Cloud CLI eine Isolationskonfiguration zu erstellen.
Führen Sie den folgenden Befehl aus, um eine
serviceLbPolicyzu erstellen:gcloud network-services service-lb-policies create my-isolation-policy \ --isolation-config-granularity=REGION \ --isolation-config-mode=ISOLATION_MODE \ --location=globalErsetzen Sie ISOLATION_MODE durch eine der folgenden Optionen:
- NEAREST: Der Traffic wird an die nächstgelegene Region gesendet.
- STRICT: Der Traffic schlägt fehl, wenn in derselben Region wie das Frontend keine bereitstellenden Backends verfügbar sind.
Wenn nicht explizit angegeben, ist NEAREST der Standardwert. Sie können dieses Feld nur angeben, wenn auch das Flag
--isolation-granularityfestgelegt ist.Wenn Sie eine vorhandene Richtlinie haben, aktualisieren Sie sie alternativ mit dem folgenden Befehl:
gcloud network-services service-lb-policies update POLICY_NAME \ --isolation-config-granularity=REGION \ --isolation-config-mode=ISOLATION_MODE \ --location=globalErsetzen Sie POLICY_NAME durch den Namen Ihrer vorhandenen Richtlinie.
Nachdem eine
serviceLbPolicy-Ressource erstellt oder aktualisiert wurde, hängen Sie sie an IhrebackendService-Ressource an:gcloud compute backend-services update BACKEND_SERVICE_NAME \ ‐‐service-lb-policy POLICY_URLErsetzen Sie BACKEND_SERVICE_NAME durch den Namen Ihres Backend-Dienstes.
Isolation deaktivieren
Sie haben zwei Möglichkeiten, diese Funktion zu deaktivieren:
- Setzen Sie
isolationConfigsauf „nicht angegeben“. - Entfernen Sie
ServiceLbPolicyaus dem Dienst, wenn dies die einzige Funktion ist, die Sie mit dieser Richtlinie aktiviert haben.
isolationConfigs auf „nicht angegeben“ setzen
Führen Sie den folgenden Befehl aus, um isolationConfigs auf „nicht angegeben“ zu setzen:
gcloud network-services service-lb-policies update my-isolation-policy \
--isolation-config-granularity=unspecified \
--isolation-config-mode=unspecified \
--location=global
ServiceLbPolicy aus dem Dienst entfernen
Führen Sie den folgenden Befehl aus, um ServiceLbPolicy zu entfernen:
gcloud network-services service-lb-policies delete my-isolation-policy --location=global
Support, Diagnose und Fehlerbehebung
In diesem Abschnitt werden mögliche Probleme beschrieben, die nach dem Aktivieren dieser Funktion auftreten können.
Backends überlastet
Diese Funktion bietet Isolationsunterstützung. Daher wird der Traffic nicht in eine Remote-Region verschoben, wenn die lokale Region voll ist. Einige Ihrer Backends könnten also überlastet sein, wenn diese Funktion aktiviert ist. Wenn dies nicht das gewünschte Verhalten ist, sollten Sie diese Funktion deaktivieren. Sie können auch die automatische Skalierung aktivieren, um Überlastungen des Backends besser zu bewältigen.
Traffic wurde verschoben
Diese Funktion verhindert eine kapazitätsbasierte Überlastung des Traffics. Wenn Ihre Backends also überlastet waren, bevor Sie diese Funktion aktiviert haben, wurde der Traffic möglicherweise bereits in eine Remote-Region verschoben. In diesem Fall kann das Aktivieren dieser Funktion dazu führen, dass dieser Traffic wieder verschoben wird.
Traffic wurde nicht verschoben
Diese Funktion verhindert eine kapazitätsbasierte Überlastung des Traffics. Wenn Ihre Backends also nicht überlastet waren, bevor Sie diese Funktion aktiviert haben, kann die nächstgelegene Region wahrscheinlich den gesamten Traffic verarbeiten. In diesem Fall führt das Aktivieren dieser Funktion kurzfristig möglicherweise nicht zu Traffic-Verschiebungen.
Traffic wurde verschoben, nachdem Backends zu einer Region hinzugefügt oder daraus entfernt wurden
Wenn diese Funktion aktiviert ist, kann der Traffic verschoben werden, wenn einer Region neue Backends hinzugefügt werden. Das ist zu erwarten, da Cloud Service Mesh versucht, den Traffic an diese Backends weiterzuleiten, um die Netzwerklatenz insgesamt zu optimieren. Wenn die letzten Backends entfernt werden, sendet Cloud Service Mesh den Traffic an eine Remote-Region. Auch das ist ein erwartetes Verhalten.
Anfragen sind fehlgeschlagen
Wenn der Isolationsmodus STRICT aktiviert ist und in derselben Region wie das Frontend keine Backends bereitgestellt werden, schlägt der Traffic erwartungsgemäß fehl. Wenn dies nicht das gewünschte Verhalten ist, müssen Sie Backends in allen Regionen haben, in die Traffic gesendet werden soll.