ECSAmazon-Dienste miteinander verbinden - Amazon Elastic Container Service

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.

ECSAmazon-Dienste miteinander verbinden

Anwendungen, die in ECS Amazon-Aufgaben ausgeführt werden, müssen häufig Verbindungen aus dem Internet empfangen oder eine Verbindung zu anderen Anwendungen herstellen, die in Amazon ECS Services ausgeführt werden. 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 ECS Amazon-Servicetraffic zu verteilen.

Wenn Sie eine Anwendung benötigen, um eine Verbindung zu anderen Anwendungen herzustellen, die in Amazon ECS Services ausgeführt werden, ECS bietet Amazon die folgenden Möglichkeiten, dies ohne Load Balancer zu tun:

  • Amazon ECS Service Connect

    Wir empfehlen Service Connect, das eine ECS Amazon-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 ECS Amazon-Services im selben Cluster, anderen Clustern, einschließlich Across VPCs im selben Cluster, herzustellen AWS-Region.

    Wenn Sie Service Connect verwenden, ECS verwaltet Amazon 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, die Ausführung eines Agenten in jeder Aufgabe, der so konfiguriert ist, dass er die Namen erkennt. 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 der Serviceerkennung ist beispielsweise die Steuerung einer Migration. Wenn Sie einen DNS Namen so ändern, dass er auf die neuen Ersatz-IP-Adressen verweist, kann es maximal TTL lange 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 ECS Amazon-Dienste mit Kurznamen zu verbinden.

  • Entdeckung Amazon ECS Amazon-Diensten

    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 verwendenECS. Mithilfe von Service Discovery ECS synchronisiert Amazon 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 im 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 von DNS A Datensätzen, die direkt in IP-Adressen aufgelöst werden. Bei Verwendung des awsvpc Netzwerkmodus handelt es sich bei den IP-Adressen für jede Aufgabe um einen A Datensatz. Wenn Sie jedoch den bridge 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 ein A Datensatz für die Diensterkennung nicht mehr aus. Sie müssen auch einen SRV 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 keine SRV 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. DNSDatensätze haben einen Zeitraum time-to-live (TTL), der steuert, wie lange sie zwischengespeichert werden. Es dauert einige Zeit, bis der DNS Datensatz aktualisiert ist und der Cache abläuft, sodass Ihre Anwendungen die neueste Version des DNS Datensatzes abrufen können. Daher löst Ihre Anwendung den DNS Datensatz möglicherweise so auf, 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 ECS Amazon-Dienste mit DNS Namen zu verbinden

  • VPCAmazon-Gitter

    Amazon VPC Lattice ist ein verwalteter Anwendungsnetzwerkservice, mit dem ECS Amazon-Kunden Anwendungen beobachten, sichern und überwachen können, die auf AWS Rechendiensten und Konten basierenVPCs, ohne ihren Code ändern zu müssen.

    VPCLattice 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 ECS Amazon-Services zu einer VPC Lattice-Zielgruppe können Kunden nun ECS Amazon-Aufgaben als IP-Ziele in VPC Lattice aktivieren. Amazon registriert Aufgaben ECS automatisch für die VPC Lattice-Zielgruppe, wenn Aufgaben für den registrierten Service gestartet werden.

    Weitere Informationen finden Sie unter Verwenden Sie Amazon VPC Lattice, um Ihre ECS Amazon-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 ECS Amazon-Aufgabe herstellt.

Verbindungsoptionen Überbrückt awsvpc Host
Serviceerkennung ja, setzt aber voraus, dass Kunden sich der SRV Aufzeichnungen bewusst sind, die sich DNS außerhalb befindenhostPort. Ja ja, setzt aber voraus, dass die Kunden sich der SRV Aufzeichnungen im Ausland bewusst DNS sindhostPort.
Service Connect Ja Ja Nein
VPCGitter Ja Ja Ja