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.
Zonenbewusstes Routing von Amazon ECS Service Connect
Mit dem zonenorientierten Routing von Amazon ECS Service Connect bleibt der Datenverkehr in derselben Availability Zone (AZ) wie der Client. Dadurch werden die Kosten und die Latenz bei der AZ-übergreifenden Datenübertragung reduziert, ohne dass zusätzliche Änderungen an der Infrastruktur oder am Anwendungscode erforderlich sind. Wenn die Endpunkte auf mehrere AZs verteilt sind, bleiben mehr als 80% des Datenverkehrs lokal, während sich die Verkehrsgewichtung dynamisch an die Skalierung der Endpunkte anpasst, um eine ausgeglichene Auslastung aller Zieldienste aufrechtzuerhalten. Zone-aware Das Routing ist standardmäßig für alle neuen und vorhandenen Dienste aktiviert, die Service Connect verwenden.
So funktioniert zonenbewusstes Routing
Der Algorithmus verwendet die zonenabhängige Routing-Funktion von Envoy im Service Connect-Proxy, um den Datenverkehr auf der Grundlage der Endpunktlokalität weiterzuleiten:
-
Endpunkterkennung ‐ Der Proxy erkennt alle verfügbaren Endpunkte für den Zieldienst und deren AZ-Platzierung.
-
Same-AZ Priorisierung — Der Proxy berechnet anhand des Verhältnisses der Endpunktverteilung zwischen Quell- (Client) und Ziel-AZs (Server), welcher Prozentsatz des Datenverkehrs in derselben AZ verbleibt. Wenn die Endpunkte gleichmäßig über Zonen verteilt sind, liegt der Same-AZ-Verkehr in der Regel bei über 80%.
-
Routing mit Restkapazität ‐ Datenverkehr, der nicht in derselben AZ bleiben kann, wird auf der Grundlage ihrer Restkapazität auf andere AZs verteilt. Der Proxy berechnet die Restkapazität jeder Zone und verteilt den AZ-übergreifenden Verkehr proportional auf Zonen mit positiver Restkapazität. Wenn Endpunkte nach oben oder unten skaliert werden, berechnet der Proxy die Routing-Gewichtungen in Echtzeit neu.
-
Überlastschutz und Fallback ‐ Um zu verhindern, dass eine einzelne AZ überlastet wird, benötigt der Proxy mindestens zweimal so viele AZs wie verfügbare Endpunkte im Zieldienst. Für eine 3-AZ-Region bedeutet dies mindestens 6 Endpunkte. Unterhalb dieses Schwellenwerts wird zonenorientiertes Routing deaktiviert und der Datenverkehr wird mithilfe von Round-Robin-Load Balancing gleichmäßig verteilt. Das Routing wird automatisch reaktiviert, wenn die Anzahl der Endpunkte den Schwellenwert überschreitet. Wenn Endpunkte in derselben AZ nicht mehr verfügbar sind, wird der Datenverkehr auf andere AZs umverteilt, um die Verfügbarkeit aufrechtzuerhalten.
Überprüfen Sie das zonenorientierte Routing auf Amazon EC2
Auf Amazon EC2-Container-Instances, die die Docker-Runtime verwenden, können Sie die Envoy-Proxy-Statistiken im Service Connect-Agent-Container überprüfen, um zu bestätigen, dass zonenbewusstes Routing aktiv ist. Für dieses Verfahren ist der Zugriff auf den AWS Systems Manager Session Manager-Host erforderlich und. docker exec Verwenden Sie für AWS Fargate oder Container-Instancescontainerd, die dies verwenden, Amazon Virtual Private Cloud Flow Logs, um das Routing-Verhalten zu überprüfen, wie unter beschriebenÜberwachung des zonenorientierten Routings.
Um zonenbewusstes Routing auf Amazon EC2 mit Docker zu überprüfen
-
Stellen Sie mit Session Manager eine Verbindung zur Container-Instance her. AWS Systems Manager
instance-idErsetzen Sie es durch Ihre Container-Instance-ID.aws ssm start-session --targetinstance-id -
Öffnen Sie eine Shell im Service Connect Agent-Container.
sudo docker exec -it $(sudo docker ps --filter "name=ecs-service-connect" -q | head -1) /bin/sh -
Fragen Sie Zonen-Routing-Statistiken über die Envoy-Adminoberfläche ab.
curl --unix-socket /tmp/envoy_admin.sock http://unix/stats | grep "lb_zone" -
Überprüfen Sie die Ausgabe. Bei einer fehlerfreien Bereitstellung mit aktivem zonenorientiertem Routing werden keine zonenübergreifenden Anfragen angezeigt:
cluster.my-service.lb_zone_routing_cross_zone: 0 cluster.my-service.lb_zone_cluster_too_small: 0
In der folgenden Tabelle werden die wichtigsten Zonenrouting-Metriken beschrieben.
| Metrik | Description |
|---|---|
lb_zone_routing_cross_zone |
Anzahl der Anfragen, die an einen Endpunkt in einer anderen AZ weitergeleitet wurden. Ein anhaltender Wert 0 bestätigt, dass der gesamte Verkehr innerhalb derselben AZ bleibt. |
lb_zone_cluster_too_small |
Häufigkeit, mit der das zonenabhängige Routing umgangen wurde, weil die Anzahl der Endpunkte unter dem Mindestschwellenwert lag. Non-zero Die Werte bei der ersten Bereitstellung werden erwartet und lösen sich auf, sobald die Endpunkte wieder funktionsfähig sind. Eine stabile Bereitstellung zeigt 0 an. |
Überwachung des zonenorientierten Routings
Verwenden Sie Amazon Virtual Private Cloud Flow Logs zusammen mit dem az-id Feld, um Verkehrsmuster auf Netzwerkebene zu beobachten. Dies zeigt, von welcher AZ jeder Flow-Datensatz stammt und in welchem er endet, sodass Sie das Verkehrsverhältnis zwischen Same-AZ und Cross-AZ messen können. Sie können den AWS Cost Explorer auch verwenden, um die Gebühren für AZ-übergreifende Datenübertragungen vor und nach der erneuten Bereitstellung Ihrer Dienste nachzuverfolgen, um zonenorientiertes Routing zu ermöglichen.
Weitere Informationen zur Konfiguration von Flow-Protokollen finden Sie unter VPC Flow Logs im Amazon Virtual Private Cloud-Benutzerhandbuch.
Überlegungen
Beachten Sie Folgendes, wenn Sie zonenbewusstes Routing verwenden:
-
Zone-aware Routing funktioniert mit allen Starttypen.
-
Zone-aware Routing ist mit kontoübergreifenden Service Connect-Namespaces kompatibel, die gemeinsam genutzt werden. AWS Resource Access Manager
-
Bestehende Dienste (sowohl Client als auch Server) erfordern eine einmalige Neubereitstellung, um zonenorientiertes Routing zu aktivieren. Nach der ersten erneuten Bereitstellung passt sich das Routing dynamisch an, wenn sich die Endpunkte ändern, ohne dass weitere Bereitstellungen erforderlich sind.