

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.

# AWS Cloud Map espaces de noms
<a name="working-with-namespaces"></a>

Un espace de noms est une entité logique utilisée pour regrouper AWS Cloud Map les services d'une application sous un nom et un niveau de découvrabilité communs. Lorsque vous créez un espace de noms, vous spécifiez les éléments suivants :
+ Nom que vous souhaitez que votre application utilise pour découvrir des instances.
+ Méthode par laquelle les instances de service auprès desquelles vous vous inscrivez AWS Cloud Map peuvent être découvertes. Vous pouvez décider si vos ressources doivent être découvertes publiquement sur Internet, en privé dans un cloud privé virtuel (VPC) spécifique ou uniquement par des appels d'API.

Les concepts généraux relatifs aux espaces de noms sont présentés ci-dessous.
+ Les espaces de noms sont spécifiques à l'endroit dans Région AWS lequel ils ont été créés. Pour l'utiliser AWS Cloud Map dans plusieurs régions, vous devez créer des espaces de noms dans chaque région.
+ Si vous créez un espace de noms pour permettre, par exemple, la découverte d'instances par des requêtes DNS dans un VPC AWS Cloud Map , une zone hébergée Route 53 privée est automatiquement créée. Cette zone hébergée peut être associée à plusieurs VPCs. Pour plus d'informations, consultez [Associate VPCWith HostedZone](https://docs.aws.amazon.com/Route53/latest/APIReference/API_AssociateVPCWithHostedZone.html) dans le *manuel Amazon Route 53 API Reference*.

**Topics**
+ [Création d'un AWS Cloud Map espace de noms pour regrouper les services d'application](creating-namespaces.md)
+ [Lister les espaces AWS Cloud Map de noms](listing-namespaces.md)
+ [Supprimer un espace de AWS Cloud Map noms](deleting-namespaces.md)
+ [Espaces de AWS Cloud Map noms partagés](sharing-namespaces.md)

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

# Lister les espaces AWS Cloud Map de noms
<a name="listing-namespaces"></a>

Après avoir créé des espaces de noms, vous pouvez consulter la liste des espaces de noms que vous avez créés en suivant ces étapes.

------
#### [ 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 volet de navigation, choisissez **Namespaces** pour afficher la liste des espaces de noms. Vous pouvez classer les espaces de noms par nom, description, mode de découverte d'instance, propriétaire ou ID d'espace de noms. Vous pouvez également saisir un nom ou un ID d'espace de noms dans le champ de recherche pour localiser et afficher un espace de noms spécifique.

------
#### [ AWS CLI ]
+ Répertoriez les espaces de noms à l'aide de la `[list-namespaces](https://docs.aws.amazon.com/cli/latest/reference/servicediscovery/list-namespaces.html)` commande.

  ```
  aws servicediscovery list-namespaces
  ```

------
#### [ 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. Répertoriez les espaces de noms avec`list_namespaces()`.

   ```
   response = client.list_namespaces()
   # If you want to see the response
   print(response)
   ```

   Exemple de sortie de réponse

   ```
   {
       'Namespaces': [
           {
               'Arn': 'arn:aws::servicediscovery:us-west-2:123456789012:namespace/ns-xxxxxxxxxxxxxxx',
               'CreateDate': 1585354387.357,
               'Id': 'ns-xxxxxxxxxxxxxxx',
               'Name': 'myFirstNamespace',
               'Properties': {
                   'DnsProperties': {
                       'HostedZoneId': 'Z06752353VBUDTC32S84S',
                   },
                   'HttpProperties': {
                       'HttpName': 'myFirstNamespace',
                   },
               },
               'Type': 'DNS_PRIVATE',
           },
           {
               'Arn': 'arn:aws::servicediscovery:us-west-2:123456789012:namespace/ns-xxxxxxxxxxxxxxx',
               'CreateDate': 1586468974.698,
               'Description': 'My second namespace',
               'Id': 'ns-xxxxxxxxxxxxxxx',
               'Name': 'mySecondNamespace.com',
               'Properties': {
                   'DnsProperties': {
                   },
                   'HttpProperties': {
                       'HttpName': 'mySecondNamespace.com',
                   },
               },
               'Type': 'HTTP',
           },
           {
               'Arn': 'arn:aws::servicediscovery:us-west-2:123456789012:namespace/ns-xxxxxxxxxxxxxxx',
               'CreateDate': 1587055896.798,
               'Id': 'ns-xxxxxxxxxxxxxxx',
               'Name': 'myThirdNamespace.com',
               'Properties': {
                   'DnsProperties': {
                       'HostedZoneId': 'Z09983722P0QME1B3KC8I',
                   },
                   'HttpProperties': {
                       'HttpName': 'myThirdNamespace.com',
                   },
               },
               'Type': 'DNS_PRIVATE',
           },
       ],
       'ResponseMetadata': {
           '...': '...',
       },
   }
   ```

------

# Supprimer un espace de AWS Cloud Map noms
<a name="deleting-namespaces"></a>

Une fois que vous avez fini d'utiliser un espace de noms, vous pouvez le supprimer. Lorsque vous supprimez un espace de noms, vous ne pouvez plus l'utiliser pour enregistrer ou découvrir des instances de service.

**Note**  
 Lorsque vous supprimez un espace de noms DNS, AWS Cloud Map la zone hébergée Amazon Route 53 correspondante créée lors de la création de l'espace de noms est supprimée.

Avant de supprimer un espace de noms, vous devez désenregistrer toutes les instances de service, puis supprimer tous les services créés dans l'espace de noms. Pour plus d’informations, consultez [Annulation de l'enregistrement d'une instance de service AWS Cloud Map](deregistering-instances.md) et [Supprimer un AWS Cloud Map service](deleting-services.md).

Après avoir désenregistré les instances et supprimé les services créés dans un espace de noms, procédez comme suit pour supprimer l'espace de noms.

------
#### [ 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. Sélectionnez l'espace de noms que vous souhaitez supprimer, puis choisissez **Supprimer**.

1. Confirmez que vous souhaitez supprimer le service en sélectionnant à nouveau **Supprimer**.

------
#### [ AWS CLI ]
+ Supprimez un espace de noms à l'aide de la `[delete-namespace](https://docs.aws.amazon.com/cli/latest/reference/servicediscovery/delete-namespace.html)` commande (remplacez la *red* valeur par la vôtre). Si l'espace de noms contient toujours un ou plusieurs services, la demande échoue.

  ```
  aws servicediscovery delete-namespace --id ns-xxxxxxxxxxx
  ```

------
#### [ 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. Supprimez un espace de noms par `delete_namespace()` (remplacez la *red* valeur par la vôtre). Si l'espace de noms contient toujours un ou plusieurs services, la demande échoue.

   ```
   response = client.delete_namespace(
       Id='ns-xxxxxxxxxxx',
   )
   # If you want to see the response
   print(response)
   ```

   Exemple de sortie de réponse

   ```
   {
       'OperationId': 'gv4g5meo7ndmeh4fqskygvk23d2fijwa-k98y6drk',
       'ResponseMetadata': {
           '...': '...',
       },
   }
   ```

------

# Espaces de AWS Cloud Map noms partagés
<a name="sharing-namespaces"></a>

AWS Cloud Map permet aux propriétaires d'espaces de noms de partager leurs espaces de noms avec d'autres personnes Comptes AWS ou au sein d'une organisation afin de simplifier la découverte AWS Organizations des services entre comptes et le registre des services. Cela permet d'utiliser plus facilement les espaces de noms gérés par d'autres personnes Comptes AWS ou par des équipes au sein d'une AWS organisation.

AWS Cloud Map s'intègre à AWS Resource Access Manager (AWS RAM) pour permettre le partage des ressources. AWS RAM est un service qui vous permet de partager certaines AWS Cloud Map ressources avec d'autres personnes Comptes AWS ou par le biais de AWS Organizations. Avec AWS RAM, vous partagez les ressources que vous possédez en créant un *partage de ressources*. Un partage de ressources spécifie les ressources à partager, ainsi que les consommateurs avec qui elles seront partagées. Les consommateurs peuvent être :
+ Spécifique au Comptes AWS sein de son organisation en AWS Organizations
+ Une unité organisationnelle au sein de son organisation dans AWS Organizations
+ Toute son organisation en AWS Organizations

Pour plus d'informations AWS RAM, consultez le *[guide de AWS RAM l'utilisateur](https://docs.aws.amazon.com/ram/latest/userguide/)*.

Cette rubrique explique comment partager les ressources que vous possédez et comment utiliser les ressources qui sont partagées avec vous.

**Topics**
+ [Considérations relatives au partage d'espaces de noms](#sharing-considerations)
+ [Partage d'un espace AWS Cloud Map de noms](sharing-share.md)
+ [Arrêter de partager un espace AWS Cloud Map de noms](sharing-unshare.md)
+ [Identification d'un espace de AWS Cloud Map noms partagé](sharing-identify.md)
+ [Octroi d'autorisations pour partager un espace de noms](#granting-perms-to-share)
+ [Responsabilités et autorisations pour les espaces de noms partagés](#sharing-perms)
+ [Facturation et mesures](#sharing-billing)
+ [Quotas](#sharing-quotas)

## Considérations relatives au partage d'espaces de noms
<a name="sharing-considerations"></a>
+ Pour partager un espace de noms, vous devez en être le propriétaire dans votre Compte AWS. Cela signifie que la ressource doit être allouée ou provisionnée dans votre compte. Vous ne pouvez pas partager un espace de noms qui a été partagé avec vous.
+ Pour partager un espace de noms avec votre organisation ou une unité organisationnelle dans AWS Organizations, vous devez activer le partage avec AWS Organizations. Pour plus d’informations, consultez [Activation du partage avec AWS Organizations](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-orgs) dans le *Guide de l’utilisateur AWS RAM *.
+ Pour la découverte de services à l'aide de requêtes DNS dans un espace de noms DNS privé partagé, le propriétaire de l'espace de noms devra appeler `create-vpc-association-authorization` avec l'ID de la zone hébergée privée associée à l'espace de noms et le VPC du consommateur.

  ```
  aws route53 create-vpc-association-authorization --hosted-zone-id Z1234567890ABC --vpc VPCRegion=us-east-1,VPCId=vpc-12345678
  ```

  Le consommateur de l’espace de noms devra appeler `associate-vpc-with-hosted-zone` avec l’ID de la zone hébergée privée.

  ```
  aws route53 associate-vpc-with-hosted-zone --hosted-zone-id Z1234567890ABC --vpc VPCRegion=us-east-1,VPCId=vpc-12345678
  ```

  Pour plus d'informations, consultez la section [Associer un Amazon VPC à une zone hébergée privée que vous avez créée avec une autre](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zone-private-associate-vpcs-different-accounts.html) méthode Comptes AWS dans le manuel *Amazon Route 53 Developer Guide*.
+ Après avoir découvert les emplacements up-to-date réseau des services associés à un espace de noms DNS partagé, il peut être nécessaire de configurer la connectivité inter-VPC pour communiquer avec les services s'ils se trouvent dans des emplacements différents. VPCs Cela peut être réalisé à l’aide d’une connexion d’appairage de VPC. Pour plus d’informations, consultez la section [Création ou suppression d’une connexion d’appairage de VPC](https://docs.aws.amazon.com/vpc/latest/peering/create-vpc-peering-connection.html) dans le *Guide d’appairage de VPC Amazon Virtual Private Cloud*.
+ Vous ne pouvez pas l'utiliser `ListOperations` pour répertorier les opérations effectuées par d'autres comptes sur des espaces de noms partagés.
+ Le balisage n'est pas pris en charge pour les espaces de noms partagés.

# Partage d'un espace AWS Cloud Map de noms
<a name="sharing-share"></a>

 Lorsque vous partagez un AWS Cloud Map espace de noms dont vous êtes propriétaire avec d'autres Comptes AWS (consommateurs), vous permettez à ces comptes de découvrir l'emplacement up-to-date réseau des services dans cet espace de noms sans avoir besoin d'informations d'identification temporaires.

Pour partager un espace de noms, vous devez l'ajouter à un partage de ressources. Un partage de ressources est une ressource AWS RAM qui vous permet de partager vos ressources entre des Comptes AWS. Un partage de ressources spécifie les ressources à partager, ainsi que les consommateurs avec qui elles seront partagées. Pour ajouter l'espace de noms à un nouveau partage de ressources, vous devez d'abord créer le partage de ressources à l'aide de la [AWS RAM console](https://console.aws.amazon.com/ram).

Si vous faites partie d'une organisation AWS Organizations et que le partage au sein de votre organisation est activé, les consommateurs de votre organisation ont automatiquement accès à l'espace de noms partagé. Dans le cas contraire, les consommateurs reçoivent une invitation à rejoindre le partage de ressources et ont accès à l'espace de noms partagé après avoir accepté l'invitation.

Vous pouvez partager un espace de noms dont vous êtes propriétaire à l'aide de la AWS RAM console ou du AWS CLI.

------
#### [ AWS RAM console ]

**Pour partager un espace de noms dont vous êtes propriétaire à l'aide de la console AWS RAM**  
Consultez [Création d’un partage de ressources dans AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-create.html) dans le *Guide de l’utilisateur AWS RAM *.

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

**Pour partager un espace de noms dont vous êtes propriétaire à l'aide du AWS CLI**  
Utilisez la commande AWS RAM [create-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html).

------

# Arrêter de partager un espace AWS Cloud Map de noms
<a name="sharing-unshare"></a>

Lorsqu'un espace de noms n'est plus partagé, le consommateur ne peut plus accéder à l'espace de noms ainsi qu'aux services et instances qui lui sont associés. Comptes AWS Cela inclut les ressources créées dans l'espace de noms par les consommateurs lorsqu'ils avaient accès à l'espace de noms.

Pour arrêter de partager un espace de noms dont vous êtes le propriétaire, vous devez le supprimer du partage de ressources. Vous pouvez le faire à l'aide de la AWS RAM console ou du AWS CLI.

------
#### [ AWS RAM console ]

**Pour arrêter de partager un espace de noms dont vous êtes propriétaire à l'aide de la console AWS RAM**  
Consultez [Mise à jour d’un partage de ressources](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-update.html) dans le *Guide de l’utilisateur AWS RAM *.

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

**Pour arrêter de partager un espace de noms dont vous êtes le propriétaire à l'aide du AWS CLI**  
Utilisez la commande [disassociate-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/disassociate-resource-share.html).

------

# Identification d'un espace de AWS Cloud Map noms partagé
<a name="sharing-identify"></a>

Les propriétaires et les consommateurs peuvent identifier les espaces de noms partagés à l'aide de la AWS Cloud Map console et AWS CLI. Le propriétaire de l'espace de noms peut être identifié à l'aide de la `ResourceOwner` propriété. Celui Compte AWS qui crée un service ou enregistre une instance dans l'espace de noms partagé peut être identifié à l'aide de la `CreatedByAccount` propriété.

------
#### [ AWS Cloud Map console ]

**Pour identifier un espace de noms partagé à l'aide de la console AWS Cloud Map**

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. Sur la page **Espaces de noms**, sous **Propriétaire de la ressource**, vous trouverez l'ID du propriétaire de Compte AWS l'espace de noms.

1. Choisissez le **nom de domaine** de l'espace de noms que vous souhaitez identifier.

1. Sur la *namespace-name* page **Namespace :**, dans la section **Informations sur l'espace** de noms, sous **Propriétaire de la ressource**, vous pouvez trouver l'ID du propriétaire de l' Compte AWS espace de noms.

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

Pour identifier un espace de noms partagé à l'aide de AWS CLI, utilisez la commande [list-namespaces](https://docs.aws.amazon.com/cli/latest/reference/servicediscovery/list-namespaces.html). La commande renvoie les espaces de noms que vous possédez et les espaces de noms partagés avec vous. Le `ResourceOwner` champ indique l'ID de AWS compte du propriétaire de l'espace de noms.

L'`list-namespaces`appel suivant est effectué par compte`111122223333`.

```
aws servicediscovery list-namespaces
```

Sortie :

```
{
    "Namespaces": [
        {
            "Arn": "arn:aws:servicediscovery:us-west-2:111122223333:namespace/ns-abcdef01234567890",
            "CreateDate": 1585354387.357,
            "Id": "ns-abcdef01234567890",
            "Name": "local",
            "Properties": {
                "DnsProperties": {
                    "HostedZoneId": "Z06752353VBUDTC32S84S"
                },
                "HttpProperties": {
                    "HttpName": "local"
                 }
            },
            "Type": "DNS_PRIVATE",
            "ServiceCount": 2,
           "ResourceOwner": "111122223333"
        },
        {
            "Arn": "arn:aws:servicediscovery:us-west-2:444455556666:namespace/ns-021345abcdef6789",
            "CreateDate": 1586468974.698,
            "Description": "Shared second namespace",
            "Id": "ns-021345abcdef6789",
            "Name": "My-second-namespace",
            "Properties": {
                "DnsProperties": {},
                "HttpProperties": {
                    "HttpName": "Shared-second-namespace"
                }
            },
            "Type": "HTTP",
            "ServiceCount": 0,
            "ResourceOwner": "444455556666"
        }
    ]
}
```

Dans ce scénario, l'espace de noms `ns-abcdef01234567890` est créé et détenu par `111122223333` et l'espace de noms `ns-021345abcdef6789` est créé et détenu par. `444455556666` L'espace de noms `ns-021345abcdef6789` est partagé compte `111122223333` par compte. `444455556666`

------

## Octroi d'autorisations pour partager un espace de noms
<a name="granting-perms-to-share"></a>

Un ensemble minimal d'autorisations est requis pour qu'un principal IAM puisse partager un espace de noms. Nous vous recommandons d'utiliser les politiques `AWSResourceAccessManagerFullAccess` gérées `AWSCloudMapFullAccess` et pour vous assurer que vos principaux IAM disposent des autorisations requises pour partager et utiliser des espaces de noms partagés.

Si vous utilisez une politique IAM personnalisée, les `servicediscovery:DeleteResourcePolicy` actions `servicediscovery:PutResourcePolicy``servicediscovery:GetResourcePolicy`, et sont requises pour partager des espaces de noms. Il s’agit d’actions IAM avec autorisation uniquement. Si ces autorisations ne sont pas accordées à un principal IAM, une erreur se produira lors de la tentative de partage de l'espace de noms en utilisant. AWS RAM

Pour plus d'informations sur l' AWS RAM utilisation d'IAM, consultez la section [Comment AWS RAM utilise IAM](https://docs.aws.amazon.com/ram/latest/userguide/security-iam-policies.html) dans le guide de l'*AWS RAM utilisateur*.

## Responsabilités et autorisations pour les espaces de noms partagés
<a name="sharing-perms"></a>

Le propriétaire et le consommateur de l'espace de noms peuvent effectuer différentes actions sur un espace de noms partagé.

### Autorisations accordées aux propriétaires
<a name="perms-owner"></a>

Le propriétaire d'un espace de noms peut effectuer les actions suivantes sur un espace de noms partagé :
+ Accédez aux services associés à l'espace de noms, y compris les services créés par les comptes clients et les instances enregistrées auprès de ces services.
+ Révoquez l'accès à l'espace de noms, y compris l'accès aux services créés par les comptes de consommateurs et les instances enregistrées auprès de ces services.
+ Configurez les autorisations pour les autres comptes afin d'enregistrer et de désenregistrer des instances dans les services créés dans l'espace de noms partagé par les consommateurs ou le propriétaire de l'espace de noms.
+ Supprimez des services et annulez l'enregistrement des instances, y compris les services créés et les instances enregistrées par les comptes clients.
+ Mettez à jour ou supprimez un espace de noms partagé.

### Autorisations accordées aux consommateurs
<a name="perms-consumer"></a>

Un consommateur d'espace de noms peut effectuer les actions suivantes sur un espace de noms partagé :
+ Créez et supprimez des services dans l'espace de noms.
+ Enregistrez et désenregistrez des instances dans les services créés dans l'espace de noms.
+ Découvrez les instances enregistrées auprès des services créés dans l'espace de noms.

Un consommateur ne peut pas mettre à jour ou supprimer un espace de noms partagé. Après avoir perdu l'accès à l'espace de noms partagé, les comptes clients perdront également l'accès aux services qu'ils ont créés dans l'espace de noms.

## Facturation et mesures
<a name="sharing-billing"></a>

Les propriétaires sont facturés pour toutes les instances qu'ils enregistrent dans l'espace de noms partagé et pour tous les bilans de santé de Route 53 créés lors de l'enregistrement de ces instances. Les consommateurs sont facturés pour toutes les instances qu'ils enregistrent dans l'espace de noms et pour tous les bilans de santé Route 53 créés lors de l'enregistrement de ces instances. Si l'espace de noms partagé est un espace de noms DNS, le propriétaire de l'espace de noms est facturé pour les enregistrements DNS Route 53 créés lors de la création de services dans l'espace de noms. Les propriétaires sont facturés pour tous `DiscoverInstances` les `DiscoverInstancesRevision` appels qu'ils passent. Les consommateurs sont facturés pour tous `DiscoverInstances` les `DiscoverInstancesRevision` appels qu'ils passent.

## Quotas
<a name="sharing-quotas"></a>

Les espaces de noms partagés ne sont pris en compte que pour les espaces de noms du propriétaire de l'espace de noms par quota de région. Les instances enregistrées par un consommateur dans l'espace de noms partagé sont prises en compte dans le quota d'instances du propriétaire par espace de noms. Si un client crée un service dans un espace de noms partagé, toutes les instances enregistrées dans le service sont prises en compte dans le quota d'instances du consommateur par service. Si un propriétaire crée un service dans un espace de noms partagé, toutes les instances enregistrées dans le service sont prises en compte dans le calcul des instances du propriétaire par quota de service.