AWS App Mesh facilite l'exécution de services en fournissant une visibilité cohérente et des contrôles de trafic réseau pour chaque service. App Mesh sépare la logique nécessaire à la surveillance et au contrôle des communications au sein d'un proxy qui fonctionne à côté de chaque service. Cela évite de devoir coordonner les équipes et mettre à jour le code de l'application pour modifier le mode de collecte des données de surveillance ou le routage du trafic. Cela vous permet de localiser rapidement les erreurs et de rediriger automatiquement le trafic réseau en cas de panne ou lorsque des modifications de code doivent être déployées.
Vous pouvez utiliser App Mesh avec AWS Fargate, Amazon ECS, Amazon EKS, Amazon EC2 et Kubernetes sur EC2 pour mieux exécuter les services à grande échelle. App Mesh utilise Envoy, un proxy open source compatible avec un large éventail d'outils de partenariat AWS et open source pour la surveillance des services.
Proxy open source
App Mesh utilise le proxy open source Envoy pour gérer tout le trafic entrant et sortant des conteneurs d'un service. App Mesh configure ce proxy pour gérer automatiquement toutes les communications d'application du service. Envoy dispose d'un écosystème dynamique d'intégrations élaborées par la communauté et fonctionnant avec App Mesh.
Services AWS compatibles :
Amazon CloudWatch* – service de surveillance et de journalisation pour une visibilité complète des ressources et des applications.
AWS X-Ray* – service de traçage pour un aperçu de bout en bout des performances d'application.
Outils de partenariat AWS et open source compatibles :
Datadog, Alcide, HashiCorp, Sysdig, Signalfx, Spotinst, Tetrate, Neuvector, Weaveworks, Twistlock, Wavefront by VMware, Aqua.
Routage du trafic
App Mesh vous permet de configurer des services pour qu'ils se connectent directement les uns aux autres plutôt que d'exiger du code au sein de l'application ou d'utiliser un équilibreur de charge. Lorsqu'un service est lancé, ses proxys se connectent à App Mesh et reçoivent des données de configuration sur l'emplacement des autres services dans le maillage. Vous pouvez utiliser les contrôles dans App Mesh pour mettre à jour de manière dynamique le routage du trafic entre les services sans avoir à apporter aucune modification au code de votre application.
Stratégies de trafic côté client
Les proxys équilibrent automatiquement la charge du trafic provenant de tous les clients dans le maillage, puis ajoutent et retirent les points de terminaison d’équilibrage de charge en fonction des vérifications de l’état et de l’enregistrement des services. Ces fonctionnalités facilitent le déploiement des nouvelles versions de vos services et permettent d'ajuster les applications pour qu'elles puissent résister aux défaillances.
Authentification de service à service
L’authentification mutuelle TLS (mTLS) active l’authentification de la couche de transport qui fournit une vérification de l’identité de service à service pour les composants d’application fonctionnant à l’intérieur et à l’extérieur des maillages de services. Elle permet au clients d’étendre le périmètre de sécurité aux applications s’exécutant sur AWS App Mesh en provisionnant les certificats de l’autorité de certification privée AWS Certificate Manager ou d’une autorité de certification gérée par le client sur les charges de travail dans le maillage de services. Elle permet également d’appliquer l’authentification automatiques pour les applications client qui se connectent aux services.
Expérience utilisateur natif de l’orchestration de conteneur
App Mesh fonctionne avec des services gérés par Amazon ECS, Amazon EKS, AWS Fargate, Kubernetes s'exécutant sur EC2. Pour les charges de travail conteneurisées exécutées sur ECS, EKS, Fargate ou Kubernetes, vous incluez le proxy App Mesh fourni dans le cadre de la définition de tâche ou de pod pour chaque microservice et configurez le conteneur d'applications des services pour communiquer directement avec le proxy. Lorsque le service se lance, le proxy s'enregistre automatiquement avec et est configuré par App Mesh.
Service entièrement géré
AWS App Mesh est un service géré et hautement disponible. App Mesh vous permet de gérer les communications entre les services sans avoir à installer ni à gérer une infrastructure au niveau de l’application pour la gestion des communications.