

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.

# Acceda al servicio de metadatos de instancias (IMDS) y a los datos de usuario en Lightsail
<a name="amazon-lightsail-instance-metadata"></a>

Los *metadatos de instancia* son datos sobre una instancia que se pueden utilizar para configurar o administrar la instancia en ejecución. Los metadatos de instancia se dividen en categorías, como, por ejemplo, nombre de host, eventos y grupos de seguridad. También puede utilizar metadatos de instancia para obtener acceso a los datos de usuario que ha especificado al iniciar la instancia. Por ejemplo, se pueden especificar parámetros para configurar la instancia o incluir un script sencillo. Las instancias también pueden incluir datos dinámicos, como, por ejemplo, un documento de identidad de instancia que se genera cuando se lanza la instancia.

**importante**  
Aunque solo se puede obtener acceso a los metadatos de instancia y a los datos de usuario desde la propia instancia, los datos no están protegidos con métodos criptográficos ni de autenticación. Cualquier persona con acceso directo a la instancia, y prácticamente cualquier software que se ejecute en la instancia, puede ver sus metadatos. Por ello, no debería almacenar información confidencial, como contraseñas y claves de cifrado de duración prolongada, como datos de usuario.

## Uso del servicio de metadatos de instancia
<a name="amazon-lightsail-use-imds"></a>

Puede acceder a los metadatos de la instancia desde una instancia en ejecución en Lightsail mediante uno de los siguientes métodos:
+ Versión 1 (IMDSv1) del servicio de metadatos de instancia: un método request/response 
+ Instance Metadata Service, versión 2 (IMDSv2): un método orientado a la sesión
**importante**  
No todos los planos de instancia de Lightsail son compatibles. IMDSv2 Utilice la métrica de `MetadataNoToken` instancia para realizar un seguimiento del número de llamadas al servicio de metadatos de la instancia que se están utilizando. IMDSv1 Para obtener más información, consulte [Visualización de métricas de instancia](amazon-lightsail-viewing-instance-health-metrics.md).

Para obtener más información sobre el uso de IMDS, consulte [Configuración del servicio de metadatos de instancias (IMDS)](amazon-lightsail-configuring-instance-metadata-service.md).

## Documentación IMDS adicional
<a name="amazon-lightsail-imds-documentation"></a>

La siguiente documentación de IMDS está disponible en la *Guía del usuario de Amazon Elastic Compute Cloud para instancias de Linux* y la *Guía del usuario de Amazon Elastic Compute Cloud para instancias de Windows*:

**nota**  
En Amazon EC2, los blueprints de las instancias se denominan Amazon Machine Images (). AMIs
+ En instancias de Linux:
  + [Configurar las opciones de metadatos de instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html)
  + [Recuperar metadatos de instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html)
  + [Trabajar con los datos de usuario de la instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-add-user-data.html)
  + [Recuperar datos dinámicos](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-dynamic-data-retrieval.html)
  + [Categorías de metadatos de instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-categories.html)
  + [Ejemplo: valor de índice de lanzamiento de AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMI-launch-index-examples.html)
  + [Documentos de identidad de instancias](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-identity-documents.html)
+ En instancias de Windows:
  + [Configurar las opciones de metadatos de instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html)
  + [Recuperar metadatos de instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html)
  + [Trabajar con los datos de usuario de la instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-add-user-data.html)
  + [Recuperar datos dinámicos](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-dynamic-data-retrieval.html)
  + [Categorías de metadatos de instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-categories.html)
  + [Ejemplo: valor de índice de lanzamiento de AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMI-launch-index-examples.html)
  + [Documentos de identidad de instancias](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-identity-documents.html)

# Acceda y configure el Servicio de metadatos de instancias (IMDS) en Lightsail
<a name="amazon-lightsail-configuring-instance-metadata-service"></a>

Para acceder a los metadatos de instancia desde una instancia en ejecución, puede usar uno de los métodos siguientes:
+ Instance Metadata Service, versión 1 (IMDSv1): un método request/response 
+ Instance Metadata Service, versión 2 (IMDSv2): un método orientado a la sesión
**importante**  
No todos los planos de instancia de Lightsail son compatibles. IMDSv2 Utilice la métrica de `MetadataNoToken` instancia para realizar un seguimiento del número de llamadas al servicio de metadatos de la instancia que se están utilizando. IMDSv1 Para obtener más información, consulte [Visualización de métricas de instancia](amazon-lightsail-viewing-instance-health-metrics.md).

De forma predeterminada, puedes usar una IMDSv1 o IMDSv2 ambas opciones. El servicio de metadatos de la instancia distingue entre IMDSv2 solicitudes IMDSv1 y solicitudes en función de si un `GET` encabezado `PUT` o, que es exclusivo de cada solicitud IMDSv2, está presente en una solicitud determinada. Para obtener más información, consulte [Agregar defensa en profundidad contra firewalls abiertos, proxies inversos y vulnerabilidades SSRF con mejoras en el servicio de metadatos de instancias EC2](https://aws.amazon.com/blogs/security/defense-in-depth-open-firewalls-reverse-proxies-ssrf-vulnerabilities-ec2-instance-metadata-service/).

Puede configurar el servicio de metadatos de instancia en cada instancia de tal manera que el código local o los usuarios deban usar IMDSv2. Si especificas que IMDSv2 debe usarse, IMDSv1 deja de funcionar. Para obtener más información, consulte [Configuración de las opciones de metadatos de instancias](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html) en la *Guía del usuario de Amazon Elastic Compute Cloud para instancias de Linux*.

Para recuperar metadatos de instancias, consulte [Recuperar metadatos de instancias](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html) en la *Guía del usuario de Amazon Elastic Compute Cloud para instancias de Linux*.

**nota**  
Los ejemplos de esta sección utilizan la IPv4 dirección del servicio de metadatos de la instancia:`169.254.169.254`. Si está recuperando los metadatos de las instancias a través de la IPv6 dirección, asegúrese de habilitar y usar la IPv6 dirección en su lugar:`fd00:ec2::254`. La IPv6 dirección del servicio de metadatos de la instancia es compatible con IMDSv2 los comandos.

## Funcionamiento de Servicio de metadatos de instancia versión 2
<a name="instance-metadata-v2-how-it-works"></a>

IMDSv2 usa solicitudes orientadas a la sesión. Las solicitudes orientadas a la sesión permiten crear un token de sesión que define la duración de la sesión, que puede ser de mínimo un segundo a un máximo de seis horas. En esa duración, puede utilizar el mismo token de sesión para solicitudes subsiguientes. Cuando la duración llegue a su fin, deberá crear un token de sesión nuevo para utilizarlo en las solicitudes futuras.

**importante**  
Las instancias de Lightsail lanzadas desde los blueprints de Amazon Linux 2023 y Ubuntu 24 se configurarán IMDSv2 de forma predeterminada.

Los siguientes ejemplos utilizan Linux y un script de PowerShell shell IMDSv2 para recuperar los elementos de metadatos de la instancia de nivel superior. Estos ejemplos realizan lo siguiente: 
+ Crear un token de sesión que dura seis horas (21 600 segundos) con la solicitud `PUT`
+ Almacenar el encabezado del token de sesión en una variable denominada `TOKEN` (en Linux) o `token` (en Windows)
+ Solicitar los elementos de metadatos de nivel superior con el token

Primero, ejecute los siguientes comandos:
+ **En Linux:**
  + Primero, genere un token con el siguiente comando.

    ```
    [ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"`
    ```
  + A continuación, use el token para generar elementos de metadatos de nivel superior mediante el siguiente comando.

    ```
    [ec2-user ~]$ curl -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/latest/meta-data/
    ```
+ **En Windows:**
  + Primero, genere un token con el siguiente comando.

    ```
    PS C:\> [string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} -Method PUT -Uri http://169.254.169.254/latest/api/token
    ```
  + A continuación, use el token para generar elementos de metadatos de nivel superior mediante el siguiente comando.

    ```
    PS C:\> Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} -Method GET -Uri http://169.254.169.254/latest/meta-data/
    ```

Después de crear un token, puede volverlo a usar hasta que caduque. En los ejemplos siguientes, cada comando obtiene el ID del esquema (Imagen de máquina de Amazon (AMI)) que se usa para lanzar la instancia. Se vuelve a usar el token del ejemplo anterior. Se almacena en `$TOKEN` (en Linux) o `$token` (en Windows).
+ **En Linux:**

  ```
  [ec2-user ~]$ curl -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/latest/meta-data/ami-id
  ```
+ **En Windows:**

  ```
  PS C:\> Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} `
  -Method GET -uri http://169.254.169.254/latest/meta-data/ami-id
  ```

Cuando se utilizan IMDSv2 para solicitar metadatos de instancias, la solicitud debe incluir lo siguiente:
+ **Una solicitud `PUT`**: use una solicitud `PUT` para iniciar una sesión en el servicio de metadatos de instancias. La solicitud `PUT` devuelve un token que debe incluirse en las solicitudes `GET` subsiguientes del servicio de metadatos de instancia. El token es necesario para acceder a los metadatos cuando se usa IMDSv2.
+ **El token**: incluya el token en todas las solicitudes `GET` del servicio de metadatos de instancias. Cuando el uso del token se establece en `required`, las solicitudes sin un token válido o con un token que ha vencido reciben un código de error HTTP `401 - Unauthorized`. Para obtener información sobre cómo cambiar los requisitos de uso del token, consulte [update-instance-metadata-options](https://docs.aws.amazon.com/cli/latest/reference/lightsail/update-instance-metadata-options.html)la *Referencia de AWS CLI comandos*.
  + El token es una clave específica de la instancia. El token no es válido en otras instancias y se rechazará si intenta usarlo fuera de la instancia en la que se generó.
  + La solicitud `PUT` debe incluir un encabezado que especifique el tiempo de vida (TTL) del token en segundos. El TTL puede especificarse en un máximo de seis horas (21 600 segundos). El token representa una sesión lógica. El TTL especifica el período de tiempo que es válido el token y, en consecuencia, la duración de la sesión.
  + Cuando un token caduca, para poder seguir accediendo a los metadatos de instancia hay que crear una sesión nueva con otra solicitud `PUT`.
  + Puede elegir entre volver a utilizar un token o crear uno nuevo con cada solicitud. Si hay un número pequeño de solicitudes, puede ser más sencillo generar y usar inmediatamente un token cada vez que necesite acceder al servicio de metadatos de instancias. Pero para ser más eficientes, puede especificar una duración más larga para el token y volver a usarlo en vez de escribir una solicitud `PUT` cada vez que tenga que solicitar metadatos de instancia. Prácticamente no existe un límite en cuanto al número de fichas simultáneas, ya que cada una representa su propia sesión. IMDSv2 Sin embargo, sigue limitado por la conexión normal al servicio de metadatos de una instancia y por los límites de limitación. Para obtener más información, consulte [Limitación de consultas](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html#instancedata-throttling) en la *Guía del usuario de Amazon Elastic Compute Cloud para instancias de Linux*.

Los métodos HTTP `GET` y `HEAD` están permitidos en las solicitudes de metadatos de instancia IMDSv2. Las solicitudes `PUT` se rechazan si contienen un encabezado `X-Forwarded-For`.

De forma predeterminada, la respuesta a las solicitudes `PUT` tiene un límite de saltos de respuesta (tiempo de vida) de `1` en el nivel del protocolo IP. Puede ajustar el límite de saltos con el comando `update-instance-metadata-options` si tiene que ampliarlo. Por ejemplo, puede necesitar un límite de saltos mayor para una compatibilidad con versiones anteriores con servicios de contenedor ejecutándose en la instancia. Para obtener más información, consulte [update-instance-metadata-options](https://docs.aws.amazon.com/cli/latest/reference/lightsail/update-instance-metadata-options.html) en la *Referencia de comandos de la AWS CLI *.

## Transición al uso de Servicio de metadatos de instancia, versión 2
<a name="instance-metadata-transition-to-version-2"></a>

El uso de la versión 2 (IMDSv2) del servicio de metadatos de instancia es opcional. La versión 1 (IMDSv1) del servicio de metadatos de instancia seguirá siendo compatible de forma indefinida. Si decide migrar a Using IMDSv2, le recomendamos que utilice las siguientes herramientas y la siguiente ruta de transición. 

**Herramientas para ayudar en la transición a IMDSv2**

Si su software lo utiliza IMDSv1, utilice las siguientes herramientas para volver a configurarlo para su uso IMDSv2.
+ **AWS software:** las versiones más recientes AWS SDKs y el AWS CLI soporte IMDSv2. Para usarlo IMDSv2, asegúrese de que sus instancias tengan las versiones más recientes de AWS SDKs y de AWS CLI. Para obtener información sobre cómo actualizar el AWS CLI, consulte [Instalación, actualización y desinstalación del AWS CLI en la](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) *Guía del AWS Command Line Interface usuario*. Todos los paquetes de software de Amazon Linux 2 son compatibles IMDSv2.
+ **Métrica de instancias**: IMDSv2 utiliza sesiones respaldadas por tokens, pero no lo hace. IMDSv1 La métrica de la `MetadataNoToken` instancia registra el número de llamadas al servicio de metadatos de la instancia que se están utilizando. IMDSv1 Al seguir esta métrica hasta cero, puede determinar si y cuándo se ha actualizado el software para utilizar IMDSv2. Para obtener más información, consulte [Visualización de métricas de instancias en Amazon Lightsail](amazon-lightsail-viewing-instance-health-metrics.md).
+ **Actualizaciones de las operaciones AWS CLI y comandos de la API de Lightsail**: en el caso de las instancias existentes, puede utilizar [update-instance-metadata-options](https://docs.aws.amazon.com/cli/latest/reference/lightsail/update-instance-metadata-options.html) AWS CLI el comando (o la operación de [UpdateInstanceMetadataOptions](https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_UpdateInstanceMetadataOptions.html)la API) para requerir el uso de. IMDSv2 El siguiente comando es un ejemplo. Asegúrese de *InstanceName* reemplazarlo por el nombre de la instancia y *RegionName* por el nombre en el que se encuentra la Región de AWS instancia.

  ```
  aws lightsail update-instance-metadata-options --region RegionName --instance-name InstanceName --http-tokens required
  ```

**Ruta recomendada para exigir el acceso a IMDSv2**

Si se usan las herramientas anteriores, recomendamos que siga esta ruta para pasar a IMDSv2:

### Paso 1: Al principio
<a name="path-step-1"></a>

Actualiza las credenciales de rol AWS SDKs AWS CLI, el software y el software que utilizan las credenciales de rol en tus instancias a versiones IMDSv2 compatibles. Para obtener información sobre cómo actualizar el AWS CLI, consulte [Actualización a la versión más reciente de AWS CLI en la](https://docs.aws.amazon.com/cli/latest/userguide/install-linux.html#install-linux-awscli-upgrade) *Guía del AWS Command Line Interface usuario*.

A continuación, cambie el software que accede directamente a los metadatos de la instancia (es decir, que no utiliza un AWS SDK) mediante las IMDSv2 solicitudes. 

### Paso 2: Durante la transición
<a name="path-step-2"></a>

Realice un seguimiento del progreso de la transición mediante la métrica de instancia `MetadataNoToken`. Esta métrica muestra el número de llamadas al servicio de metadatos de la instancia que se utilizan IMDSv1 en las instancias. Para obtener más información, consulte [Visualización de métricas de instancia](amazon-lightsail-viewing-instance-health-metrics.md).

### Paso 3: Cuando todo esté listo en todas las instancias
<a name="path-step-3"></a>

Todo estará listo en todas las instancias cuando la métrica de la instancia `MetadataNoToken` registre un IMDSv1 uso nulo. En esta etapa, puede requerir IMDSv2 su uso mediante el [update-instance-metadata-options](https://docs.aws.amazon.com/cli/latest/reference/lightsail/update-instance-metadata-options.html)comando. Puede hacer estos cambios en instancias en ejecución. No es necesario que reinicie las instancias. 

La actualización de las opciones de metadatos de las instancias existentes solo está disponible a través de la API de Lightsail o la. AWS CLI Actualmente no está disponible en la consola Lightsail. Para obtener más información, consulte [update-instance-metadata-options](https://docs.aws.amazon.com/cli/latest/reference/lightsail/update-instance-metadata-options.html).

## Documentación IMDS adicional
<a name="amazon-lightsail-configuring-instance-metadata-service-imds-documentation"></a>

La siguiente documentación de IMDS está disponible en la *Guía del usuario de Amazon Elastic Compute Cloud para instancias de Linux* y la *Guía del usuario de Amazon Elastic Compute Cloud para instancias de Windows*:

**nota**  
En Amazon EC2, los blueprints de las instancias se denominan Amazon Machine Images (). AMIs
+ En instancias de Linux:
  + [Configurar las opciones de metadatos de instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html)
  + [Recuperar metadatos de instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html)
  + [Trabajar con los datos de usuario de la instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-add-user-data.html)
  + [Recuperar datos dinámicos](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-dynamic-data-retrieval.html)
  + [Categorías de metadatos de instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-categories.html)
  + [Ejemplo: valor de índice de lanzamiento de AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMI-launch-index-examples.html)
  + [Documentos de identidad de instancias](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-identity-documents.html)
+ En instancias de Windows:
  + [Configurar las opciones de metadatos de instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html)
  + [Recuperar metadatos de instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html)
  + [Trabajar con los datos de usuario de la instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-add-user-data.html)
  + [Recuperar datos dinámicos](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-dynamic-data-retrieval.html)
  + [Categorías de metadatos de instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-categories.html)
  + [Ejemplo: valor de índice de lanzamiento de AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMI-launch-index-examples.html)
  + [Documentos de identidad de instancias](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-identity-documents.html)