Ver etiquetas para las instancias mediante los metadatos de la instancia - Amazon Elastic Compute Cloud

Ver etiquetas para las instancias mediante los metadatos de la instancia

Puede acceder a las etiquetas de una instancia desde los metadatos de la instancia. Al acceder a las etiquetas desde los metadatos de la instancia, ya no tendrá que utilizar las llamadas a la API DescribeInstances o DescribeTags para recuperar información de etiquetas, lo que reduce las transacciones de la API por segundo y permite que las recuperaciones de etiquetas se escalen según el número de instancias que controla. Además, los procesos locales que se ejecutan en una instancia pueden ver la información de etiqueta de la instancia directamente desde los metadatos de la instancia.

De forma predeterminada, las etiquetas no están disponibles en los metadatos de la instancia; debe permitir explícitamente el acceso. Puede permitir el acceso durante el lanzamiento de la instancia o después del lanzamiento en una instancia en ejecución o detenida. También puede permitir el acceso a las etiquetas especificándolo en una plantilla de lanzamiento. Las instancias que se lanzan mediante la plantilla permiten el acceso a las etiquetas de los metadatos de la instancia.

Si agrega o elimina una etiqueta de instancia, los metadatos de la instancia se actualizan mientras se ejecuta la instancia, sin necesidad de detener e iniciar la instancia.

Permitir acceso a etiquetas en metadatos de instancia

De forma predeterminada, no hay acceso a las etiquetas de instancia en los metadatos de la instancia. Para cada instancia, debe permitir el acceso explícitamente mediante uno de los métodos siguientes.

Para permitir acceso a etiquetas en metadatos de instancia mediante la consola
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación, seleccione Instances (Instancia[s]).

  3. Seleccione una instancia y, a continuación, elija Actions (Acciones), Instance settings (Configuración de la instancia), Allow tags in instance metadata (Permitir etiquetas en metadatos de instancia).

  4. Para permitir el acceso a las etiquetas de los metadatos de instancia, seleccione la casilla Allow (Permitir).

  5. Seleccione Guardar.

Para permitir acceso a etiquetas en metadatos de instancia durante el lanzamiento mediante la AWS CLI

Utilice el comando run-instances y establezca InstanceMetadataTags en enabled.

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type c3.large \ ... --metadata-options "InstanceMetadataTags=enabled"
Para permitir el acceso a etiquetas de metadatos de instancia en una instancia en ejecución o detenida mediante la AWS CLI

Utilice el comando modify-instance-metadata-options y establezca --instance-metadata-tags en enabled.

aws ec2 modify-instance-metadata-options \ --instance-id i-123456789example \ --instance-metadata-tags enabled

Recuperar etiquetas desde los metadatos de instancia

Luego de permitir el acceso a las etiquetas de la instancia en los metadatos de la instancia, puede acceder a la categoría tags/instance desde los metadatos de la instancia. Para obtener más información, consulte Recuperar metadatos de instancia.

Servicio de metadatos de instancia, versión 2

Ejecute los siguientes ejemplos en su instancia de Amazon EC2 para recuperar los metadatos de la instancia para IMDSv2.

cURL

Este ejemplo obtiene todas las claves de etiqueta para una instancia.

[ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance Name Environment

En este ejemplo, se recibe el valor de la clave de Name que se obtuvo en el ejemplo anterior. La solicitud IMDSv2 usa el token almacenado creado mediante el comando del ejemplo anterior. El token no debe estar vencido.

[ec2-user ~]$ curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/Name MyInstance
PowerShell

Este ejemplo obtiene todas las claves de etiqueta para una instancia.

PS C:\> $token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} -Method PUT -Uri http://169.254.169.254/latest/api/token
PS C:\> Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} -Method GET -Uri http://169.254.169.254/latest/meta-data/tags/instance Name Environment

En este ejemplo, se recibe el valor de la clave de Name que se obtuvo en el ejemplo anterior. La solicitud IMDSv2 usa el token almacenado creado mediante el comando del ejemplo anterior. El token no debe estar vencido.

PS C:\> Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} -Method GET -Uri http://169.254.169.254/latest/meta-data/tags/instance/Name MyInstance
Servicio de metadatos de instancia, versión 1

Ejecute los siguientes ejemplos en su instancia de Amazon EC2 para recuperar los metadatos de la instancia para IMDSv1.

cURL

Este ejemplo obtiene todas las claves de etiqueta para una instancia.

[ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/tags/instance Name Environment

En este ejemplo, se recibe el valor de la clave de Name que se obtuvo en el ejemplo anterior.

[ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/tags/instance/Name MyInstance
PowerShell

Este ejemplo obtiene todas las claves de etiqueta para una instancia.

PS C:\> Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/tags/instance Name Environment

En este ejemplo, se recibe el valor de la clave de Name que se obtuvo en el ejemplo anterior.

PS C:\> Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/tags/instance/Name MyInstance

Desactivar el acceso a las etiquetas en metadatos de instancia

Para desactivar el acceso a las etiquetas de instancia en los metadatos de instancia, utilice uno de los métodos siguientes. No es necesario desactivar el acceso a las etiquetas de instancia en los metadatos de instancia durante el lanzamiento porque está desactivado de forma predeterminada.

Para desactivar el acceso a etiquetas en metadatos de instancia mediante la consola
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación, seleccione Instances (Instancia[s]).

  3. Seleccione una instancia y, a continuación, elija Actions (Acciones), Instance settings (Configuración de la instancia), Allow tags in instance metadata (Permitir etiquetas en metadatos de instancia).

  4. Para desactivar el acceso a las etiquetas de los metadatos de instancia, desactive la casilla Allow (Permitir).

  5. Seleccione Guardar.

Para desactivar el acceso a etiquetas en metadatos de instancia mediante la AWS CLI

Utilice el comando modify-instance-metadata-options y establezca --instance-metadata-tags en disabled.

aws ec2 modify-instance-metadata-options \ --instance-id i-123456789example \ --instance-metadata-tags disabled
Para ver si se permite el acceso a las etiquetas en los metadatos de la instancia mediante la AWS CLI

Use el comando describe-instances y especifique el ID de la instancia. Utilice el parámetro --query para mostrar solo las opciones de metadatos de la instancia en los resultados.

aws ec2 describe-instances \ --instance-ids i-1234567890abcdef0 \ --query "Reservations[*].Instances[*].MetadataOptions"

A continuación, se muestra un ejemplo del resultado. El valor de InstanceMetadataTags indica si se permite el acceso a las etiquetas en los metadatos de la instancia. Si el valor es enabled, está permitido. Si el valor es disabled, no está permitido.

[ [ { "State": "applied", "HttpTokens": "required", "HttpPutResponseHopLimit": 2, "HttpEndpoint": "enabled", "HttpProtocolIpv6": "disabled", "InstanceMetadataTags": "enabled" } ] ]