Enregistrement d'une ressource en tant qu'instance AWS Cloud Map de service - AWS Cloud Map

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.

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, 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
  1. Connectez-vous à la AWS Cloud Map console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/cloudmap/.

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

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

  4. Sur l'espace de noms : namespace-namepage, choisissez le service que vous souhaitez utiliser.

  5. Sur le service : service-namepage, choisissez Enregistrer une instance de service.

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

    Note

    Vous ne pouvez choisir une EC2instance que dans les HTTP espaces de noms.

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

  8. En fonction du type d'instance que vous avez choisi, effectuez les étapes suivantes.

    Type d’instance Étapes

    Adresse IP

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

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

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

    4. (Facultatif) Sous Attributs personnalisés, spécifiez les paires clé-valeur que vous souhaitez associer à la ressource.

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

    2. (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)
    1. 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).

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

  9. 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)
  1. Si ce n'est pas déjà Boto3 fait, vous trouverez les instructions d'installation, de configuration et d'utilisation Boto3 ici.

  2. Importez Boto3 et utilisez servicediscovery en tant que service.

    import boto3 client = boto3.client('servicediscovery')
  3. 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': { '...': '...', }, }