Crear un espacio de AWS Cloud Map nombres para agrupar los servicios de aplicaciones - AWS Cloud Map

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

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

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.
DNS privado Llamadas a la API y consultas de DNS en una VPC

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 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 el formato service-name. nombre del espacio de nombres.

nota

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

DNS público Llamadas a la API y consultas públicas de DNS

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 pública de Route 53 que AWS Cloud Map se crea automáticamente.

La zona alojada pública tiene el mismo nombre que el espacio de nombres y contiene registros DNS con nombres en el formato service-name. nombre del espacio de nombres.

nota

En este caso, el nombre del espacio de nombres debe ser un nombre de dominio que hayas registrado.

Procedimiento

Puedes seguir estos pasos para crear un espacio de nombres con AWS CLI AWS Management Console, o el SDK para Python.

AWS Management Console
  1. Inicia sesión en la AWS Cloud Map consola AWS Management Console y ábrela en https://console.aws.amazon.com/cloudmap/.

  2. Elija Create namespace (Crear espacio de nombres).

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

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

  5. Para la detección de instancias, puede elegir entre llamadas a la API, llamadas a la API y consultas de DNS en las VPC, y llamadas a la 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.

    En función de lo que selecciones, sigue estos pasos.

    • Si eliges las llamadas a la API y las consultas de DNS en las VPC, para las 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 las VPC 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 alojada de Route 53 creada con su espacio de nombres. Para obtener más información sobre TTL, consulte TTL (segundos) en la Guía para desarrolladores de Amazon Route 53.

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

  7. Elija Create namespace (Crear espacio de nombres). Puede ver el estado de la operación utilizando ListOperations. Para obtener más información, consulte ListOperationsla referencia de la AWS Cloud Map API

AWS CLI
  • Cree un espacio de nombres con el comando para el tipo de detección de instancias que prefiera (sustituya los valores rojos por los suyos propios).

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

  2. Importe Boto3 y use servicediscovery como su servicio.

    import boto3 client = boto3.client('servicediscovery')
  3. Cree un espacio de nombres con el comando correspondiente al tipo de detección de instancias que prefiera (sustituya los valores rojos por los suyos propios):

    • 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

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, consulteCreación de un AWS Cloud Map servicio para un componente de la aplicación.