Utilisation de la découverte de service pour connecter les services Amazon ECS avec des noms DNS - 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.

Utilisation de la découverte de service pour connecter les services Amazon ECS avec des noms DNS

Vous pouvez éventuellement configurer votre Amazon ECS service afin d'utiliser la découverte de service Amazon ECS. La découverte de services utilise des actions d' AWS Cloud Map API pour gérer les espaces de noms HTTP et DNS pour vos services Amazon ECS. Pour plus d'informations, consultez Présentation de AWS Cloud Map dans le Manuel du développeur AWS Cloud Map .

La découverte de services est disponible dans les AWS régions suivantes :

Nom de la région Région

USA Est (Virginie du Nord)

us-east-1

USA Est (Ohio)

us-east-2

USA Ouest (Californie du Nord)

us-west-1

US West (Oregon)

us-west-2

Afrique (Le Cap)

af-south-1

Asie-Pacifique (Hong Kong)

ap-east-1

Asie-Pacifique (Taipei)

ap-east-2

Asie-Pacifique (Mumbai)

ap-south-1

Asie-Pacifique (Hyderabad)

ap-south-2

Asie-Pacifique (Tokyo)

ap-northeast-1

Asie-Pacifique (Séoul)

ap-northeast-2

Asie-Pacifique (Osaka)

ap-northeast-3

Asie-Pacifique (Singapour)

ap-southeast-1

Asie-Pacifique (Sydney)

ap-southeast-2

Asie-Pacifique (Jakarta)

ap-southeast-3

Asie-Pacifique (Melbourne)

ap-southeast-4

Asie-Pacifique (Malaisie)

ap-southeast-5

Asie-Pacifique (Nouvelle-Zélande)

ap-southeast-6

Asie-Pacifique (Thaïlande)

ap-southeast-7

Canada (Centre)

ca-central-1

Canada-Ouest (Calgary)

ca-west-1

Chine (Beijing)

cn-north-1

China (Ningxia)

cn-northwest-1

Europe (Francfort)

eu-central-1

Europe (Zurich)

eu-central-2

Europe (Irlande)

eu-west-1

Europe (Londres)

eu-west-2

Europe (Paris)

eu-west-3

Europe (Milan)

eu-south-1

Europe (Stockholm)

eu-north-1

Israël (Tel Aviv)

il-central-1

Europe (Espagne)

eu-south-2

Moyen-Orient (EAU)

me-central-1

Mexique (Centre)

mx-central-1

Moyen-Orient (Bahreïn)

me-south-1

Amérique du Sud (São Paulo)

sa-east-1

AWS GovCloud (USA Est)

us-gov-east-1

AWS GovCloud (US-Ouest)

us-gov-west-1

Concepts associés à la découverte de service

La découverte de service se compose des éléments suivants :

  • Espace de noms de découverte de services : groupe logique de services de découverte de services qui partagent le même nom de domaine, tel que example.com, vers lequel vous souhaitez acheminer le trafic. Vous pouvez créer un espace de noms avec un appel à la commande aws servicediscovery create-private-dns-namespace ou dans la console Amazon ECS. Vous pouvez utiliser la commande aws servicediscovery list-namespaces pour afficher les informations récapitulatives concernant les espaces de noms créés par le compte actuel. Pour plus d'informations sur les commandes de découverte de services, consultez create-private-dns-namespace et consultez list-namespaces le Guide de AWS CLI référence AWS Cloud Map (de découverte de services).

  • Service de découverte de service : présent dans l'espace de noms de la découverte de service, il se compose du nom du service et de la configuration DNS correspondant à l'espace de noms. Il fournit les principaux composants suivants :

    • Registre des services : vous permet de rechercher un service via des actions DNS ou AWS Cloud Map API et de récupérer un ou plusieurs points de terminaison disponibles pouvant être utilisés pour vous connecter au service.

  • Instance de découverte de service : existe dans le service de découverte de service et comprend les attributs associés à chaque service Amazon ECS service dans le répertoire de services.

    • Attributs de l'instance : les métadonnées suivantes sont ajoutées en tant qu'attributs personnalisés pour chaque service Amazon ECS service qui est configuré pour utiliser la découverte de service :

      • AWS_INSTANCE_IPV4— Pour A mémoire, l' IPv4 adresse renvoyée par Route 53 en réponse aux requêtes DNS et AWS Cloud Map lorsqu'elle découvre les détails de l'instance, par exemple,192.0.2.44.

      • AWS_INSTANCE_IPV6— Pour AAAA mémoire, l' IPv6 adresse renvoyée par Route 53 en réponse aux requêtes DNS et AWS Cloud Map lorsqu'elle découvre les détails de l'instance, par exemple, 2001:0db8:85a3:0000:0000:abcd:0001:2345. AWS_INSTANCE_IPv4 et AWS_INSTANCE_IPv6 sont ajoutés pour les services Amazon ECS à double pile. Seul AWS_INSTANCE_IPv6 est ajouté pour les services Amazon ECS IPv6 uniquement.

      • AWS_INSTANCE_PORT – La valeur de port associées au service de découverte de service.

      • AVAILABILITY_ZONE – La zone de disponibilité dans laquelle la tâche a été lancée. Pour les tâches utilisant EC2, il s'agit de la zone de disponibilité dans laquelle se trouve l'instance de conteneur. Pour les tâches qui utilisent Fargate, il s’agit de la zone de disponibilité dans laquelle l’interface réseau Elastic existe.

      • REGION – La région dans laquelle la tâche existe.

      • ECS_SERVICE_NAME – Le nom du service Amazon ECS service auquel la tâche appartient.

      • ECS_CLUSTER_NAME – Le nom du cluster Amazon ECS auquel la tâche appartient.

      • EC2_INSTANCE_ID – L'ID de l'instance de conteneur sur laquelle la tâche a été placée. Cet attribut personnalisé n’est pas ajouté si la tâche utilise Fargate.

      • ECS_TASK_DEFINITION_FAMILY – La famille de définition de tâche que la tâche utilise.

      • ECS_TASK_SET_EXTERNAL_ID – Si un ensemble de tâches est créé pour un déploiement externe et est associé à un registre de découverte de service, alors l'attribut ECS_TASK_SET_EXTERNAL_ID contiendra l'ID externe de l'ensemble de tâches.

  • Surveillances de l'état Amazon ECS : Amazon ECS permet d'effectuer des surveillances d'état régulières au niveau du conteneur. Si un point de terminaison échoue à la surveillance de l'état, il est supprimé du routage DNS et marqué comme défectueux.

Remarques relatives à la découverte de service

Les informations suivantes doivent être prises en compte lors de l'utilisation de la découverte de service :

  • La découverte de service est prise en charge pour les tâches sur Fargate qui utilisent la version de plateforme 1.1.0 ou supérieure. Pour de plus amples informations, veuillez consulter Versions de la plateforme Fargate pour Amazon ECS.

  • Les services configurés pour utiliser la découverte de service sont limités à 1 000 tâches par service. Cela est dû à un quota de service Route 53.

  • Le flux de travail créer un service dans la console Amazon ECS prend uniquement en charge l'enregistrement des services dans des espaces de noms DNS privés. Lorsqu'un espace de noms DNS AWS Cloud Map privé est créé, une zone hébergée privée Route 53 est créée automatiquement.

  • Les attributs DNS du VPC doivent être configurés pour une résolution DNS réussie. Pour plus d'informations sur la configuration des attributs, consultez Attributs DNS dans votre VPC dans le Guide de l'utilisateur Amazon VPC.

  • Amazon ECS ne prend pas en charge l'enregistrement de services dans des AWS Cloud Map espaces de noms partagés.

  • Les registres DNS créés pour un service de découverte de service sont toujours enregistrés avec l'adresse IP privée de la tâche et non pas l'adresse IP publique, même lorsque des espaces de noms publics sont utilisés.

  • La découverte de service exige que les tâches spécifient le mode réseau awsvpc, bridge ou host (none n'est pas pris en charge).

  • Si la définition de tâche du service utilise le mode réseau awsvpc, vous pouvez créer n’importe quelle combinaison d’enregistrements A ou SRV pour chaque tâche de service. Si vous utilisez des enregistrements SRV, un port est requis. Vous pouvez également créer des enregistrements AAAA si le service utilise des sous-réseaux à double pile. Si le service utilise IPv6 uniquement des sous-réseaux, vous ne pouvez pas créer A d'enregistrements.

  • Si la définition de tâche du service utilise le mode réseau bridge ou host, un registre SRV est le seul type de registre DNS pris en charge. Créez un registre SRV pour chaque tâche de service. Le registre SRV doit spécifier une combinaison de nom de conteneur et de port de conteneur à partir de la définition de tâche.

  • Vous pouvez interroger les registres DNS pour un service de découverte de service au sein de votre VPC. Ces enregistrements utilisent le format suivant : <service-discovery-service-name>.<service-discovery-namespace>.

  • Lors de l’exécution d’une requête DNS sur le nom du service, les enregistrements A et AAAA renvoient un ensemble d’adresses IP correspondant à vos tâches. Les enregistrements SRV renvoient un ensemble d’adresses IP et de ports pour chaque tâche.

  • Si vous disposez de huit registres sains ou moins, Route 53 répond à toutes les requêtes DNS par tous les registres sains.

  • Lorsque tous les registres sont non sains, Route 53 répond à toutes les requêtes DNS par jusqu'à huit registres non sains.

  • Vous pouvez configurer la découverte de service pour un service situé derrière un équilibreur de charge, mais le trafic de découverte de service est toujours acheminé vers la tâche et non pas vers l'équilibreur de charge.

  • La découverte de service ne prend pas en charge l'utilisation des équilibreurs de charge Classic Load Balancer.

  • Nous vous recommandons d'utiliser les surveillances de l'état au niveau des conteneurs gérés par Amazon ECS pour votre service de découverte de service.

    • HealthCheckCustomConfig—Amazon ECS gère les bilans de santé en votre nom. Amazon ECS utilise les informations obtenues par le conteneur et les surveillances de l'état, et l'état de votre tâche, afin de mettre à jour l'état avec AWS Cloud Map. Cette configuration est spécifiée à l'aide du paramètre --health-check-custom-config au moment de la création de votre service de découverte de service. Pour plus d’informations, consultez HealthCheckCustomConfig dans la Référence d’API AWS Cloud Map .

  • Les AWS Cloud Map ressources créées lors de l'utilisation de la découverte de services doivent être nettoyées manuellement.

  • Les tâches et les instances sont enregistrées comme UNHEALTHY jusqu’à ce que la surveillance de l’état du conteneur renvoie une valeur. Si les surveillances de l’état réussissent, le statut est mis à jour à HEALTHY. Si la surveillance de l’état du conteneur échoue, l’enregistrement de l’instance de découverte de service est annulé.

Tarification de la découverte de service

Les clients utilisant la découverte de service Amazon ECS service sont facturés pour les ressources Route 53 et les opérations d'API de découverte AWS Cloud Map . Le montant facturé englobe les coûts associés à la création des zones hébergées Route 53 et des requêtes sur le registre de services. Pour plus d'informations, consultez Tarification AWS Cloud Map dans le Guide du développeur AWS Cloud Map .

Amazon ECS effectue des contrôles de santé au niveau des conteneurs et les expose à des opérations d'API de vérification d'état AWS Cloud Map personnalisées. Ceci est actuellement mis à la disposition des clients sans frais supplémentaires. Si vous configurez des surveillances de l'état du réseau supplémentaires pour les tâches exposées publiquement, vous êtes facturé pour ces surveillances de l'état.