Was ist AWS App Mesh? - AWS App Mesh

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 benanntapps 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 derservicea.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 derserviceB 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 Abbildungserviceb.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.