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.
Utilisez la découverte des services pour connecter les services Amazon ECS aux 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 (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 |
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 |
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 partageant le même nom de domaine, par exemple l'endroit où vous souhaitez acheminer le trafic.
example.com
Vous pouvez créer un espace de noms en appelant laaws servicediscovery create-private-dns-namespace
commande ou dans la console Amazon ECS. Vous pouvez utiliser la commandeaws 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, consultezcreate-private-dns-namespace
et consultezlist-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
— PourA
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_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 le type de EC2 lancement, il s'agit de la zone de disponibilité dans laquelle se trouve l'instance de conteneur. Pour les tâches qui utilisent le type de lancement 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 le type de lancement 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'attributECS_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.
-
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
ouhost
(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 de registresA
ou SRV pour chaque tâche de service. Un port est obligatoire si vous utilisez des registres SRV. -
Si la définition de tâche du service utilise le mode réseau
bridge
ouhost
, 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 registres
A
renvoient un ensemble d'adresses IP correspondant à vos tâches. Les registres 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
UNHEALTHY
jusqu'à ce que les contrôles de santé du conteneur renvoient une valeur. Si les bilans de santé sont réussis, le statut est mis à jour àHEALTHY
. Si les vérifications de l'état du conteneur échouent, l'instance de découverte de service est désenregistrée.
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.