Registrar un recurso como instancia de servicio AWS Cloud Map - 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.

Registrar un recurso como instancia de servicio AWS Cloud Map

Puede registrar los recursos de su aplicación como instancias en un AWS Cloud Map servicio. Por ejemplo, supongamos que ha creado un servicio users para todos los recursos de la aplicación que administran los datos de los usuarios. A continuación, puede registrar una tabla de DynamoDB que se utilice para almacenar los datos de los usuarios como instancia en este servicio.

nota

Las siguientes funciones no están disponibles en la AWS Cloud Map consola:

  • Cuando registras una instancia de servicio mediante la consola, no puedes crear un registro de alias que dirija el tráfico a un balanceador de cargas de Elastic Load Balancing (ELB). Cuando registra una instancia, debe incluir el atributo AWS_ALIAS_DNS_NAME. Para obtener más información, consulte RegisterInstancela AWS Cloud Map APIReferencia.

  • Si registra una instancia con un servicio que incluye una comprobación de estado personalizada, no puede especificar el estado inicial para dicha comprobación. De forma predeterminada, el estado inicial de las comprobaciones de estado personalizadas es Healthy (Buen estado). Si desea que el estado inicial sea Unhealthy (Mal estado), registre la instancia mediante programación e incluya el atributo AWS_INIT_HEALTH_STATUS. Para obtener más información, consulte RegisterInstancela AWS Cloud Map APIReferencia.

Para registrar una instancia en un servicio, sigue estos pasos.

AWS Management Console
  1. Inicie sesión en AWS Management Console y abra la AWS Cloud Map consola 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 que contiene el servicio que desea utilizar como plantilla para registrar una instancia de servicio.

  4. En el espacio de nombres: namespace-namepágina, elige el servicio que quieres usar.

  5. En el servicio: service-namepágina, elija Registrar instancia de servicio.

  6. En la página Registrar una instancia de servicio, elija un tipo de instancia. Según la configuración de descubrimiento de instancias del espacio de nombres, puedes elegir especificar una dirección IP, un ID de EC2 instancia de Amazon u otra información de identificación para un recurso que no tenga una dirección IP.

    nota

    Puedes elegir la EC2instancia solo en HTTP los espacios de nombres.

  7. En el caso del ID de instancia de servicio, proporciona un identificador asociado a la instancia de servicio.

    nota

    Si quieres actualizar una instancia existente, proporciona el identificador asociado a la instancia que quieres actualizar. A continuación, sigue los pasos siguientes para actualizar los valores y volver a registrar la instancia.

  8. En función del tipo de instancia que haya elegido, lleve a cabo los siguientes pasos.

    Tipo de instancia Pasos

    Dirección IP

    1. En Atributos estándar, como IPv4dirección, proporciona una IPv4 dirección, si la hubiera, desde la que tu aplicación pueda acceder al recurso asociado a esta instancia de servicio.

    2. Como IPv6dirección, proporciona una dirección IPv6 IP, si la hay, desde la que tus aplicaciones puedan acceder al recurso asociado a esta instancia de servicio.

    3. En el caso de Port, especifique cualquier puerto que la aplicación deba incluir para acceder al recurso asociado a esta instancia de servicio. El puerto es obligatorio cuando el servicio incluye un SRV registro o un chequeo de estado de Amazon Route 53.

    4. (Opcional) En Atributos personalizados, especifique los pares clave-valor que desee asociar al recurso.

    EC2instancia
    1. Por EC2ejemplo, ID, selecciona el ID de la EC2 instancia de Amazon que quieres registrar como instancia de AWS Cloud Map servicio.

    2. (Opcional) En Atributos personalizados, especifique los pares clave-valor que desee asociar al recurso.

    Identificando la información de otro recurso
    1. En Atributos estándar, si la configuración del servicio incluye un CNAMEDNSregistro, verá un CNAMEcampo. Para CNAMEello, especifique el nombre de dominio que desea que Route 53 devuelva en respuesta a DNS las consultas (por ejemplo,example.com).

    2. En Atributos personalizados, especifica cualquier información de identificación de un recurso que no sea una dirección IP o un ID de EC2 instancia de Amazon como par clave-valor. Por ejemplo, puede registrar una función Lambda especificando una clave llamada function y proporcionando el nombre de la función Lambda como valor. También puede especificar una clave llamada name y proporcionar un nombre que pueda usar para la detección de instancias mediante programación.

  9. Elija Register service instance (Registrar instancia de servicio).

AWS CLI
  • Al enviar una solicitud RegisterInstance:

    • Para cada DNS registro que definas en el servicio especificado porServiceId, se crea o actualiza un registro en la zona alojada que está asociada al espacio de nombres correspondiente.

    • Si el servicio incluye HealthCheckConfig, se crea una comprobación de estado en función de los ajustes de la configuración de la comprobación de estado.

    • Todas las comprobaciones de estado están asociadas a cada uno de los registros nuevos o actualizados.

    Registre una instancia de servicio con el register-instance comando (sustituya el red valores por los tuyos propios).

    aws servicediscovery register-instance \ --service-id srv-xxxxxxxxx \ --instance-id myservice-xx \ --attributes=AWS_INSTANCE_IPV4=172.2.1.3,AWS_INSTANCE_PORT=808
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. Al enviar una solicitud RegisterInstance:

    • Para cada DNS registro que definas en el servicio especificado porServiceId, se crea o actualiza un registro en la zona alojada que está asociada al espacio de nombres correspondiente.

    • Si el servicio incluye HealthCheckConfig, se crea una comprobación de estado en función de los ajustes de la configuración de la comprobación de estado.

    • Todas las comprobaciones de estado están asociadas a cada uno de los registros nuevos o actualizados.

    Registre una instancia de servicio con register_instance() (sustituya el red valores por los tuyos propios).

    response = client.register_instance( Attributes={ 'AWS_INSTANCE_IPV4': '172.2.1.3', 'AWS_INSTANCE_PORT': '808', }, InstanceId='myservice-xx', ServiceId='srv-xxxxxxxxx', ) # If you want to see the response print(response)

    Salida de respuesta de ejemplo

    { 'OperationId': '4yejorelbukcjzpnr6tlmrghsjwpngf4-k95yg2u7', 'ResponseMetadata': { '...': '...', }, }