Interconnectez les services Amazon ECS - Amazon Elastic Container Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Interconnectez les services Amazon ECS

Les applications qui s'exécutent dans ECS les tâches Amazon ont souvent besoin de recevoir des connexions depuis Internet ou de se connecter à d'autres applications exécutées dans les ECS services Amazon. Si vous avez besoin de connexions externes depuis Internet, nous vous recommandons d'utiliser Elastic Load Balancing. Pour plus d'informations sur l'équilibrage de charge intégrée, consultez Utiliser l'équilibrage de charge pour répartir le trafic des ECS services Amazon.

Si vous avez besoin d'une application pour vous connecter à d'autres applications exécutées dans les ECS services Amazon, Amazon ECS propose les méthodes suivantes pour le faire sans équilibreur de charge :

  • Amazon ECS Service Connect

    Nous recommandons Service Connect, qui fournit une ECS configuration Amazon pour la découverte de services, la connectivité et la surveillance du trafic. Avec Service Connect, vos applications peuvent utiliser des noms abrégés et des ports standard pour se connecter aux ECS services Amazon du même cluster ou à d'autres clusters, y compris VPCs à travers le même cluster Région AWS.

    Lorsque vous utilisez Service Connect, Amazon ECS gère toutes les étapes de la découverte de services : création des noms pouvant être découverts, gestion dynamique des entrées pour chaque tâche au démarrage et à l'arrêt des tâches, exécution d'un agent pour chaque tâche configuré pour découvrir les noms. Votre application peut rechercher les noms en utilisant les fonctionnalités standard relatives aux DNS noms et en établissant des connexions. Si votre application le fait déjà, vous n'avez pas besoin de la modifier pour utiliser Service Connect.

    Vous fournissez la configuration complète dans chaque définition de service et de tâche. Amazon ECS gère les modifications apportées à cette configuration lors de chaque déploiement de service, afin de garantir que toutes les tâches d'un déploiement se comportent de la même manière. Par exemple, l'un des problèmes courants liés à DNS la découverte de services est le contrôle d'une migration. Si vous modifiez un DNS nom pour qu'il pointe vers les nouvelles adresses IP de remplacement, cela peut prendre un maximum de TTL temps avant que tous les clients commencent à utiliser le nouveau service. Avec Service Connect, le déploiement du client met à jour la configuration en remplaçant les tâches du client. Vous pouvez configurer le disjoncteur de déploiement et toute autre configuration de déploiement pour affecter les modifications de Service Connect de la même manière que pour tout autre déploiement.

    Pour de plus amples informations, veuillez consulter Utilisez Service Connect pour connecter les ECS services Amazon à l'aide de noms abrégés.

  • Amazon ECS Service Discovery

    Une autre approche de service-to-service communication est la communication directe à l'aide de la découverte de services. Dans cette approche, vous pouvez utiliser l'intégration de la découverte de AWS Cloud Map services avec AmazonECS. À l'aide de la découverte de services, Amazon ECS synchronise la liste des tâches lancées avec AWS Cloud Map, ce qui permet de conserver un DNS nom d'hôte qui correspond aux adresses IP internes d'une ou de plusieurs tâches provenant de ce service en particulier. D'autres services d'Amazon VPC peuvent utiliser ce DNS nom d'hôte pour envoyer du trafic directement vers un autre conteneur en utilisant son adresse IP interne.

    Cette approche de service-to-service communication permet une faible latence. Il n'y a aucun composant supplémentaire entre les récipients. Le trafic se déplace directement d'un conteneur à l'autre.

    Cette approche convient lorsque vous utilisez le mode awsvpc réseau, où chaque tâche possède sa propre adresse IP unique. La plupart des logiciels ne prennent en charge que l'utilisation d'DNSAenregistrements, qui se résolvent directement en adresses IP. Lorsque vous utilisez le mode awsvpc réseau, l'adresse IP de chaque tâche est un A enregistrement. Toutefois, si vous utilisez le mode bridge réseau, plusieurs conteneurs peuvent partager la même adresse IP. En outre, les mappages de ports dynamiques entraînent l'attribution aléatoire de numéros de port aux conteneurs sur cette adresse IP unique. À ce stade, un A enregistrement ne suffit plus pour la découverte de services. Vous devez également utiliser un SRV enregistrement. Ce type d'enregistrement permet de suivre à la fois les adresses IP et les numéros de port, mais nécessite que vous configuriez les applications de manière appropriée. Certaines applications prédéfinies que vous utilisez peuvent ne pas prendre en charge SRV les enregistrements.

    Un autre avantage du mode awsvpc réseau est que vous disposez d'un groupe de sécurité unique pour chaque service. Vous pouvez configurer ce groupe de sécurité pour autoriser les connexions entrantes provenant uniquement des services en amont spécifiques qui doivent communiquer avec ce service.

    Le principal inconvénient de la service-to-service communication directe utilisant la découverte de services est que vous devez implémenter une logique supplémentaire pour effectuer de nouvelles tentatives et faire face aux échecs de connexion. DNSles enregistrements ont une période time-to-live (TTL) qui contrôle la durée pendant laquelle ils sont mis en cache. Il faut un certain temps pour que l'DNSenregistrement soit mis à jour et que le cache expire afin que vos applications puissent récupérer la dernière version de l'DNSenregistrement. Il se peut donc que votre application finisse par résoudre l'DNSenregistrement pour pointer vers un autre conteneur qui n'existe plus. Votre application doit gérer les nouvelles tentatives et avoir une logique lui permettant d'ignorer les mauvais backends.

    Pour plus d’informations, consultez Utilisez la découverte de services pour associer les ECS services Amazon à des DNS noms.

Tableau de compatibilité des modes réseau

Le tableau suivant décrit la compatibilité entre ces options et les modes réseau des tâches. Dans le tableau, le terme « client » fait référence à l'application qui établit les connexions depuis une ECS tâche Amazon.

Options d'interconnexion Pontée awsvpc Host (Hôte)
Découverte de service Oui, mais exige que les clients soient au courant de l'existence de SRV dossiers DNS extérieurshostPort. oui Oui, mais exige que les clients soient au courant de l'existence de SRV dossiers DNS extérieurshostPort.
Service Connect oui oui non