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.
Was ist AWS App Mesh?
AWS App Meshist ein Service-Mesh, mit dem Services einfach überwacht und gesteuert werden können. Ein Service Mesh ist eine Infrastrukturebene, die der service-to-service Kommunikation gewidmet ist, in der Regel über eine Reihe leichter Netzwerk-Proxys, die zusammen mit dem Anwendungscode bereitgestellt werden. App Mesh standardisiert, wie Ihre Services kommunizieren und sorgt somit für end-to-end Transparenz und hohe Verfügbarkeit für Ihre Anwendungen. App Mesh bietet Ihnen konsistente Transparenz und Kontrolle über den Netzwerkdatenverkehr eines jeden Service in einer Anwendung.
App Mesh zu einer Beispielanwendung hinzufügen
Betrachten Sie die folgende einfache Beispielanwendung, die App Mesh nicht verwendet. Die beiden Services können Amazon Elastic Kubernetes Service auf Elastic Compute Cloud (Amazon EC2) EC2-Instances mit Docker ausgeführt werden.AWS Fargate
In dieser AbbildungserviceB
sind beideserviceA
und über denapps.local
Namespace auffindbar. Nehmen wir an, Sie entscheiden sich beispielsweise für die Bereitstellung einer neuen Version vonserviceb.apps.local
namedservicebv2.apps.local
. Als Nächstes möchten Sie einen Prozentsatz des Datenverkehrs vonservicea.apps.local
anserviceb.apps.local
und einen Prozentsatz an weiterleitenservicebv2.apps.local
. Wenn Sie sicher sind,servicebv2
dass das gut funktioniert, möchten Sie 100 Prozent des Traffics dorthin senden.
App Mesh kann Ihnen dabei helfen, ohne den Anwendungscode oder die registrierten Dienstnamen zu ändern. Wenn Sie App Mesh mit dieser Beispielanwendung verwenden, sieht Ihr Mesh möglicherweise wie in der folgenden Abbildung aus.
In dieser Konfiguration kommunizieren die Dienste nicht mehr direkt miteinander. Stattdessen kommunizieren sie über einen Proxy miteinander. Der mit demservicea.apps.local
Dienst bereitgestellte Proxy liest die App Mesh Mesh-Konfiguration und sendet Datenverkehr anserviceb.apps.local
oderservicebv2.apps.local
basierend auf der Konfiguration.
Komponenten von App Mesh
App Mesh besteht aus den folgenden Komponenten, wie im vorherigen Beispiel dargestellt:
-
Service-Mesh — Ein Service-Mesh ist eine logische Begrenzung für den Netzwerkverkehr zwischen den darin vorhandenen Services. Im Beispiel wird das Netz benannt
apps
und es enthält alle anderen Ressourcen für das Netz. Weitere Informationen finden Sie unter Servicegitter. -
Virtuelle Services — Ein virtueller Service ist eine Abstraktion eines tatsächlichen Services, der direkt oder indirekt über einen virtuellen Router bereitgestellt wird. In der Abbildung stellen zwei virtuelle Dienste die beiden tatsächlichen Dienste dar. Die Namen der virtuellen Dienste sind die auffindbaren Namen der tatsächlichen Dienste. Wenn ein virtueller Dienst und ein tatsächlicher Dienst denselben Namen haben, können mehrere Dienste unter denselben Namen miteinander kommunizieren, die sie vor der Implementierung von App Mesh verwendet haben. Weitere Informationen finden Sie unter Virtuelle Services.
-
Virtuelle Knoten — Ein virtueller Knoten fungiert als logischer Verweis auf einen auffindbaren Service, z. B. einen Amazon ECS- oder Kubernetes-Dienst. Für jeden virtuellen Dienst verfügen Sie über mindestens einen virtuellen Knoten. In der Abbildung erhält der
servicea.apps.local
virtuelle Dienst Konfigurationsinformationen für den benannten virtuellen KnotenserviceA
. DerserviceA
virtuelle Knoten ist mit demservicea.apps.local
Namen für Service Discovery konfiguriert. Derserviceb.apps.local
virtuelle Dienst ist so konfiguriert, dass er denserviceB
Datenverkehr über einenserviceBv2
virtuellen Router namens an die virtuellen Knoten weiterleitetserviceB
. Weitere Informationen finden Sie unter Virtuelle Knoten. -
Virtuelle Router und Routen — Virtuelle Router verarbeiten den Datenverkehr für einen oder mehrere virtuelle Services innerhalb Ihres Netzes. Eine Route ist einem virtuellen Router zugeordnet. Die Route wird verwendet, um Anfragen für den virtuellen Router abzugleichen und den Datenverkehr an die zugehörigen virtuellen Knoten zu verteilen. In der vorherigen Abbildung verfügt der
serviceB
virtuelle Router über eine Route, die einen Prozentsatz des Datenverkehrs an denserviceB
virtuellen Knoten und einen Prozentsatz des Datenverkehrs an denserviceBv2
virtuellen Knoten weiterleitet. Sie können den Prozentsatz des Datenverkehrs festlegen, der an einen bestimmten virtuellen Knoten weitergeleitet wird, und ihn im Laufe der Zeit ändern. Sie können den Datenverkehr anhand von Kriterien wie HTTP-Headern, URL-Pfaden oder gRPC-Dienst- und Methodennamen weiterleiten. Sie können Wiederholungsrichtlinien so konfigurieren, dass eine Verbindung erneut versucht wird, wenn in der Antwort ein Fehler auftritt. In der Abbildung kann die Wiederholungsrichtlinie für die Route beispielsweise angeben, dass eine Verbindung zu fünfmal wiederholtserviceb.apps.local
wird, wobei zwischen den Wiederholungsversuchen zehn Sekunden liegen, wenn bestimmte Fehlertypenserviceb.apps.local
zurückgegeben werden. Weitere Informationen erhalten Sie unter Virtuelle Router und Routen. -
Proxy — Sie konfigurieren Ihre Dienste so, dass sie den Proxy verwenden, nachdem Sie Ihr Mesh und seine Ressourcen erstellt haben. Der Proxy liest die App Mesh Mesh-Konfiguration und leitet den Datenverkehr entsprechend weiter. In der Abbildung
serviceb.apps.local
läuft die gesamte Kommunikation vonservicea.apps.local
bis über den Proxy, der für jeden Dienst bereitgestellt wird. Die Dienste kommunizieren miteinander unter Verwendung derselben Service Discovery-Namen, die sie vor der Einführung von App Mesh verwendet haben. Da der Proxy die App Mesh Mesh-Konfiguration liest, können Sie steuern, wie die beiden Dienste miteinander kommunizieren. Wenn Sie die App Mesh Mesh-Konfiguration ändern möchten, müssen Sie die Dienste selbst oder die Proxys nicht ändern oder erneut bereitstellen. Weitere Informationen finden Sie unter Bild des Gesandten.
Erste Schritte
Um App Mesh verwenden zu könnenAWS Fargate, muss ein vorhandener Service auf Amazon ECS, Amazon EKS, Kubernetes auf Amazon EC2 oder Amazon EC2 mit Docker ausgeführt werden.
Informationen zu den ersten Schritten mit App Mesh finden Sie in einer der folgenden Anleitungen:
Zugriff auf App Mesh
Sie können App Mesh wie folgt nutzen:
- AWS Management Console
-
Die Konsole ist eine browserbasierte Schnittstelle, mit der Sie App Mesh -Ressourcen verwalten können. Sie können die App Mesh Mesh-Konsole unter https://console.aws.amazon.com/appmesh/
öffnen. - AWS CLI
-
Bietet Befehle für zahlreiche AWS-Produkte und wird unter Windows-, Mac- und Linux-Betriebssystemen unterstützt. Informationen zu den ersten Schritten finden Sie im AWS Command Line Interface-Benutzerhandbuch. Weitere Informationen zu den Befehlen für App Mesh finden Sie unter appmesh in der AWS CLIBefehlsreferenz.
- AWS Tools for Windows PowerShell
-
Bietet Befehle für zahlreicheAWS -Produkte für Benutzer, die PowerShell Umgebung erstellen. Informationen zu den ersten Schritten finden Sie im AWS Tools for Windows PowerShell-Benutzerhandbuch. Weitere Informationen zu den Cmdlets für App Mesh finden Sie unter App Mesh in der AWSTools for PowerShell Cmdlet-Referenz.
- AWS CloudFormation
-
Ermöglicht es Ihnen, eine Vorlage zu erstellen, die gewünschtenAWS Ressourcen beschreibt. Mithilfe der Vorlage werden die Ressourcen für Sie bereitgestellt und konfiguriert.AWS CloudFormation Informationen zu den ersten Schritten finden Sie im AWS CloudFormation-Benutzerhandbuch. Weitere Informationen zu den App Mesh Mesh-Ressourcentypen finden Sie unter App Mesh Mesh-Ressourcentypreferenz in der AWS CloudFormationVorlagenreferenz.
- AWS-SDKs
-
Wir bieten auch SDKs, mit denen Sie aus einer Vielzahl von Programmiersprachen auf App Mesh zugreifen können. Die SDKs kümmern sich automatisch um Aufgaben wie:
Kryptographisches Signieren Ihrer Serviceanfragen
Wiederholen von Anfragen
Umgang mit Fehlerreaktionen
Weitere Informationen über verfügbare SDKs finden Sie unter Tools für Amazon Web Services
. Weitere Informationen über die App Mesh APIs finden Sie in der AWS App MeshAPI-Referenz.