Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Composants d'Amazon ECS Service Connect

Mode de mise au point
Composants d'Amazon ECS Service Connect - 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.

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.

Lorsque vous utilisez Amazon ECS Service Connect, vous configurez chaque service Amazon ECS pour exécuter une application serveur qui reçoit des demandes réseau (service client-serveur) ou pour exécuter une application client qui effectue les demandes (service client).

Lorsque vous vous préparez à utiliser Service Connect, commencez par un service client-serveur. Vous pouvez ajouter une configuration Service Connect à un nouveau service ou à un service existant. Amazon ECS crée un point de terminaison Service Connect dans l'espace de noms. En outre, Amazon ECS crée un nouveau déploiement dans le service pour remplacer les tâches en cours d'exécution.

Les tâches existantes et les autres applications peuvent continuer à se connecter aux points de terminaison existants et aux applications externes. Si un service client-serveur ajoute des tâches par extension, les nouvelles connexions des clients seront équilibrées entre toutes les tâches. Si un service client-serveur est mis à jour, les nouvelles connexions des clients seront équilibrées entre les tâches de la nouvelle version.

Les tâches existantes ne peuvent pas être résolues et se connecter au nouveau point de terminaison. Seules les nouvelles tâches dotées d'une configuration Service Connect dans le même espace de noms et qui commencent à s'exécuter après ce déploiement peuvent être résolues et se connecter à ce point de terminaison.

Cela signifie que l'opérateur de l'application cliente détermine quand la configuration de son application change, même si l'opérateur de l'application serveur peut modifier sa configuration à tout moment. La liste des points de terminaison dans l'espace de noms peut changer chaque fois qu'un service de l'espace de noms est déployé. Les tâches existantes et les tâches de remplacement continuent de se comporter de la même manière qu'après le dernier déploiement.

Considérez les exemples suivants.

Tout d'abord, supposons que vous créez une application disponible sur Internet public dans un seul AWS CloudFormation modèle et une seule AWS CloudFormation pile. La découverte publique et l'accessibilité doivent être créées en dernier lieu AWS CloudFormation, y compris le service client frontal. Les services doivent être créés dans cet ordre afin d'éviter toute période pendant laquelle le service client frontend fonctionne et est accessible au public, alors que le backend ne l'est pas. Cela permet d'éliminer l'envoi de messages d'erreur au public pendant cette période. Dans AWS CloudFormation, vous devez utiliser le dependsOn pour indiquer AWS CloudFormation que plusieurs services Amazon ECS ne peuvent pas être créés en parallèle ou simultanément. Vous devez ajouter la valeur dependsOn au service client frontal pour chaque service backend client-serveur auquel les tâches clientes se connectent.

Ensuite, supposons qu'un service frontal existe sans configuration Service Connect. Les tâches se connectent à un service backend existant. Ajoutez d'abord une configuration Service Connect client-serveur au service backend, en utilisant le même nom dans le DNS ou clientAlias que celui utilisé par le frontend. Cela crée un nouveau déploiement, donc toutes les détections d'annulation du déploiement ou AWS Management Console AWS CLI, AWS SDKs et d'autres méthodes pour annuler et rétablir le service principal au déploiement et à la configuration précédents. Si vous êtes satisfait des performances et du comportement du service backend, ajoutez une configuration Service Connect client ou client-serveur au service frontal. Seules les tâches du nouveau déploiement utilisent le proxy Service Connect qui est ajouté à ces nouvelles tâches. Si vous rencontrez des problèmes avec cette configuration, vous pouvez revenir à votre configuration précédente en utilisant la détection de l'annulation du déploiement ou AWS Management Console en utilisant d'autres méthodes pour annuler AWS SDKs et rétablir le service principal à son déploiement et à sa configuration précédents. AWS CLI Si vous utilisez un autre système de découverte de services basé sur le DNS au lieu de Service Connect, toutes les applications frontales ou clientes commencent à utiliser de nouveaux points de terminaison et à modifier la configuration des points de terminaison après l'expiration du cache DNS local, ce qui prend généralement plusieurs heures.

Réseaux

Par défaut, le proxy Service Connect écoute le mappage des ports containerPort de définition des tâches. Les règles de votre groupe de sécurité doivent autoriser le trafic entrant (entrant) vers ce port en provenance des sous-réseaux sur lesquels les clients seront exécutés.

Même si vous définissez un numéro de port dans la configuration du service Service Connect, cela ne modifie pas le port du service client-serveur écouté par le proxy Service Connect. Lorsque vous définissez ce numéro de port, Amazon ECS modifie le port du point de terminaison auquel les services clients se connectent, sur le proxy Service Connect au sein de ces tâches. Le proxy du service client se connecte au proxy du service client-serveur à l'aide du containerPort.

Si vous souhaitez modifier le port sur lequel le proxy Service Connect écoute, modifiez le ingressPortOverride dans la configuration Service Connect du service client-serveur. Si vous modifiez ce numéro de port, vous devez autoriser le trafic entrant sur ce port qui est utilisé par le trafic vers ce service.

Le trafic que vos applications envoient aux services Amazon ECS configurés pour Service Connect nécessite qu'Amazon VPC et les sous-réseaux disposent de règles de table de routage et de règles d'ACL réseau qui autorisent les numéros de port containerPort et ingressPortOverride que vous utilisez.

Vous pouvez utiliser Service Connect pour envoyer du trafic entre deux VPCs. Les mêmes exigences relatives aux règles de table de routage, au réseau ACLs et aux groupes de sécurité s'appliquent aux deux VPCs.

Par exemple, deux clusters créent des tâches différentes VPCs. Un service dans chaque cluster est configuré pour utiliser le même espace de noms. Les applications dans ces deux services peuvent résoudre tous les points de terminaison de l'espace de noms sans aucune configuration DNS VPC. Cependant, les proxys ne peuvent pas se connecter à moins que les tables de routage VPC, le VPC ou les tables de routage de sous-réseau et le réseau ACLs VPC n'autorisent le trafic sur les numéros de port et. containerPort ingressPortOverride

Pour les tâches utilisant le mode bridge réseau, vous devez créer un groupe de sécurité doté d'une règle entrante autorisant le trafic sur la plage de ports dynamiques supérieure. Attribuez ensuite le groupe de sécurité à toutes les EC2 instances du cluster Service Connect.

Proxy Service Connect

Si vous créez ou mettez à jour un service avec la configuration Service Connect, Amazon ECS ajoute un nouveau conteneur à chaque nouvelle tâche dès son démarrage. Ce modèle d'utilisation d'un conteneur séparé est nommé sidecar. Ce conteneur n'est pas présent dans la définition de la tâche et vous ne pouvez pas le configurer. Amazon ECS gère la configuration du conteneur dans le service. Cela vous permet de réutiliser les mêmes définitions de tâches entre plusieurs services, espaces de noms et tâches sans Service Connect.

Ressource de proxy
  • Pour les définitions de tâches, vous devez définir les paramètres du processeur et de la mémoire.

    Nous vous recommandons d'ajouter 256 unités de processeur supplémentaires et au moins 64 MiB de mémoire au processeur de vos tâches et à la mémoire pour le conteneur proxy Service Connect. Dans AWS Fargate, la quantité de mémoire la plus faible que vous pouvez définir est de 512 Mio de mémoire. Sur Amazon EC2, la mémoire de définition des tâches est requise.

  • Pour le service, vous définissez la configuration du journal dans la configuration Service Connect.

  • Si vous prévoyez que les tâches de ce service reçoivent plus de 500 demandes par seconde à leur charge maximale, nous vous recommandons d'ajouter 512 unités de processeur à votre processeur de tâches dans cette définition de tâche pour le conteneur de proxy Service Connect.

  • Si vous prévoyez de créer plus de 100 services Service Connect dans l'espace de noms ou 2 000 tâches au total pour tous les services Amazon ECS dans l'espace de noms, nous vous recommandons d'ajouter 128 Mio de mémoire à votre mémoire de tâche pour le conteneur de proxy Service Connect. Vous devez le faire dans chaque définition de tâche utilisée par tous les services Amazon ECS dans l'espace de noms.

Configuration du proxy

Vos applications se connectent au proxy dans le conteneur sidecar dans le cadre de la même tâche dans laquelle se trouve l'application. Amazon ECS configure la tâche et les conteneurs de telle sorte que les applications se connectent au proxy uniquement lorsque l'application est connectée aux noms des points de terminaison dans le même espace de noms. Tout le reste du trafic n'utilise pas le proxy. L'autre trafic inclut les adresses IP du même VPC, les points de terminaison AWS de service et le trafic externe.

Equilibrage de charge

Service Connect configure le proxy pour qu'il utilise la stratégie alternée pour équilibrer la charge entre les tâches d'un point de terminaison Service Connect. Le proxy local présent dans la tâche d'où provient la connexion choisit l'une des tâches du service client-serveur qui fournit le point de terminaison.

Prenons l'exemple d'une tâche exécutée WordPress dans un service configuré en tant que service client dans un espace de noms appelé local. Il existe un autre service avec deux tâches qui exécutent la base de données MySQL. Ce service est configuré pour fournir un point de terminaison appelé mysql via Service Connect dans le même espace de noms. Dans WordPress cette tâche, l' WordPress application se connecte à la base de données en utilisant le nom du point de terminaison. Les connexions portant ce nom sont dirigées vers le proxy qui s'exécute dans un conteneur annexe dans le cadre de la même tâche. Le proxy peut ensuite se connecter à l'une ou l'autre des tâches MySQL en utilisant la stratégie alternée.

Stratégies d'équilibrage de charge : alternance

Détection des valeurs aberrantes

Cette fonctionnalité utilise les données dont dispose le proxy concernant les échecs de connexion précédents pour éviter d'envoyer de nouvelles connexions aux hôtes dont les connexions ont échoué. Service Connect configure la fonctionnalité de détection des valeurs aberrantes du proxy afin de fournir des surveillances de l'état passives.

Dans l'exemple précédent, le proxy peut se connecter à l'une des tâches MySQL. Si le proxy a établi plusieurs connexions à une tâche MySQL spécifique et que 5 connexions ou plus ont échoué au cours des 30 dernières secondes, le proxy évite cette tâche MySQL pendant 30 à 300 secondes.

Nouvelle tentative

Service Connect configure le proxy pour qu'il tente à nouveau la connexion qui passe par le proxy et échoue, et la deuxième tentative évite d'utiliser l'hôte de la connexion précédente. Cela garantit que chaque connexion via Service Connect n'échoue pas pour des raisons ponctuelles.

Nombre de nouvelles tentatives : 2

Expiration

Service Connect configure le proxy pour qu'il attende au maximum que vos applications client-serveur répondent. La valeur du délai d'expiration par défaut est de 15 secondes, mais elle peut être mise à jour.

Paramètres facultatifs :

IdleTimeout ‐ Durée en secondes pendant laquelle une connexion reste active lorsqu'elle est inactive. Une valeur de 0 désactive. idleTimeout

La idleTimeout valeur par défaut pourHTTP/HTTP2/GRPCest de 5 minutes.

La durée idleTimeout par défaut TCP est de 1 heure.

perRequestTimeout‐ Le temps d'attente pour que l'amont réponde avec une réponse complète par demande. La valeur est 0 désactivéeperRequestTimeout. Cela ne peut être défini que lorsque le conteneur appProtocol de l'application estHTTP/HTTP2/GRPC. La valeur par défaut est de 15 secondes.

Note

S'idleTimeoutil est défini sur une durée inférieure àperRequestTimeout, la connexion se ferme lorsque le idleTimeout est atteint et non leperRequestTimeout.

Considérations

Lorsque vous utilisez Service Connect, tenez compte des points suivants :

  • Les tâches exécutées dans Fargate doivent utiliser la version 1.4.0 de la plateforme Fargate Linux ou supérieure pour utiliser Service Connect.

  • La version de l'agent Amazon ECS sur l'instance de conteneur doit être 1.67.2 ou supérieure.

  • Les instances de conteneur doivent exécuter la version 20230428 ou une version ultérieure d'AMI Amazon Linux 2023 optimisée pour Amazon ECS, ou la version 2.0.20221115 d'AMI Amazon Linux 2 optimisée pour Amazon ECS pour utiliser Service Connect. Ces versions disposent de l'agent Service Connect en plus de l'agent de conteneur Amazon ECS. Pour plus d'informations sur l'agent Service Connect, consultez Amazon ECS Service Connect Agent sur GitHub.

  • Les instances de conteneur doivent disposer de l'autorisation ecs:Poll pour la ressource arn:aws:ecs:region:0123456789012:task-set/cluster/*. Si vous utilisez le ecsInstanceRole, vous n'avez pas besoin d'ajouter d'autorisations supplémentaires. La stratégie gérée par AmazonEC2ContainerServiceforEC2Role dispose de ces autorisations. Pour de plus amples informations, veuillez consulter Rôle IAM d'instance de conteneur Amazon ECS.

  • Seuls les services qui utilisent des déploiements continus sont pris en charge par Service Connect.

  • Les tâches qui utilisent le mode bridge réseau et utilisent Service Connect ne prennent pas en charge le paramètre de définition du hostname conteneur.

  • Les définitions de tâches doivent définir la limite de mémoire des tâches pour utiliser Service Connect. Pour de plus amples informations, veuillez consulter Proxy Service Connect.

  • Les définitions de tâches qui définissent les limites de mémoire des conteneurs ne sont pas prises en charge.

    Vous pouvez définir des limites de mémoire de conteneur sur vos conteneurs, mais vous devez définir la limite de mémoire des tâches sur un nombre supérieur à la somme des limites de mémoire des conteneurs. Le processeur et la mémoire supplémentaires inclus dans les limites de tâches que vous n'allouez pas dans les limites de conteneur sont utilisés par le conteneur de proxy Service Connect et les autres conteneurs qui ne définissent pas de limites de conteneur. Pour de plus amples informations, veuillez consulter Proxy Service Connect.

  • Vous pouvez configurer Service Connect pour utiliser n'importe quel espace de AWS Cloud Map noms de la même région dans la même Compte AWS région.

  • Chaque service ne peut appartenir qu'à un seul espace de noms.

  • Seules les tâches créées par les services sont prises en charge.

  • Tous les points de terminaison doivent être uniques dans un espace de noms.

  • Tous les noms de découverte doivent être uniques dans un espace de noms.

  • Vous devez redéployer les services existants avant que les applications puissent résoudre de nouveaux points de terminaison. Les nouveaux points de terminaison ajoutés à l'espace de noms après le déploiement le plus récent ne seront pas ajoutés à la configuration de la tâche. Pour de plus amples informations, veuillez consulter Composants d'Amazon ECS Service Connect.

  • Service Connect ne supprime pas les espaces de noms lorsque des clusters sont supprimés. Vous devez supprimer les espaces de noms dans. AWS Cloud Map

  • Le trafic Application Load Balancer est acheminé par défaut via l'agent Service Connect en awsvpc mode réseau. Si vous souhaitez que le trafic non lié au service contourne l'agent Service Connect, utilisez le ingressPortOverride paramètre dans la configuration de votre service Service Connect.

Service Connect ne prend pas en charge les fonctionnalités suivantes :
  • Conteneurs Windows

  • HTTP 1.0

  • Tâches autonomes

  • Services utilisant les types de déploiement bleu/vert et externe

  • L'instance de conteneur External pour Amazon ECS Anywhere n'est pas prise en charge par Service Connect.

  • PPv2

Régions dans lesquelles Service Connect est disponible

Amazon ECS Service Connect est disponible dans les AWS régions suivantes :

Nom de la région Région

USA Est (Ohio)

us-east-2

USA Est (Virginie du Nord)

us-east-1

US West (N. California)

us-west-1

US West (Oregon)

us-west-2

Afrique (Le Cap)

af-south-1

Asie-Pacifique (Hong Kong)

ap-east-1

Asie-Pacifique (Jakarta)

ap-southeast-3

Asie-Pacifique (Mumbai)

ap-south-1

Asie-Pacifique (Hyderabad)

ap-south-2

Asie-Pacifique (Osaka)

ap-northeast-3

Asie-Pacifique (Séoul)

ap-northeast-2

Asie-Pacifique (Singapour)

ap-southeast-1

Asie-Pacifique (Sydney)

ap-southeast-2

Asie-Pacifique (Melbourne)

ap-southeast-4

Asie-Pacifique (Malaisie)

ap-southeast-5

Asie-Pacifique (Tokyo)

ap-northeast-1

Canada (Central)

ca-central-1

Canada Ouest (Calgary)

ca-west-1

Chine (Beijing)

cn-north-1 (Remarque : le protocole TLS pour Service Connect n'est pas disponible dans cette région.)

Chine (Ningxia)

cn-northwest-1 (Remarque : le protocole TLS pour Service Connect n'est pas disponible dans cette région.)

Europe (Francfort)

eu-central-1

Europe (Irlande)

eu-west-1

Europe (Londres)

eu-west-2

Europe (Paris)

eu-west-3

Europe (Milan)

eu-south-1

Europe (Espagne)

eu-south-2

Europe (Stockholm)

eu-north-1

Europe (Zurich)

eu-central-2

Israël (Tel Aviv)

il-central-1

Moyen-Orient (Bahreïn)

me-south-1

Moyen-Orient (EAU)

me-central-1

Amérique du Sud (São Paulo)

sa-east-1

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.