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.
Enregistrement d'une ressource en tant qu'instance AWS Cloud Map de service
Vous pouvez enregistrer les ressources de votre application en tant qu'instances dans un AWS Cloud Map service. Supposons, par exemple, que vous ayez créé un service appelé users
pour toutes les ressources de l'application qui gèrent les données utilisateur. Vous pouvez ensuite enregistrer une table DynamoDB utilisée pour stocker les données utilisateur en tant qu'instance dans ce service.
Les fonctionnalités suivantes ne sont pas disponibles sur la AWS Cloud Map console :
-
Lorsque vous enregistrez une instance de service à l'aide de la console, vous ne pouvez pas créer d'enregistrement d'alias qui achemine le trafic vers un équilibreur de charge Elastic Load Balancing (ELB). Lorsque vous enregistrez une instance, vous devez inclure l'attribut AWS_ALIAS_DNS_NAME
. Pour plus d'informations, reportez-vous RegisterInstanceà la section AWS Cloud Map APIRéférence.
-
Si vous enregistrez une instance à l'aide d'un service qui comprend une vérification de l'état personnalisée, vous ne pouvez pas spécifier le statut initial de la vérification de l'état personnalisée. Par défaut, le statut initial de la vérification de l'état personnalisée est Healthy (Sain). Si vous souhaitez que le statut d'état de santé initial soit Unhealthy (Non sain), enregistrez l'instance par programmation et incluez l'attribut AWS_INIT_HEALTH_STATUS
. Pour plus d'informations, reportez-vous RegisterInstanceà la section AWS Cloud Map APIRéférence.
Pour enregistrer une instance dans un service, procédez comme suit.
- AWS Management Console
-
Connectez-vous à la AWS Cloud Map console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/cloudmap/.
-
Dans le panneau de navigation, choisissez Namespaces (Espaces de noms).
-
Sur la page Namespaces (Espaces de noms), choisissez l'espace de noms qui contient le service à utiliser comme modèle pour enregistrer une instance de service.
-
Sur l'espace de noms : namespace-name
page, choisissez le service que vous souhaitez utiliser.
-
Sur le service : service-name
page, choisissez Enregistrer une instance de service.
-
Sur la page Enregistrer une instance de service, choisissez un type d'instance. En fonction de la configuration de découverte des instances d'espace de noms, vous pouvez choisir de spécifier une adresse IP, un ID d'EC2instance Amazon ou d'autres informations d'identification pour une ressource qui ne possède pas d'adresse IP.
Vous ne pouvez choisir une EC2instance que dans les HTTP espaces de noms.
-
Pour l'ID de l'instance de service, fournissez un identifiant associé à l'instance de service.
Si vous souhaitez mettre à jour une instance existante, fournissez l'identifiant associé à l'instance que vous souhaitez mettre à jour. Procédez ensuite aux étapes suivantes pour mettre à jour les valeurs et réenregistrer l'instance.
-
En fonction du type d'instance que vous avez choisi, effectuez les étapes suivantes.
Type d’instance |
Étapes |
Adresse IP
|
-
Sous Attributs standard, pour IPv4adresse, indiquez une IPv4 adresse, le cas échéant, à laquelle votre application peut accéder à la ressource associée à cette instance de service.
-
Pour IPv6l'adresse, fournissez une adresse IPv6 IP, le cas échéant, à laquelle vos applications peuvent accéder à la ressource associée à cette instance de service.
-
Pour Port, spécifiez tout port que votre application doit inclure pour accéder à la ressource associée à cette instance de service. Le port est requis lorsque le service inclut un SRV enregistrement ou un bilan de santé Amazon Route 53.
-
(Facultatif) Sous Attributs personnalisés, spécifiez les paires clé-valeur que vous souhaitez associer à la ressource.
|
EC2instance |
-
Pour l'ID d'EC2instance, sélectionnez l'ID de l'EC2instance Amazon que vous souhaitez enregistrer en tant qu'instance AWS Cloud Map de service.
-
(Facultatif) Sous Attributs personnalisés, spécifiez les paires clé-valeur que vous souhaitez associer à la ressource.
|
Identifying information for another resource (Informations d'identification pour une autre ressource) |
-
Sous Attributs standard, si la configuration du service inclut un CNAMEDNSenregistrement, vous verrez un CNAMEchamp. Pour CNAME, spécifiez le nom de domaine que vous souhaitez que Route 53 renvoie en réponse à DNS des requêtes (par exemple,example.com ).
-
Sous Attributs personnalisés, spécifiez toute information d'identification pour une ressource qui n'est pas une adresse IP ou un identifiant d'EC2instance Amazon sous forme de paire clé-valeur. Par exemple, vous pouvez enregistrer une fonction Lambda en spécifiant une clé appelée function et en fournissant le nom de la fonction Lambda sous forme de valeur. Vous pouvez également spécifier une clé appelée name et fournir un nom que vous pouvez utiliser pour la découverte d'instances par programmation.
|
-
Choisissez Register service instance (Enregistrer une instance de service).
- AWS CLI
-
-
Lorsque vous soumettez une RegisterInstance
demande :
-
Pour chaque DNS enregistrement que vous définissez dans le service spécifié parServiceId
, un enregistrement est créé ou mis à jour dans la zone hébergée associée à l'espace de noms correspondant.
-
Si le service inclutHealthCheckConfig
, un bilan de santé est créé en fonction des paramètres de la configuration du contrôle de santé.
-
Tous les bilans de santé sont associés à chacun des enregistrements nouveaux ou mis à jour.
Enregistrez une instance de service à l'aide de la register-instance
commande (remplacez le red
valeurs avec les vôtres).
aws servicediscovery register-instance \
--service-id srv-xxxxxxxxx
\
--instance-id myservice-xx
\
--attributes=AWS_INSTANCE_IPV4=172.2.1.3,AWS_INSTANCE_PORT=808
- AWS SDK for Python (Boto3)
-
-
Si ce n'est pas déjà Boto3
fait, vous trouverez les instructions d'installation, de configuration et d'utilisation Boto3
ici.
-
Importez Boto3
et utilisez servicediscovery
en tant que service.
import boto3
client = boto3.client('servicediscovery')
-
Lorsque vous soumettez une RegisterInstance
demande :
-
Pour chaque DNS enregistrement que vous définissez dans le service spécifié parServiceId
, un enregistrement est créé ou mis à jour dans la zone hébergée associée à l'espace de noms correspondant.
-
Si le service inclutHealthCheckConfig
, un bilan de santé est créé en fonction des paramètres de la configuration du contrôle de santé.
-
Tous les bilans de santé sont associés à chacun des enregistrements nouveaux ou mis à jour.
Enregistrez une instance de service avec register_instance()
(remplacez le red
valeurs avec les vôtres).
response = client.register_instance(
Attributes={
'AWS_INSTANCE_IPV4': '172.2.1.3',
'AWS_INSTANCE_PORT': '808',
},
InstanceId='myservice-xx
',
ServiceId='srv-xxxxxxxxx
',
)
# If you want to see the response
print(response)
Exemple de sortie de réponse
{
'OperationId': '4yejorelbukcjzpnr6tlmrghsjwpngf4-k95yg2u7',
'ResponseMetadata': {
'...': '...',
},
}