

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
<a name="creating-namespaces"></a>

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
<a name="working-with-namespaces-instance-discovery"></a>

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. |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/cloud-map/latest/dg/creating-namespaces.html)  | 
| DNS privé | Appels d'API et requêtes DNS dans un VPC | Lorsque vous créez un espace de noms DNS privé, vous AWS Cloud Map créez une zone hébergée privée Amazon Route 53 correspondante. Les ressources de votre application peuvent découvrir d'autres ressources en appelant l'`DiscoverInstances`API 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*. *namespace-name*.  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).   |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/cloud-map/latest/dg/creating-namespaces.html)  | 
| DNS public | API calls and public DNS queries (Appels d'API et requêtes DNS publiques) | Lorsque vous créez un espace de noms DNS public, vous AWS Cloud Map créez une zone hébergée publique Amazon Route 53 correspondante. Les ressources de votre application peuvent découvrir d'autres ressources en appelant l'`DiscoverInstances`API 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*. *namespace-name*.  Dans ce cas, le nom de l'espace de noms doit être un nom de domaine que vous avez enregistré.   |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/cloud-map/latest/dg/creating-namespaces.html)  | 

## Procédure
<a name="create-namespace-steps"></a>

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/](https://console.aws.amazon.com/cloudmap/).

1. Choisissez **Create namespace (Créer un espace de noms)**.

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

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

1. Pour **la découverte d'instances**, vous pouvez choisir entre des **appels** d'**API, des appels d'API et des requêtes DNS dans VPCs**, et des **appels d'API et des requêtes DNS publiques** pour créer respectivement un espace de noms HTTP, DNS privé ou DNS public. Pour de plus amples informations, veuillez consulter [Options de découverte d'instances](#working-with-namespaces-instance-discovery).

   En fonction de votre sélection, procédez comme suit.
   + Si vous choisissez des **appels d'API et des requêtes DNS dans VPCs**, pour **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 VPCs** 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)](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-values-shared.html#rrsets-values-common-ttl) dans le manuel *Amazon Route 53 Developer Guide*.

1. (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 de plus amples informations, veuillez consulter [Marquer vos ressources AWS Cloud Map](using-tags.md).

1. Choisissez **Create namespace (Créer un espace de noms)**. Vous pouvez consulter le statut de l'opération en utilisant [ListOperations](https://docs.aws.amazon.com/cloud-map/latest/api/API_ListOperations.html). Pour plus d'informations, consultez le [ListOperations](https://docs.aws.amazon.com/cloud-map/latest/api/API_ListOperations.html)Guide 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 *red* valeurs par les vôtres).
  + Créez un espace de noms HTTP à l'aide `[create-http-namespace](https://docs.aws.amazon.com/cli/latest/reference/servicediscovery/create-http-namespace.html)` 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](https://docs.aws.amazon.com/cli/latest/reference/servicediscovery/create-private-dns-namespace.html)` 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](https://docs.aws.amazon.com/cli/latest/reference/servicediscovery/create-public-dns-namespace.html)` 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](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. 

   Créez un espace de noms avec la commande correspondant au type de découverte d'instance que vous préférez (remplacez les *red* valeurs 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 DNS`discover_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
<a name="create-namespace-next-steps"></a>

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, consultez[Création d'un AWS Cloud Map service pour un composant d'application](creating-services.md).