

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
<a name="registering-instances"></a>

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.

**Note**  
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, consultez [RegisterInstance](https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html) dans la *Référence d’API AWS Cloud Map *.
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, consultez [RegisterInstance](https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html) dans la *Référence d’API AWS Cloud Map *.

Pour enregistrer une instance dans un service, procédez comme suit.

------
#### [ AWS Management Console ]

1. Connectez-vous à la AWS Cloud Map console AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/cloudmap/](https://console.aws.amazon.com/cloudmap/).

1. Dans le panneau de navigation, choisissez **Namespaces (Espaces de noms)**.

1. 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.

1. Sur la *namespace-name* page **Namespace :**, choisissez le service que vous souhaitez utiliser.

1. Sur la *service-name* page **Service :**, choisissez **Enregistrer une instance de service**.

1. 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'instance Amazon EC2 ou d'autres informations d'identification pour une ressource qui ne possède pas d'adresse IP.
**Note**  
Vous pouvez choisir une **instance EC2** uniquement dans les espaces de noms HTTP.

1. Pour l'**ID de l'instance de service**, fournissez un identifiant associé à l'instance de service.
**Note**  
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.

1. En fonction du **type d'instance** que vous avez choisi, effectuez les étapes suivantes.
**Important**  
Vous ne pouvez pas utiliser le `AWS_` préfixe (sans distinction majuscules/minuscules) dans une clé lorsque vous spécifiez un attribut personnalisé.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/cloud-map/latest/dg/registering-instances.html)

1. Choisissez **Register service instance (Enregistrer une instance de service)**.

------
#### [ AWS CLI ]
+ 

  Lorsque vous soumettez une `RegisterInstance` demande :
  + Pour chaque enregistrement DNS que vous définissez dans le service spécifié par`ServiceId`, un enregistrement est créé ou mis à jour dans la zone hébergée associée à l'espace de noms correspondant.
  + Si le service inclut`HealthCheckConfig`, 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 la `[register-instance](https://docs.aws.amazon.com/cli/latest/reference/servicediscovery/register-instance.html)` commande (remplacez les *red* valeurs par 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) ]

1. Si ce n'est pas déjà `Boto3` fait, vous trouverez les instructions d'installation, de configuration et d'utilisation `Boto3` [ici](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html#installation).

1. Importez `Boto3` et utilisez `servicediscovery` en tant que service.

   ```
   import boto3
   client = boto3.client('servicediscovery')
   ```

1. 

   Lorsque vous soumettez une `RegisterInstance` demande :
   + Pour chaque enregistrement DNS que vous définissez dans le service spécifié par`ServiceId`, un enregistrement est créé ou mis à jour dans la zone hébergée associée à l'espace de noms correspondant.
   + Si le service inclut`HealthCheckConfig`, 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 auprès de `register_instance()` (remplacez les *red* valeurs par 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': {
           '...': '...',
       },
   }
   ```

------