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.
Amazon ECS-Services verbinden
Anwendungen, die in Amazon-ECS-Aufgaben ausgeführt werden, müssen häufig Verbindungen aus dem Internet empfangen oder eine Verbindung zu anderen Anwendungen, die in Amazon-ECS-Services ausgeführt werden, herstellen. Wenn Sie externe Verbindungen aus dem Internet benötigen, empfehlen wir die Verwendung von Elastic Load Balancing. Weitere Informationen zu integriertem Load Balancing finden Sie unter Verwenden Sie Load Balancing, um den Amazon ECS-Serviceverkehr zu verteilen.
Wenn Sie eine Anwendung benötigen, um eine Verbindung zu anderen Anwendungen herzustellen, die in Amazon-ECS-Services ausgeführt werden, bietet Amazon ECS die folgenden Möglichkeiten, dies ohne einen Load Balancer zu tun:
-
Amazon ECS Service Connect
Wir empfehlen Service Connect, das eine Amazon ECS-Konfiguration für Serviceerkennung, Konnektivität und Verkehrsüberwachung bietet. Mit Service Connect können Ihre Anwendungen Kurznamen und Standardports verwenden, um eine Verbindung zu Amazon ECS-Services im selben Cluster, anderen Clustern, einschließlich Across VPCs im selben, herzustellen AWS-Region.
Wenn Sie Service Connect verwenden, verwaltet Amazon ECS alle Teile der Serviceerkennung: die Erstellung der Namen, die erkannt werden können, die dynamische Verwaltung von Einträgen für jede Aufgabe, wenn die Aufgaben gestartet und beendet werden, das Ausführen eines Agenten in jeder Aufgabe, der für die Erkennung der Namen konfiguriert ist. Ihre Anwendung kann die Namen mithilfe der Standardfunktionen für DNS-Namen und das Herstellen von Verbindungen nachschlagen. Wenn Ihre Anwendung dies bereits tut, müssen Sie Ihre Anwendung nicht ändern, um Service Connect verwenden zu können.
Sie stellen die vollständige Konfiguration in jeder Dienst- und Aufgabendefinition bereit. Amazon ECS verwaltet Änderungen an dieser Konfiguration in jeder Servicebereitstellung, um sicherzustellen, dass sich alle Aufgaben in einer Bereitstellung auf die gleiche Weise verhalten. Ein häufiges Problem bei DNS as Service Discovery ist beispielsweise die Steuerung einer Migration. Wenn Sie einen DNS-Namen so ändern, dass er auf die neuen Ersatz-IP-Adressen verweist, kann es die maximale TTL-Zeit dauern, bis alle Clients den neuen Dienst verwenden. Mit Service Connect aktualisiert die Client-Bereitstellung die Konfiguration, indem sie die Client-Tasks ersetzt. Sie können den Deployment Circuit Breaker und andere Bereitstellungskonfigurationen so konfigurieren, dass sie Service Connect-Änderungen genauso beeinflussen wie jede andere Bereitstellung.
Weitere Informationen finden Sie unter Verwenden Sie Service Connect, um Amazon ECS-Services mit Kurznamen zu verbinden.
-
Amazon-ECS-Serviceerkennung
Ein weiterer service-to-service Kommunikationsansatz ist die direkte Kommunikation mithilfe von Service Discovery. Bei diesem Ansatz können Sie die AWS Cloud Map Service Discovery-Integration mit Amazon ECS verwenden. Mithilfe von Service Discovery synchronisiert Amazon ECS die Liste der gestarteten Aufgaben mit AWS Cloud Map, das einen DNS-Hostnamen verwaltet, der in die internen IP-Adressen einer oder mehrerer Aufgaben von diesem bestimmten Service aufgelöst wird. Andere Dienste in der Amazon VPC können diesen DNS-Hostnamen verwenden, um Traffic mithilfe seiner internen IP-Adresse direkt an einen anderen Container zu senden.
Dieser service-to-service Kommunikationsansatz bietet eine geringe Latenz. Zwischen den Containern befinden sich keine zusätzlichen Komponenten. Der Verkehr wird direkt von einem Container zum anderen Container geleitet.
Dieser Ansatz eignet sich für den
awsvpc
Netzwerkmodus, in dem jede Aufgabe ihre eigene eindeutige IP-Adresse hat. Die meiste Software unterstützt nur die Verwendung vonA
DNS-Einträgen, die direkt in IP-Adressen aufgelöst werden. Bei Verwendung desawsvpc
Netzwerkmodus handelt es sich bei den IP-Adressen für jede Aufgabe um einenA
Datensatz. Wenn Sie jedoch denbridge
Netzwerkmodus verwenden, können sich mehrere Container dieselbe IP-Adresse teilen. Darüber hinaus führen dynamische Portzuordnungen dazu, dass den Containern nach dem Zufallsprinzip Portnummern für diese einzelne IP-Adresse zugewiesen werden. Zu diesem Zeitpunkt reicht einA
Datensatz für die Diensterkennung nicht mehr aus. Sie müssen auch einenSRV
Datensatz verwenden. Dieser Datensatztyp kann sowohl IP-Adressen als auch Portnummern nachverfolgen, erfordert jedoch, dass Sie die Anwendungen entsprechend konfigurieren. Einige vorgefertigte Anwendungen, die Sie verwenden, unterstützen möglicherweise keineSRV
Datensätze.Ein weiterer Vorteil des
awsvpc
Netzwerkmodus besteht darin, dass Sie für jeden Dienst eine eigene Sicherheitsgruppe haben. Sie können diese Sicherheitsgruppe so konfigurieren, dass eingehende Verbindungen nur von den spezifischen Upstream-Diensten zugelassen werden, die mit diesem Dienst kommunizieren müssen.Der Hauptnachteil der direkten service-to-service Kommunikation mithilfe von Service Discovery besteht darin, dass Sie zusätzliche Logik implementieren müssen, um Wiederholungsversuche durchzuführen und Verbindungsfehler zu beheben. DNS-Einträge haben einen Zeitraum time-to-live (TTL), der bestimmt, wie lange sie zwischengespeichert werden. Es dauert einige Zeit, bis der DNS-Eintrag aktualisiert ist und der Cache abläuft, sodass Ihre Anwendungen die neueste Version des DNS-Eintrags abrufen können. Es kann also sein, dass Ihre Anwendung den DNS-Eintrag so auflöst, dass er auf einen anderen Container verweist, der nicht mehr vorhanden ist. Ihre Anwendung muss Wiederholungsversuche verarbeiten und über eine Logik verfügen, um fehlerhafte Backends zu ignorieren.
Weitere Informationen finden Sie unter Verwenden Sie Service Discovery, um Amazon ECS-Services mit DNS-Namen zu verbinden.
-
Amazon VPC-Gitter
Amazon VPC Lattice ist ein verwalteter Anwendungsnetzwerkservice, den Amazon ECS-Kunden verwenden, um Anwendungen zu beobachten, zu sichern und zu überwachen, die auf AWS Rechendiensten und Konten basieren VPCs, ohne ihren Code ändern zu müssen.
VPC Lattice verwendet Zielgruppen, bei denen es sich um eine Sammlung von Rechenressourcen handelt. Diese Ziele führen Ihre Anwendung oder Ihren Service aus und können EC2 Amazon-Instances, IP-Adressen, Lambda-Funktionen und Application Load Balancer sein. Durch die Zuordnung ihrer Amazon ECS-Services zu einer VPC Lattice-Zielgruppe können Kunden jetzt Amazon ECS-Aufgaben als IP-Ziele in VPC Lattice aktivieren. Amazon ECS registriert Aufgaben automatisch für die Zielgruppe von VPC Lattice, wenn Aufgaben für den registrierten Service gestartet werden.
Weitere Informationen finden Sie unter Verwenden Sie Amazon VPC Lattice, um Ihre Amazon ECS-Services zu verbinden, zu beobachten und zu sichern.
Kompatibilitätstabelle für den Netzwerkmodus
In der folgenden Tabelle wird die Kompatibilität zwischen diesen Optionen und den Aufgaben-Netzwerkmodi beschrieben. In der Tabelle bezieht sich „Client“ auf die Anwendung, die die Verbindungen innerhalb einer Amazon-ECS-Aufgabe herstellt.
Verbindungsoptionen | Überbrückt | awsvpc |
Host |
---|---|---|---|
Serviceerkennung | Ja, setzt jedoch voraus, dass Clients die SRV-Einträge im DNS ohne hostPort kennen. |
Ja | Ja, setzt jedoch voraus, dass Clients die SRV-Einträge im DNS ohne hostPort kennen. |
Service Connect | Ja | Ja | Nein |
VPC Lattice | Ja | Ja | Ja |