

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Crear un espacio de AWS Cloud Map nombres para agrupar los servicios de aplicaciones
<a name="creating-namespaces"></a>

Puede crear un espacio de nombres para agrupar los servicios de su aplicación con un nombre descriptivo que permita descubrir los recursos de la aplicación mediante llamadas a la API o consultas de DNS.

## Opciones de descubrimiento de instancias
<a name="working-with-namespaces-instance-discovery"></a>

En la siguiente tabla, se resumen las diferentes opciones de detección de instancias AWS Cloud Map y el tipo de espacio de nombres correspondiente que puede crear, en función de los servicios y la configuración de la aplicación.


| Tipo de espacio de nombres | Método de descubrimiento de instancias | Funcionamiento | Información adicional | 
| --- | --- | --- | --- | 
| HTTP  | Llamadas a la API  | Los recursos de tu aplicación pueden descubrir otros recursos llamando únicamente a la DiscoverInstances API. |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/cloud-map/latest/dg/creating-namespaces.html)  | 
| DNS privado | Llamadas a la API y consultas de DNS en una VPC | Al crear un espacio de nombres DNS privado, AWS Cloud Map crea la correspondiente zona alojada privada de Amazon Route 53. Los recursos de su aplicación pueden descubrir otros recursos llamando a la `DiscoverInstances` API y consultando los servidores de nombres de la zona alojada privada de Route 53 que se crea automáticamente. AWS Cloud Map  La zona alojada creada por AWS Cloud Map tiene el mismo nombre que el espacio de nombres y contiene registros DNS con nombres en ese formato. *service-name* *namespace-name*.  El solucionador de Route 53 resuelve las consultas de DNS que se originan en la VPC utilizando los registros de la zona alojada privada. Si la zona alojada privada no incluye ningún registro que coincida con el nombre de dominio en una consulta de DNS, Route 53 responde a la consulta con `NXDOMAIN` (dominio no existente).   |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/cloud-map/latest/dg/creating-namespaces.html)  | 
| DNS público | Llamadas a la API y consultas públicas de DNS | Al crear un espacio de nombres DNS público, AWS Cloud Map crea la correspondiente zona alojada pública de Amazon Route 53. Los recursos de su aplicación pueden detectar otros recursos llamando a la `DiscoverInstances` API y consultando los servidores de nombres de la zona alojada pública de Route 53 que se crea automáticamente. AWS Cloud Map  La zona alojada pública tiene el mismo nombre que el espacio de nombres y contiene registros DNS con nombres en ese formato. *service-name* *namespace-name*.  En este caso, el nombre del espacio de nombres debe ser un nombre de dominio que hayas registrado.   |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/cloud-map/latest/dg/creating-namespaces.html)  | 

## Procedimiento
<a name="create-namespace-steps"></a>

Puedes seguir estos pasos para crear un espacio de nombres con AWS CLI Consola de administración de AWS, o el SDK para Python.

------
#### [ Consola de administración de AWS ]

1. Inicie sesión en Consola de administración de AWS y abra la AWS Cloud Map consola en. [https://console.aws.amazon.com/cloudmap/](https://console.aws.amazon.com/cloudmap/)

1. Elija **Crear espacio de nombres**.

1. En el **campo Nombre del espacio** de nombres, introduce un nombre que se utilizará para detectar instancias.
**nota**  
Los espacios de nombres configurados para consultas de DNS públicas deben terminar en un dominio de nivel superior. Por ejemplo, `.com`.
Puede especificar un nombre de dominio internacionalizado (IDN) si convierte primero el nombre a Punycode. Para obtener información sobre convertidores online, busque en Internet “convertidor de punycode”.  
También puede convertir un nombre de dominio internacionalizado a Punycode al crear espacios de nombres mediante programación. Por ejemplo, si utiliza Java, puede convertir un valor Unicode a Punycode mediante el método `toASCII` de la biblioteca de IDN de java.net.

1. **(Opcional) En la **descripción del espacio de nombres**, introduzca la información sobre el espacio de nombres que estará visible en la página de espacios de nombres y en la sección Información del espacio de **nombres**.** Puede utilizar esta información para identificar fácilmente un espacio de nombres.

1. Para la **detección de instancias**, puedes elegir entre **llamadas a API, llamadas** **a API y consultas de DNS VPCs**, o **llamadas a API y consultas de DNS públicas** para crear un espacio de nombres HTTP, DNS privado o DNS público, respectivamente. Para obtener más información, consulte [Opciones de descubrimiento de instancias](#working-with-namespaces-instance-discovery).

   En función de lo que selecciones, sigue estos pasos.
   + Si eliges las **llamadas a la API y las consultas de DNS en VPCs**, para la **VPC**, elige una nube privada virtual (VPC) a la que quieras asociar el espacio de nombres.
   + Si eliges **llamadas a la API y consultas de DNS en VPCs** o **llamadas a la API y consultas de DNS públicas**, en el caso del **TTL**, especifica un valor numérico en segundos. El valor del tiempo de vida (TTL) determina durante cuánto tiempo los solucionadores de DNS almacenan en caché la información del registro DNS de inicio de autoridad (SOA) de la zona hospedada de Route 53 creada con su espacio de nombres. Para obtener más información sobre TTL, consulte [TTL (segundos)](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-values-shared.html#rrsets-values-common-ttl) en la Guía para *desarrolladores de Amazon Route 53*.

1. (Opcional) En **Etiquetas**, elija **Añadir etiquetas** y, a continuación, especifique una clave y un valor para etiquetar el espacio de nombres. Puede especificar una o varias etiquetas para agregarlas a su espacio de nombres de . Las etiquetas te permiten categorizar tus AWS recursos para que puedas administrarlos más fácilmente. Para obtener más información, consulte [Etiquetar sus recursos AWS Cloud Map](using-tags.md).

1. Elija **Crear espacio de nombres**. Puede ver el estado de la operación utilizando [ListOperations](https://docs.aws.amazon.com/cloud-map/latest/api/API_ListOperations.html). Para obtener más información, consulte [ListOperations](https://docs.aws.amazon.com/cloud-map/latest/api/API_ListOperations.html)la *referencia de la AWS Cloud Map API* 

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

  Crea un espacio de nombres con el comando correspondiente al tipo de descubrimiento de instancias que prefieras (reemplaza *red* los valores por los tuyos).
  + Cree un espacio de nombres de HTTP usando `[create-http-namespace](https://docs.aws.amazon.com/cli/latest/reference/servicediscovery/create-http-namespace.html)`. Las instancias de servicio registradas con un espacio de nombres de HTTP pueden detectarse mediante una solicitud `DiscoverInstances` pero no con DNS.

    ```
    aws servicediscovery create-http-namespace --name name-of-namespace
    ```
  + Cree un espacio de nombre privado basado en DNS, que podrá verse solo dentro de una Amazon VPC especificada. Puede descubrir las instancias que se registraron con un espacio de nombres de DNS privado mediante una solicitud `DiscoverInstances` o mediante DNS.

    ```
    aws servicediscovery create-private-dns-namespace --name name-of-namespace --vpc vpc-xxxxxxxxx
    ```
  + Cree un espacio de nombres público basado en DNS que se pueda ver en Internet con `[create-public-dns-namespace](https://docs.aws.amazon.com/cli/latest/reference/servicediscovery/create-public-dns-namespace.html)`. Puede descubrir las instancias que se registraron con un espacio de nombres DNS público mediante una solicitud `DiscoverInstances` o mediante DNS.

    ```
    aws servicediscovery create-public-dns-namespace --name name-of-namespace
    ```

------
#### [ AWS SDK for Python (Boto3) ]

1. Si aún no tiene `Boto3` instalado, puede encontrar las instrucciones de instalación, configuración y uso `Boto3` [aquí](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html#installation).

1. Importe `Boto3` y use `servicediscovery` como su servicio.

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

1. 

   Crea un espacio de nombres con el comando correspondiente al tipo de descubrimiento de instancias que prefieras (reemplaza *red* los valores por los tuyos):
   + Cree un espacio de nombres de HTTP usando `create_http_namespace()`. Las instancias de servicio registradas con un espacio de nombres de HTTP pueden detectarse usando `discover_instances()` pero no con DNS.

     ```
     response = client.create_http_namespace(
         Name='name-of-namespace',
     )
     # If you want to see the response
     print(response)
     ```
   + Cree un espacio de nombre privado basado en DNS, que podrá verse solo dentro de una Amazon VPC especificada. Puede descubrir las instancias que se registraron con un espacio de nombres DNS privado mediante una solicitud `discover_instances()` o mediante DNS.

     ```
     response = client.create_private_dns_namespace(
         Name='name-of-namespace',
         Vpc='vpc-1c56417b',
     )
     # If you want to see the response
     print(response)
     ```
   + Cree un espacio de nombres público basado en DNS que se pueda ver en Internet con `create_public_dns_namespace()`. Puede descubrir las instancias que se registraron con un espacio de nombres DNS público mediante una solicitud `discover_instances()` o mediante DNS.

     ```
     response = client.create_public_dns_namespace(
         Name='name-of-namespace',
     )
     # If you want to see the response
     print(response)
     ```
   + Salida de respuesta de ejemplo

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

------

## Siguientes pasos
<a name="create-namespace-next-steps"></a>

Tras crear un espacio de nombres, puede crear servicios en el espacio de nombres para agrupar los recursos de la aplicación que, de forma colectiva, sirvan para un propósito concreto en la aplicación. Un servicio actúa como plantilla para registrar los recursos de la aplicación como instancias. Para obtener más información sobre la creación AWS Cloud Map de servicios, consulte[Creación de un AWS Cloud Map servicio para un componente de la aplicación](creating-services.md).