

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
<a name="registering-instances"></a>

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:  
Al registrar una instancia de servicio con la consola, no puede crear un registro de alias que redirija el tráfico a un balanceador de carga de Elastic Load Balancing (ELB). Cuando registra una instancia, debe incluir el atributo `AWS_ALIAS_DNS_NAME`. Para obtener más información, consulta [RegisterInstance](https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html) en la *AWS Cloud Map Referencia de la API de *.
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, consulta [RegisterInstance](https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html) en la *AWS Cloud Map Referencia de la API de *.

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

------
#### [ 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. En el panel de navegación, seleccione **Namespaces (Espacios de nombres)**.

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

1. En la *namespace-name* página **Namespace:**, elige el servicio que quieres usar.

1. En la *service-name* página **Servicio:**, selecciona **Registrar instancia de servicio.**

1. 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, puede optar por especificar una dirección IP, un ID de instancia de Amazon EC2 u otra información de identificación para un recurso que no tenga una dirección IP.
**nota**  
Puede elegir la **instancia EC2** solo en los espacios de nombres HTTP.

1. En el caso del **ID de instancia de servicio**, proporcione 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.

1. En función del **tipo de instancia** que haya elegido, lleve a cabo los siguientes pasos.
**importante**  
No puedes usar el `AWS_` prefijo (no distingue entre mayúsculas y minúsculas) en una clave cuando especificas un atributo personalizado.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/cloud-map/latest/dg/registering-instances.html)

1. Elija **Register service instance (Registrar instancia de servicio)**.

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

  Al enviar una solicitud `RegisterInstance`:
  + Para cada registro de DNS que defina en el servicio especificado por `ServiceId`, 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](https://docs.aws.amazon.com/cli/latest/reference/servicediscovery/register-instance.html)` comando (sustituya los *red* valores por los suyos 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í](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. 

   Al enviar una solicitud `RegisterInstance`:
   + Para cada registro de DNS que defina en el servicio especificado por `ServiceId`, 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 los *red* valores por los suyos 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': {
           '...': '...',
       },
   }
   ```

------