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

Creación de un AWS Cloud Map servicio para un componente de la aplicación

Tras crear un espacio de nombres, puede crear servicios para representar los distintos componentes de la aplicación que se destinen a fines específicos. Por ejemplo, puede crear un servicio para los recursos de su aplicación que procese los pagos.

nota

No puedes crear varios servicios a los que se pueda acceder mediante consultas de DNS con nombres que solo difieran según las mayúsculas y minúsculas (como EXAMPLE y EXAMPLE). Si lo intenta, estos servicios tendrán el mismo nombre de DNS. Si utiliza un espacio de nombres al que solo se pueda acceder mediante llamadas a la API, puede crear servicios con nombres que solo se diferencien por las mayúsculas y las minúsculas.

Siga estos pasos para crear un servicio con AWS Management Console AWS CLI, y el SDK para Python.

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

  2. En el panel de navegación, seleccione Namespaces (Espacios de nombres).

  3. En la página Namespaces (Espacios de nombres), elija el espacio de nombres al que desea añadir el servicio.

  4. En la página Namespace: (Espacio de nombres:) espacioNombres-nombre, elija Create service (Crear servicio).

  5. En Nombre del servicio, introduzca un nombre que describa las instancias que registra al utilizar este servicio. El valor se utiliza para detectar instancias de AWS Cloud Map servicio en las llamadas a la API o en las consultas de DNS.

    nota

    Si desea AWS Cloud Map crear un registro SRV al registrar una instancia y utiliza un sistema que requiere un formato SRV específico (como HAProxy), especifique lo siguiente para el nombre del servicio:

    • Comience el nombre con un guion bajo (_), por ejemplo, _exampleservice.

    • Termine el nombre con ._protocol, por ejemplo, ._tcp.

    Al registrar una instancia, AWS Cloud Map crea un registro SRV y asigna un nombre concatenando el nombre del servicio y el nombre del espacio de nombres, por ejemplo:

    _servicioejemplo._tcp.ejemplo.com

  6. (Opcional) En Descripción del servicio, ingresa una descripción para el servicio. La descripción que introduzca aquí aparece en la página de servicios y en la página de detalles de cada servicio.

  7. Si el espacio de nombres admite consultas de DNS, en la configuración de detección de servicios, puede configurar la capacidad de detección a nivel de servicio. Elija entre permitir tanto las llamadas a la API como las consultas de DNS o solo las llamadas a la API para la detección de instancias en este servicio.

    nota

    Si eliges las llamadas a la API, no AWS Cloud Map se crearán registros SRV cuando registres una instancia.

    Si eliges API y DNS, sigue estos pasos para configurar los registros de DNS. Puedes añadir o eliminar registros DNS.

    1. Para la política de enrutamiento, seleccione la política de enrutamiento de Amazon Route 53 para los registros de DNS que se AWS Cloud Map crean al registrar las instancias. Puede seleccionar entre el enrutamiento ponderado y el enrutamiento de respuesta de valores múltiples. Para obtener más información, consulte Política de direccionamiento.

      nota

      No puede usar la consola AWS Cloud Map para configurar la creación de un registro de alias de Route 53 al registrar una instancia. Si desea AWS Cloud Map crear registros de alias para un balanceador de cargas de Elastic Load Balancing al registrar instancias mediante programación, elija Enrutamiento ponderado para la política de enrutamiento.

    2. En Tipo de registro, elija el tipo de registro DNS que determine qué devuelve Route 53 en respuesta a las consultas de DNS. AWS Cloud Map Para obtener más información, consulte Tipo de registro.

    3. En el caso del TTL, especifique un valor numérico para definir el valor del tiempo de vida (TTL), en segundos, a nivel de servicio. El valor de TTL determina durante cuánto tiempo los solucionadores de DNS guardan en memoria caché la información para este registro antes de reenviar otra consulta de DNS a Amazon Route 53 para actualizar la configuración.

  8. En Configuración de comprobación de estado, en las opciones de comprobación de estado, elija el tipo de comprobación de estado aplicable a las instancias de servicio. Puede elegir no configurar ninguna comprobación de estado o puede elegir entre una comprobación de estado de Route 53 o una comprobación de estado externa para sus instancias. Para obtener más información, consulte AWS Cloud Map configuración de la comprobación del estado del servicio.

    nota

    Las comprobaciones de estado de Route 53 solo se pueden configurar para los servicios de los espacios de nombres DNS públicos.

    Si elige las comprobaciones de estado de Route 53, proporcione la siguiente información.

    1. En el campo Umbral de error, indique un número entre 1 y 10 que defina el número de comprobaciones de estado consecutivas de Route 53 que una instancia de servicio debe superar o no superar para que su estado de salud cambie.

    2. Para el protocolo Health Check, seleccione el método que utilizará Route 53 para comprobar el estado de las instancias de servicio.

    3. Si elige el protocolo de comprobación de estado HTTP o HTTPS, en Ruta de comprobación de estado, indique la ruta que desee que Amazon Route 53 solicite al realizar las comprobaciones de estado. La ruta puede ser cualquier valor, como el archivo /docs/route53-health-check.html. Cuando el estado del recurso es correcto, el valor devuelto es un código de estado HTTP de formato 2xx o 3xx. También puede incluir parámetros de cadena de consulta, como /welcome.html?language=jp&login=y. La consola de AWS Cloud Map añade automáticamente un carácter de barra inclinada (/).

    Para obtener más información sobre los controles de estado de Route 53, consulte Cómo determina Amazon Route 53 si un chequeo de estado está en buen estado en la Guía para desarrolladores de Amazon Route 53.

  9. (Opcional) En Etiquetas, elija Agregar etiquetas y, a continuación, especifique una clave y un valor para etiquetar su 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.

  10. Elija Crear servicio.

AWS CLI
  • Cree un servicio con el create-service comando. Sustituya los valores en rojo por los suyos propios.

    aws servicediscovery create-service \ --name service-name \ --namespace-id ns-xxxxxxxxxxx \ --dns-config "NamespaceId=ns-xxxxxxxxxxx,RoutingPolicy=MULTIVALUE,DnsRecords=[{Type=A,TTL=60}]"

    Salida:

    { "Service": { "Id": "srv-xxxxxxxxxxx", "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-xxxxxxxxxxx", "Name": "service-name", "NamespaceId": "ns-xxxxxxxxxxx", "DnsConfig": { "NamespaceId": "ns-xxxxxxxxxxx", "RoutingPolicy": "MULTIVALUE", "DnsRecords": [ { "Type": "A", "TTL": 60 } ] }, "CreateDate": 1587081768.334, "CreatorRequestId": "567c1193-6b00-4308-bd57-ad38a8822d25" } }
AWS SDK for Python (Boto3)

Si aún no tiene Boto3 instalado, puede encontrar las instrucciones de instalación, configuración y uso Boto3 aquí.

  1. Importe Boto3 y use servicediscovery como su servicio.

    import boto3 client = boto3.client('servicediscovery')
  2. Cree un servicio concreate_service(). Sustituya los valores en rojo por los suyos propios. Para obtener más información, consulte create_service.

    response = client.create_service( DnsConfig={ 'DnsRecords': [ { 'TTL': 60, 'Type': 'A', }, ], 'NamespaceId': 'ns-xxxxxxxxxxx', 'RoutingPolicy': 'MULTIVALUE', }, Name='service-name', NamespaceId='ns-xxxxxxxxxxx', )

    Salida de respuesta de ejemplo

    { 'Service': { 'Arn': 'arn:aws:servicediscovery:us-west-2:123456789012:service/srv-xxxxxxxxxxx', 'CreateDate': 1587081768.334, 'DnsConfig': { 'DnsRecords': [ { 'TTL': 60, 'Type': 'A', }, ], 'NamespaceId': 'ns-xxxxxxxxxxx', 'RoutingPolicy': 'MULTIVALUE', }, 'Id': 'srv-xxxxxxxxxxx', 'Name': 'service-name', 'NamespaceId': 'ns-xxxxxxxxxxx', }, 'ResponseMetadata': { '...': '...', }, }

Siguientes pasos

Tras crear un servicio, puede registrar los recursos de la aplicación como instancias de servicio que contienen información sobre cómo la aplicación puede localizar el recurso. Para obtener más información sobre el registro AWS Cloud Map de instancias de servicio, consulteRegistrar un recurso como instancia de servicio AWS Cloud Map.