Création d'un AWS Cloud Map espace de noms pour regrouper les services d'application - 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.

Création d'un AWS Cloud Map espace de noms pour regrouper les services d'application

Vous pouvez créer un espace de noms pour regrouper les services de votre application sous un nom convivial qui permet de découvrir les ressources de l'application par le biais d'appels d'API ou de requêtes DNS.

Options de découverte d'instances

Le tableau suivant récapitule les différentes options de découverte d'instance AWS Cloud Map et le type d'espace de noms correspondant que vous pouvez créer, en fonction des services et de la configuration de votre application.

Type d'espace de noms Méthode de découverte des instances Comment ça marche Informations supplémentaires
HTTP Appels d’API Les ressources de votre application peuvent découvrir d'autres ressources en appelant uniquement l'DiscoverInstancesAPI.
DNS privé Appels d'API et requêtes DNS dans un VPC

Les ressources de votre application peuvent découvrir d'autres ressources en appelant l'DiscoverInstancesAPI et en interrogeant les serveurs de noms de la zone hébergée privée Route 53 qui AWS Cloud Map se crée automatiquement.

La zone hébergée créée par AWS Cloud Map porte le même nom que l'espace de noms et contient des enregistrements DNS dont les noms sont au format service-name. nom-espace de nommage.

Note

Route 53 Resolver résout les requêtes DNS provenant du VPC à l'aide des enregistrements de la zone hébergée privée. Si la zone hébergée privée n'inclut aucun enregistrement correspondant au nom de domaine d'une requête DNS, Route 53 répond à la requête par NXDOMAIN (domaine inexistant).

DNS public API calls and public DNS queries (Appels d'API et requêtes DNS publiques)

Les ressources de votre application peuvent découvrir d'autres ressources en appelant l'DiscoverInstancesAPI et en interrogeant les serveurs de noms de la zone hébergée publique Route 53 qui AWS Cloud Map se crée automatiquement.

La zone hébergée publique porte le même nom que l'espace de noms et contient des enregistrements DNS dont les noms sont au format service-name. nom-espace de nommage.

Note

Dans ce cas, le nom de l'espace de noms doit être un nom de domaine que vous avez enregistré.

Procédure

Vous pouvez suivre ces étapes pour créer un espace de noms à l'aide du AWS CLI AWS Management Console, ou du SDK pour Python.

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. Choisissez Create namespace (Créer un espace de noms).

  3. Dans Nom de l'espace de noms, entrez un nom qui sera utilisé pour découvrir les instances.

    Note
    • Les espaces de noms configurés pour les requêtes DNS publiques doivent se terminer par un domaine de premier niveau. Par exemple, .com.

    • Vous pouvez spécifier un nom de domaine international (IDN) si vous convertissez d'abord le nom en Punycode. Pour plus d'informations sur les convertisseurs en ligne, recherchez « convertisseur punycode » sur Internet.

      Vous pouvez également convertir un nom de domaine international (IDN) en Punycode quand vous créez un espace de noms par programmation. Par exemple, si vous utilisez Java, vous pouvez convertir une valeur Unicode en Punycode à l'aide de la méthode toASCII de la bibliothèque java.net.IDN.

  4. (Facultatif) Pour la description de l'espace de noms, entrez les informations relatives à l'espace de noms qui seront visibles sur la page Espaces de noms et sous Informations sur l'espace de noms. Vous pouvez utiliser ces informations pour identifier facilement un espace de noms.

  5. Pour la découverte d'instances, vous pouvez choisir entre les appels d'API, les appels d'API et les requêtes DNS dans les VPC, et les appels d'API et les requêtes DNS publiques pour créer respectivement un espace de noms HTTP, DNS privé ou DNS public. Pour plus d’informations, consultez Options de découverte d'instances.

    En fonction de votre sélection, procédez comme suit.

    • Si vous choisissez les appels d'API et les requêtes DNS dans les VPC, pour les VPC, choisissez un cloud privé virtuel (VPC) auquel vous souhaitez associer l'espace de noms.

    • Si vous choisissez des appels d'API et des requêtes DNS dans des VPC ou des appels d'API et des requêtes DNS publiques, pour le TTL, spécifiez une valeur numérique en secondes. La valeur du temps de vie (TTL) détermine la durée pendant laquelle les résolveurs DNS mettent en cache les informations relatives à l'enregistrement DNS de début d'autorité (SOA) de la zone hébergée Route 53 créée avec votre espace de noms. Pour plus d'informations sur le TTL, consultez TTL (secondes) dans le manuel Amazon Route 53 Developer Guide.

  6. (Facultatif) Sous Balises, choisissez Ajouter des balises, puis spécifiez une clé et une valeur pour étiqueter votre espace de noms. Vous pouvez spécifier une ou plusieurs balises à ajouter à votre espace de noms. Les balises vous permettent de classer vos AWS ressources afin de les gérer plus facilement. Pour plus d’informations, consultez Marquer vos ressources AWS Cloud Map.

  7. Choisissez Create namespace (Créer un espace de noms). Vous pouvez consulter le statut de l'opération en utilisant ListOperations. Pour plus d'informations, consultez le ListOperationsGuide de référence de l'AWS Cloud Map API

AWS CLI
  • Créez un espace de noms avec la commande correspondant au type de découverte d'instance que vous préférez (remplacez les valeurs rouges par les vôtres).

    • Créez un espace de noms HTTP à l'aide create-http-namespace de. Les instances de service enregistrées à l'aide d'un espace de noms HTTP peuvent être découvertes à l'aide d'une DiscoverInstances requête, mais elles ne peuvent pas être découvertes à l'aide du DNS.

      aws servicediscovery create-http-namespace --name name-of-namespace
    • Créez un espace de noms privé basé sur le DNS et visible uniquement dans un Amazon create-private-dns-namespace VPC spécifié à l'aide de. Vous pouvez découvrir des instances enregistrées avec un espace de noms DNS privé en utilisant une DiscoverInstances requête ou en utilisant le DNS

      aws servicediscovery create-private-dns-namespace --name name-of-namespace --vpc vpc-xxxxxxxxx
    • Créez un espace de noms public basé sur le DNS qui est visible sur Internet à l'aide create-public-dns-namespace de. Vous pouvez détecter les instances qui ont été enregistrées dans un espace de noms DNS public en utilisant une demande DiscoverInstances ou le DNS.

      aws servicediscovery create-public-dns-namespace --name name-of-namespace
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. Créez un espace de noms avec la commande correspondant au type de découverte d'instance que vous préférez (remplacez les valeurs rouges par les vôtres) :

    • Créez un espace de noms HTTP à l'aide create_http_namespace() de. Les instances de service enregistrées à l'aide d'un espace de noms HTTP peuvent être découvertes à l'aide du DNSdiscover_instances(), mais elles ne peuvent pas être découvertes à l'aide du DNS.

      response = client.create_http_namespace( Name='name-of-namespace', ) # If you want to see the response print(response)
    • Créez un espace de noms privé basé sur le DNS et visible uniquement dans un Amazon create_private_dns_namespace() VPC spécifié à l'aide de. Vous pouvez découvrir les instances enregistrées avec un espace de noms DNS privé en utilisant soit le DNS, discover_instances() soit en utilisant le DNS

      response = client.create_private_dns_namespace( Name='name-of-namespace', Vpc='vpc-1c56417b', ) # If you want to see the response print(response)
    • Créez un espace de noms public basé sur le DNS qui est visible sur Internet à l'aide create_public_dns_namespace() de. Vous pouvez découvrir les instances enregistrées auprès d'un espace de noms DNS public en utilisant l'un discover_instances() ou l'autre des systèmes DNS.

      response = client.create_public_dns_namespace( Name='name-of-namespace', ) # If you want to see the response print(response)
    • Exemple de sortie de réponse

      { 'OperationId': 'gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd', 'ResponseMetadata': { '...': '...', }, }

Étapes suivantes

Après avoir créé un espace de noms, vous pouvez créer des services dans l'espace de noms pour regrouper les ressources d'application qui répondent collectivement à un objectif particulier dans votre application. Un service agit comme un modèle pour enregistrer les ressources de l'application en tant qu'instances. Pour plus d'informations sur la création de AWS Cloud Map services, consultezCréation d'un AWS Cloud Map service pour un composant d'application.