Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Service Connect-Ressourcen für blaue/grüne Bereitstellungen von Amazon ECS
Wenn Sie Service Connect mit blue/green Bereitstellungen verwenden, müssen Sie bestimmte Komponenten konfigurieren, um eine korrekte Weiterleitung des Datenverkehrs zwischen den blauen und grünen Dienstversionen zu ermöglichen. In diesem Abschnitt werden die erforderlichen Komponenten und ihre Konfiguration erläutert.
Übersicht über die Architektur
Service Connect erstellt sowohl Service Discovery- als auch Service Mesh-Funktionen über einen verwalteten Sidecar-Proxy, der automatisch in Ihre Amazon ECS-Aufgaben eingefügt wird. Diese Proxys kümmern sich um Routing-Entscheidungen, Wiederholungen und die Erfassung von Metriken und stellen gleichzeitig das Service-Registry-Backend AWS Cloud Map bereit. Wenn Sie einen Dienst mit aktiviertem Service Connect bereitstellen, registriert sich der Dienst selbst AWS Cloud Map, und die Clientdienste erkennen ihn über den Namespace.
In einer standardmäßigen Service Connect-Implementierung stellen Clientdienste eine Verbindung zu logischen Dienstnamen her, und der Sidecar-Proxy übernimmt das Routing zu den eigentlichen Dienstinstanzen. Bei blue/green Bereitstellungen wird dieses Modell um die Weiterleitung von Testdatenverkehr durch die Konfiguration erweitert. testTrafficRules
Während einer blue/green Bereitstellung arbeiten die folgenden Schlüsselkomponenten zusammen:
-
Service Connect-Proxy: Der gesamte Datenverkehr zwischen Diensten wird über den Service Connect-Proxy geleitet, der Routing-Entscheidungen auf der Grundlage der Konfiguration trifft.
-
AWS Cloud Map Registrierung: Sowohl blaue als auch grüne Bereitstellungen werden bei registriert AWS Cloud Map, aber die grüne Bereitstellung wird zunächst als „Test“ -Endpunkt registriert.
-
Datenverkehrs-Routing testen:
testTrafficRules
In der Service Connect-Konfiguration wird festgelegt, wie Testverkehr identifiziert und an die grüne Bereitstellung weitergeleitet werden soll. Dies wird durch Header-basiertes Routing erreicht, bei dem spezifische HTTP-Header in den Anfragen den Datenverkehr an die Testversion weiterleiten. Standardmäßig erkennt Service Connect denx-amzn-ecs-blue-green-test
Header für HTTP-basierte Protokolle, wenn keine benutzerdefinierten Regeln angegeben sind. -
Client-Konfiguration: Alle Clients im Namespace erhalten automatisch sowohl Produktions- als auch Testrouten, aber nur Anfragen, die den Testregeln entsprechen, werden an die grüne Bereitstellung weitergeleitet.
Das Besondere an diesem Ansatz ist, dass er die Komplexität der Diensterkennung bei Übergängen bewältigt. Wenn der Datenverkehr von der blauen zur umweltfreundlichen Bereitstellung wechselt, werden alle Konnektivitäts- und Erkennungsmechanismen automatisch aktualisiert. Es ist nicht erforderlich, DNS-Einträge zu aktualisieren, Load Balancer neu zu konfigurieren oder Service Discovery-Änderungen separat bereitzustellen, da das Service Mesh alles erledigt.
Routing und Testen des Datenverkehrs
Service Connect bietet erweiterte Datenverkehrs-Routing-Funktionen für blue/green Bereitstellungen, einschließlich Header-basiertem Routing und Client-Alias-Konfiguration für Testszenarien.
Testen Sie die Traffic-Header-Regeln
Während der blue/green Bereitstellung können Sie Header-Regeln für den Testdatenverkehr so konfigurieren, dass bestimmte Anfragen zu Testzwecken an die grüne (neue) Service-Revision weitergeleitet werden. Auf diese Weise können Sie die neue Version mit kontrolliertem Datenverkehr validieren, bevor Sie die Bereitstellung abschließen.
Service Connect verwendet Header-basiertes Routing, um Testdatenverkehr zu identifizieren. Standardmäßig erkennt Service Connect den x-amzn-ecs-blue-green-test
Header für HTTP-basierte Protokolle, wenn keine benutzerdefinierten Regeln angegeben sind. Wenn dieser Header in einer Anfrage vorhanden ist, leitet der Service Connect-Proxy die Anfrage automatisch zum Testen an die grüne Bereitstellung weiter.
Mit den Regeln zum Testen von Traffic-Headern können Sie:
-
Anfragen mit bestimmten Headern an die Green Service Revision weiterleiten
-
Testen Sie neue Funktionen mit einer Teilmenge des Datenverkehrs
-
Überprüfen Sie das Dienstverhalten vor der vollständigen Umstellung des Datenverkehrs
-
Implementieren Sie kanarische Teststrategien
-
Führen Sie Integrationstests in einer produktionsähnlichen Umgebung durch
Der Header-basierte Routing-Mechanismus funktioniert nahtlos in Ihre bestehende Anwendungsarchitektur. Clientdienste müssen sich des blue/green Bereitstellungsprozesses nicht bewusst sein — sie fügen einfach die entsprechenden Header hinzu, wenn sie Testanfragen senden, und der Service Connect-Proxy verarbeitet die Routing-Logik automatisch.
Weitere Informationen zur Konfiguration von Test-Traffic-Header-Regeln finden Sie ServiceConnectTestTrafficHeaderRulesin der Amazon Elastic Container Service API-Referenz.
Regeln für den Headerabgleich
Regeln für den Header-Abgleich definieren die Kriterien für die Weiterleitung von Testdatenverkehr während blue/green Bereitstellungen. Sie können mehrere Abgleichsbedingungen konfigurieren, um genau zu steuern, welche Anfragen an die Green Service-Revision weitergeleitet werden.
Der Header-Matching unterstützt:
-
Exakte Übereinstimmung der Header-Werte
-
Überprüfung der Präsenz von Headern
-
Musterbasierter Abgleich
-
Mehrere Header-Kombinationen
Zu den Anwendungsfällen gehört beispielsweise die Weiterleitung von Anfragen mit bestimmten User-Agent-Strings, API-Versionen oder Feature-Flags an den Green Service zum Testen.
Weitere Informationen zur Konfiguration des Header-Matchings finden Sie ServiceConnectTestTrafficHeaderMatchRulesin der Amazon Elastic Container Service API-Referenz.
Client-Aliase für Bereitstellungen blue/green
Client-Aliase bieten stabile DNS-Endpunkte für Dienste während der Bereitstellung. blue/green Sie ermöglichen eine nahtlose Weiterleitung des Datenverkehrs zwischen blauen und grünen Dienstversionen, ohne dass Client-Anwendungen ihre Verbindungsendpunkte ändern müssen.
Während einer blue/green Bereitstellung führen Client-Aliase Folgendes durch:
-
Behalten Sie konsistente DNS-Namen für Client-Verbindungen bei
-
Aktivieren Sie den automatischen Wechsel des Datenverkehrs zwischen Dienstversionen
-
Support schrittweiser Strategien zur Verkehrsmigration
-
Stellen Sie Rollback-Funktionen bereit, indem Sie den Datenverkehr auf die blaue Version umleiten
Sie können mehrere Client-Aliase für verschiedene Ports oder Protokolle konfigurieren, sodass komplexe Dienstarchitekturen die Konnektivität während der Bereitstellung aufrechterhalten können.
Weitere Informationen zur Konfiguration von Client-Alias finden Sie ServiceConnectClientAliasin der Amazon Elastic Container Service API-Referenz.
Bewährte Methoden für das Routing des Datenverkehrs
Beachten Sie bei der Implementierung des Datenverkehrs-Routings für blue/green Bereitstellungen mit Service Connect die folgenden bewährten Methoden:
-
Beginnen Sie mit Header-basierten Tests: Verwenden Sie Test-Traffic-Header-Regeln, um den grünen Service mit kontrolliertem Datenverkehr zu validieren, bevor Sie den gesamten Verkehr umschalten.
-
Konfigurieren Sie Zustandsprüfungen: Stellen Sie sicher, dass sowohl für blaue als auch für grüne Dienste entsprechende Integritätsprüfungen konfiguriert sind, um zu verhindern, dass Datenverkehr an fehlerhafte Instances weitergeleitet wird.
-
Überwachen Sie die Servicemetriken: Verfolgen Sie die wichtigsten Leistungsindikatoren für beide Serviceversionen während der Implementierung, um Probleme frühzeitig zu erkennen.
-
Planen Sie eine Rollback-Strategie: Konfigurieren Sie Client-Aliase und Routing-Regeln, um bei erkannten Problemen ein schnelles Rollback zum Blue Service zu ermöglichen.
-
Testen Sie die Logik für den Header-Abgleich: Überprüfen Sie Ihre Header-Abgleichsregeln in einer Umgebung außerhalb der Produktionsumgebung, bevor Sie sie auf Produktionsbereitstellungen anwenden.
Arbeitsablauf für die blue/green Bereitstellung von Service Connect
Wenn Sie wissen, wie Service Connect den blue/green Bereitstellungsprozess verwaltet, können Sie Ihre Bereitstellungen effektiv implementieren und Fehler beheben. Der folgende Workflow zeigt, wie die verschiedenen Komponenten in jeder Phase der Bereitstellung interagieren.
Bereitstellungsphasen
Eine Service blue/green Connect-Bereitstellung durchläuft mehrere unterschiedliche Phasen:
-
Ausgangszustand: Der Blue Service wickelt 100% des Produktionsverkehrs ab. Alle Clientdienste im Namespace stellen über den in Service Connect konfigurierten logischen Dienstnamen eine Verbindung zum blauen Dienst her.
-
Green Service Registration: Wenn die grüne Bereitstellung gestartet wird, wird sie AWS Cloud Map als „Test“ -Endpunkt registriert. Der Service Connect-Proxy in den Clientdiensten empfängt automatisch sowohl Produktions- als auch Testroutenkonfigurationen.
-
Datenverkehrs-Routing testen: Anfragen, die die Test-Traffic-Header (z. B.
x-amzn-ecs-blue-green-test
) enthalten, werden vom Service Connect-Proxy automatisch an den grünen Dienst weitergeleitet. Der Produktionsdatenverkehr fließt weiterhin zum blauen Dienst. -
Vorbereitung der Verkehrsschicht: Nach erfolgreichen Tests bereitet der Bereitstellungsprozess die Verkehrsverlagerung in der Produktion vor. Sowohl die blauen als auch die grünen Dienste sind weiterhin registriert und funktionieren weiterhin.
-
Verlagerung des Produktionsverkehrs: Die Service Connect-Konfiguration wird aktualisiert, um den Produktionsdatenverkehr an den Green Service weiterzuleiten. Dies geschieht automatisch, ohne dass Aktualisierungen des Clientdienstes oder DNS-Änderungen erforderlich sind.
-
Backzeit: Die Dauer, in der sowohl blaue als auch grüne Service-Revisionen gleichzeitig ausgeführt werden, nachdem sich der Produktionsdatenverkehr verlagert hat.
-
Blue Service Deregistrierung: Nach erfolgreicher Verkehrsverlagerung und Validierung wird der Blue Service abgemeldet AWS Cloud Map und beendet, wodurch die Bereitstellung abgeschlossen ist.
Verhalten des Service Connect-Proxys
Der Service Connect-Proxy spielt eine entscheidende Rolle bei der Verwaltung des Datenverkehrs während der blue/green Bereitstellung. Wenn Sie sein Verhalten verstehen, können Sie effektive Test- und Bereitstellungsstrategien entwickeln.
Wichtigste Verhaltensweisen von Proxys bei blue/green Bereitstellungen:
-
Automatische Routenerkennung: Der Proxy erkennt automatisch sowohl Produktions- als auch Testrouten, AWS Cloud Map ohne dass Anwendungsneustarts oder Konfigurationsänderungen erforderlich sind.
-
Header-basiertes Routing: Der Proxy untersucht eingehende Anforderungsheader und leitet den Datenverkehr auf der Grundlage der konfigurierten Testverkehrsregeln an die entsprechende Dienstversion weiter.
-
Health Check-Integration: Der Proxy leitet den Datenverkehr nur an fehlerfreie Dienstinstanzen weiter und schließt fehlerhafte Aufgaben automatisch aus dem Routing-Pool aus.
-
Wiederholungsversuch und Unterbrechung: Der Proxy bietet eine integrierte Wiederholungslogik und Funktionen zum Unterbrechen von Verbindungen, wodurch die Ausfallsicherheit bei Bereitstellungen verbessert wird.
-
Erfassung von Metriken: Der Proxy erfasst detaillierte Metriken sowohl für blaue als auch für grüne Dienste und ermöglicht so eine umfassende Überwachung während der Bereitstellung.
Aktualisierungen der Serviceerkennung
Einer der Hauptvorteile der Verwendung von Service Connect für blue/green Bereitstellungen ist die automatische Verarbeitung von Service Discovery-Updates. Herkömmliche blue/green Bereitstellungen erfordern oft komplexe DNS-Updates oder eine Neukonfiguration des Load Balancers, aber Service Connect verwaltet diese Änderungen transparent.
Während einer Bereitstellung verarbeitet Service Connect Folgendes:
-
Namespace-Updates: Der Service Connect-Namespace umfasst automatisch sowohl blaue als auch grüne Dienstendpunkte mit entsprechenden Routing-Regeln.
-
Clientkonfiguration: Alle Clientdienste im Namespace erhalten automatisch aktualisierte Routing-Informationen, ohne dass Neustarts oder Neubereitstellungen erforderlich sind.
-
Schrittweiser Übergang: Service Discovery-Updates werden schrittweise und sicher durchgeführt, sodass laufende Anfragen nicht unterbrochen werden.
-
Rollback-Unterstützung: Wenn ein Rollback erforderlich ist, kann Service Connect die Service Discovery-Konfigurationen schnell rückgängig machen, um den Datenverkehr zurück zum Blue Service zu leiten.