Amazon Elastic Compute Cloud
Guía del usuario de instancias de Windows

Metadatos de instancia y datos de usuario

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. Para obtener más información, consulte Categorías de metadatos de 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. Cualquier persona que pueda obtener acceso a la instancia puede ver sus metadatos. Por consiguiente, deberán tomarse las precauciones adecuadas para proteger la información confidencial (como claves de cifrado de duración prolongada). No debe almacenar información confidencial como datos de usuario, por ejemplo, contraseñas.

También puede utilizar metadatos de instancia para obtener acceso a los datos de usuario que ha especificado al lanzar la instancia. Por ejemplo, se pueden especificar parámetros para configurar la instancia o adjuntar un script sencillo. Estos datos también se pueden utilizar para crear AMI más genéricas que pueden modificarse mediante archivos de configuración facilitados en el momento del lanzamiento. Por ejemplo, si ejecuta servidores web para varios negocios pequeños, todos pueden utilizar la misma AMI y recuperar el contenido del bucket Amazon S3 que especifique en los datos de usuario en el lanzamiento. Para añadir un nuevo cliente en cualquier momento, simplemente cree un bucket para el cliente, añada el contenido y lance su AMI. Si lanza más de una instancia al mismo tiempo, los datos de usuario se encuentran disponibles para todas las instancias en esa reserva.

Las instancias EC2 también pueden incluir datos dinámicos, como, por ejemplo, un documento de identidad de instancia que se genera cuando se lanza la instancia. Para obtener más información, consulte Categorías de datos dinámicos.

Recuperación de metadatos de instancia

Puesto que los metadatos de instancia se encuentran disponibles en la instancia en ejecución, no se necesita utilizar la consola de Amazon EC2 ni la AWS CLI. Esto puede resultar de utilidad al escribir scripts para ejecutarlos desde la instancia. Por ejemplo, puede obtener acceso a la dirección IP local de la instancia desde los metadatos de la instancia para administrar una conexión a una aplicación externa.

Para ver todas las categorías de metadatos de instancia dentro de una instancia en ejecución, utilice el siguiente URI:

http://169.254.169.254/latest/meta-data/

La dirección IP 169.254.169.254 es una dirección de enlace local y solo es válida desde la instancia. Para obtener más información, consulte Dirección de enlace local en Wikipedia.

Tenga en cuenta que no se le cobrará por las solicitudes de HTTP utilizadas para recuperar metadatos de instancia y datos de usuario.

Puede utilizar cmdlets de PowerShell para recuperar el URI. Por ejemplo, si está ejecutando la versión 3.0 o posterior de PowerShell, utilice el siguiente cmdlet:

PS C:\> Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/

Si no quiere utilizar PowerShell, puede instalar una herramienta de terceros como GNU Wget o cURL.

importante

Si instala una herramienta de terceros en una instancia de Windows, asegúrese de leer detenidamente la documentación asociada, ya que el método para llamar al HTTP y el formato de salida pueden ser distintos a lo que se indica aquí.

Todos los metadatos de instancia se devuelven como texto (tipo de contenido text/plain). La solicitud de un recurso de metadato concreto devuelve el valor correspondiente, o bien un código de error HTTP 404 - Not Found si no se encuentra disponible el recurso.

La solicitud de un recurso de metadato general (el URI acaba en /) devuelve una lista de recursos disponibles, o bien un código de error HTTP 404 - Not Found si no existe dicho recurso. Los elementos de la lista aparecen en líneas separadas que acaban con saltos de línea (ASCII 10).

Ejemplos de recuperación de metadatos de instancia

Este ejemplo obtiene las versiones disponibles de los metadatos de la instancia. Estas versiones no se corresponden necesariamente con una versión de API de Amazon EC2. Tiene disponibles las versiones anteriores en caso de que tenga scripts que se basen en la estructura y la información presente en la versión anterior.

PS C:\> Invoke-RestMethod -uri http://169.254.169.254/ 1.0 2007-01-19 2007-03-01 2007-08-29 2007-10-10 2007-12-15 2008-02-01 2008-09-01 2009-04-04 2011-01-01 2011-05-01 2012-01-12 2014-02-25 2014-11-05 2015-10-20 2016-04-19 2016-06-30 2016-09-02 latest

Este ejemplo obtiene los elementos de metadatos del nivel superior. Para obtener más información, consulte Categorías de metadatos de instancia.

PS C:\> Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/ ami-id ami-launch-index ami-manifest-path block-device-mapping/ hostname iam/ instance-action instance-id instance-type local-hostname local-ipv4 mac metrics/ network/ placement/ profile public-hostname public-ipv4 public-keys/ reservation-id security-groups services/

Estos ejemplos obtienen el valor de algunos de los elementos de metadatos del ejemplo anterior.

PS C:\> Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/ami-id ami-0abcdef1234567890
PS C:\> Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/reservation-id r-0efghijk987654321
PS C:\> Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/local-hostname ip-10-251-50-12.ec2.internal
PS C:\> Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/public-hostname ec2-203-0-113-25.compute-1.amazonaws.com

Este ejemplo obtiene el ID de subred de una instancia.

PS C:\> Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/network/interfaces/macs/02:29:96:8f:6a:2d/subnet-id subnet-be9b61d7

Limitación controlada

Limitamos las consultas al servicio de metadatos de instancia por cada instancia y aplicamos límites en el número de conexiones simultáneas desde una instancia al servicio de metadatos de instancia.

Si está utilizando el servicio de metadatos de instancia para recuperar credenciales de seguridad de AWS, evite consultar credenciales durante cada transacción o mientras se ejecuta una gran cantidad procesos o subprocesos, ya que puede producirse una limitación en las operaciones. En lugar de ello, se recomienda guardar en caché las credenciales hasta que comience a aproximarse su caducidad.

Si experimenta limitaciones a la hora de obtener acceso al servicio de metadatos de instancia, vuelva a intentar la consulta con una estrategia de retardo exponencial.

Uso de los datos de usuario de la instancia

Al trabajar con los datos de usuario de la instancia, tenga en cuenta lo siguiente:

  • Los datos de usuario deben estar codificados con base64. La consola de Amazon EC2 puede realizar la codificación con base64 por usted, o bien puede aceptar la entrada codificada con base64.

  • Los datos de usuario están limitados a 16 KB, sin formato, antes de cifrarlo en base64. El tamaño de una cadena de longitud n tras el cifrado en base64 es ceil(n/3)*4.

  • Los datos de usuario deben descodificarse en base64 al recuperarlos. Los datos se descodifican automáticamente si los recupera con los metadatos de instancia o la consola.

  • Los datos de usuario se tratan como datos opacos: lo que facilita es lo que obtiene. La instancia es quien debe interpretarlos.

  • Si detiene una instancia, modifica sus datos de usuario y la inicia de nuevo, los datos de usuario actualizados no se ejecutan automáticamente al iniciar la instancia. Sin embargo, puede configurar los ajustes para que los scripts de datos de usuario actualizados se ejecuten una vez al iniciar la instancia, o bien cada vez que esta se inicie o se reinicie.

Especificar los datos de usuario de la instancia durante el lanzamiento

Puede especificar los datos de usuario al lanzar una instancia. Puede especificar que los datos de usuario se ejecuten una vez en el momento del lanzamiento o bien cada vez que se inicie o se reinicie la instancia. Para obtener más información, consulte Ejecución de comandos en la instancia de Windows durante el lanzamiento.

Modificar los datos de usuario de la instancia

Puede modificar los datos de usuario de una instancia en estado detenido si el volumen raíz es un volumen de EBS. Para obtener más información, consulte Visualización y actualización de los datos de usuario de la instancia.

Recuperar los datos de usuario de la instancia

Para recuperar datos de usuario de una instancia en ejecución, utilice el siguiente URI:

http://169.254.169.254/latest/user-data

Las solicitudes de datos de usuario devuelven los datos tal cual (tipo de contenido application/octet-stream).

Este ejemplo devuelve datos de usuario que se proporcionaron como texto separado por comas:

PS C:\> Invoke-RestMethod -uri http://169.254.169.254/latest/user-data 1234,john,reboot,true | 4512,richard, | 173,,,

Este ejemplo devuelve datos de usuario que se proporcionaron como script:

PS C:\> Invoke-RestMethod -uri http://169.254.169.254/latest/user-data <powershell> $file = $env:SystemRoot + "\Temp\" + (Get-Date).ToString("MM-dd-yy-hh-mm") New-Item $file -ItemType file </powershell> <persist>true</persist>

Para recuperar datos de usuario de una instancia desde su propio equipo, consulte Datos de usuario y la Herramientas para Windows PowerShell

Recuperación de datos dinámicos

Para recuperar datos dinámicos de una instancia en ejecución, utilice el siguiente URI:

http://169.254.169.254/latest/dynamic/

En este ejemplo se muestra cómo recuperar categorías de identidad de instancia de alto nivel:

PS C:\> Invoke-RestMethod -uri http://169.254.169.254/latest/dynamic/instance-identity/ document rsa2048 pkcs7 signature

Para obtener más información sobre datos dinámicos y ejemplos de cómo recuperarlos, consulte Documentos de identidad de instancias.

Categorías de metadatos de instancia

En la siguiente tabla se enumeran las categorías de los metadatos de instancia.

importante

El texto de color rojo que incluyen algunos nombres de categorías representa marcadores de posición de datos que son únicos para la instancia; por ejemplo, mac representa la dirección MAC de la interfaz de red. Debe sustituir los marcadores de posición con valores reales.

Datos Descripción Versión introducida
ami-id El ID de la AMI utilizada para lanzar la instancia. 1.0
ami-launch-index Si ha iniciado más de una instancia al mismo tiempo, este valor indica el orden en el que se ha lanzado la instancia. El valor de la primera instancia lanzada es 0. 1.0
ami-manifest-path La ruta al archivo de manifiesto de AMI en Amazon S3. Si ha utilizado una AMI respaldada por Amazon EBS para lanzar la instancia, el resultado devuelto es unknown. 1.0
ancestor-ami-ids Los ID de AMI de cualquier instancia que se haya vuelto a agrupar para crear esta AMI. Este valor solo existirá si el archivo de manifiesto de AMI contenía una clave ancestor-amis. 10-10-2007
block-device-mapping/ami El dispositivo virtual que contiene el sistema de archivos raíz o de arranque. 15-12-2007
block-device-mapping/ebsN Los dispositivos virtuales asociados a volúmenes de Amazon EBS, si existe alguno. Los volúmenes de Amazon EBS solo están disponibles en los metadatos si se encontraban presentes en el momento del lanzamiento o la última vez que se inició la instancia. La N indica el índice del volumen de Amazon EBS (como ebs1 o ebs2). 15-12-2007
block-device-mapping/ephemeralN Los dispositivos virtuales asociados a volúmenes de almacén de instancias que no son NVMe, si existe alguno. La N indica el índice de cada volumen efímero. 15-12-2007
block-device-mapping/root Los dispositivos o las particiones virtuales asociados a los dispositivos raíz, o las particiones en el dispositivo virtual, donde el sistema de archivos raíz (/ o C:) se asocia a la instancia concreta. 15-12-2007
block-device-mapping/swap Los dispositivos virtuales asociados a swap. No siempre están presentes. 15-12-2007
elastic-gpus/associations/elastic-gpu-id Si la instancia tiene una GPU elástica adjunta a la instancia, contiene una cadena JSON con información sobre la GPU elástica, incluida información de ID y de conexión. 30/11/2016
elastic-inference/associations/eia-id Si hay un acelerador de inferencia elástica asociado a la instancia, contiene una cadena JSON con información sobre el acelerador de inferencia elástica, incluido su ID y tipo. 29-11-2018
events/maintenance/history Si hay eventos de mantenimiento completados o cancelados para la instancia, contiene una cadena JSON con información sobre los eventos. Si desea obtener más información, consulte el apartado Para ver el historial de los eventos completados o cancelados. 17/08/2018
events/maintenance/scheduled Si hay eventos de mantenimiento activos para la instancia, contiene una cadena JSON con información sobre los eventos. Para obtener más información, consulte Visualización de eventos programados. 17/08/2018
hostname El nombre de host DNS IPv4 privado de la instancia. En los casos en los que existen varias interfaces de red, esto se refiere al dispositivo eth0 (el dispositivo cuyo número de dispositivo es 0). 1.0
iam/info Si existe un rol de IAM asociado a la instancia, contiene información acerca de la última vez que se actualizó el perfil de instancia, incluida la fecha de LastUpdated de la instancia, InstanceProfileArn e InstanceProfileId. De lo contrario, no está presente. 12-01-2012
iam/security-credentials/role-name Si hay un rol de IAM asociado a la instancia, role-name es el nombre del rol y role-name contiene las credenciales de seguridad temporales asociadas al rol (para obtener más información, consulte Recuperación de las credenciales de seguridad en los metadatos de la instancia). De lo contrario, no está presente. 12-01-2012
identity-credentials/ec2/info [Reservado solo para uso interno] Información sobre las credenciales que utiliza AWS para identificar una instancia ante el resto de la infraestructura de Amazon EC2. 23/05/2018
identity-credentials/ec2/security-credentials/ec2-instance [Reservado solo para uso interno] Las credenciales que utiliza AWS para identificar una instancia ante el resto de la infraestructura de Amazon EC2. 23/05/2018
instance-action Notifica a la instancia que debe reiniciarse como preparación para la agrupación. Valores válidos: none | shutdown | bundle-pending. 01-09-2008
instance-id El ID de esta instancia. 1.0
instance-type El tipo de instancia. Para obtener más información, consulte Tipos de instancias. 29-08-2007
kernel-id El ID del kernel lanzado con esta instancia, si se aplica. 01-02-2008
local-hostname El nombre de host DNS IPv4 privado de la instancia. En los casos en los que existen varias interfaces de red, esto se refiere al dispositivo eth0 (el dispositivo cuyo número de dispositivo es 0). 19-01-2007
local-ipv4 La dirección IPv4 privada de la instancia. En los casos en los que existen varias interfaces de red, esto se refiere al dispositivo eth0 (el dispositivo cuyo número de dispositivo es 0). 1.0
mac La dirección de control de acceso de medios (MAC) de la instancia. En los casos en los que existen varias interfaces de red, esto se refiere al dispositivo eth0 (el dispositivo cuyo número de dispositivo es 0). 01-01-2011
metrics/vhostmd Obsoleto. 01/05/2011
network/interfaces/macs/mac/device-number El número exclusivo de dispositivo asociado a esa interfaz. El número de dispositivo se corresponde con el nombre del dispositivo; por ejemplo, un device-number de 2 es para el dispositivo eth2. Esta categoría se corresponde con los campos DeviceIndex y device-index que utilizan la API de Amazon EC2 y los comandos de EC2 para la AWS CLI. 01-01-2011
network/interfaces/macs/mac/interface-id El ID de la interfaz de red. 01-01-2011
network/interfaces/macs/mac/ipv4-associations/public-ip Las direcciones IPv4 privadas asociadas a cada dirección IP pública y que están asignadas a esa interfaz. 01-01-2011
network/interfaces/macs/mac/ipv6s Las direcciones IPv6 asociadas a la interfaz. Se devuelven solo para las instancias lanzadas en una VPC. 30-06-2016
network/interfaces/macs/mac/local-hostname El nombre de host local de la interfaz. 01-01-2011
network/interfaces/macs/mac/local-ipv4s Las direcciones IPv4 privadas asociadas a la interfaz. 01-01-2011
network/interfaces/macs/mac/mac La dirección MAC de la instancia. 01-01-2011
network/interfaces/macs/mac/owner-id El ID del propietario de la interfaz de red. En entornos con varias interfaces, un tercero puede adjuntar una interfaz, como Elastic Load Balancing. El tráfico en una interfaz se factura siempre al propietario de la interfaz. 01-01-2011
network/interfaces/macs/mac/public-hostname El DNS (IPv4) público de la interfaz. Esta categoría solo se devuelve si el atributo enableDnsHostnames está establecido en true. Para obtener más información, consulte Utilización de DNS con su VPC. 01-01-2011
network/interfaces/macs/mac/public-ipv4s Las direcciones IP públicas o las direcciones IP elásticas asociadas a la interfaz. Puede haber varias direcciones IPv4 en una instancia. 01-01-2011
network/interfaces/macs/mac/security-groups Grupos de seguridad a los que pertenece la interfaz de red. 01-01-2011
network/interfaces/macs/mac/security-group-ids Los ID de los grupos de seguridad a los que pertenece la interfaz de red. 01-01-2011
network/interfaces/macs/mac/subnet-id El ID de la subred en la que reside la interfaz. 01-01-2011
network/interfaces/macs/mac/subnet-ipv4-cidr-block El bloque de CIDR IPv4 de la subred en la que reside la interfaz. 01-01-2011
network/interfaces/macs/mac/subnet-ipv6-cidr-blocks El bloque de CIDR IPv6 de la subred en la que reside la interfaz. 30-06-2016
network/interfaces/macs/mac/vpc-id El ID de la VPC en la que reside la interfaz. 01-01-2011
network/interfaces/macs/mac/vpc-ipv4-cidr-block El bloque de CIDR IPv4 principal de la VPC. 01-01-2011
network/interfaces/macs/mac/vpc-ipv4-cidr-blocks Bloques de CIDR IPv4 secundarios para la VPC. 30-06-2016
network/interfaces/macs/mac/vpc-ipv6-cidr-blocks El bloque de CIDR IPv6 de la VPC en la que reside la interfaz. 30-06-2016
placement/availability-zone La zona de disponibilidad en la que se ha lanzado la instancia. 01-02-2008
product-codes Códigos de producto de Marketplace asociados a la instancia, de haberlos. 01-03-2007
public-hostname El DNS público de la instancia. Esta categoría solo se devuelve si el atributo enableDnsHostnames está establecido en true. Para obtener más información, consulte Utilización de DNS con su VPC en la Guía del usuario de Amazon VPC. 19-01-2007
public-ipv4 La dirección IPv4 pública. Si se asocia una dirección IP elástica a la instancia, el valor devuelto es dicha dirección. 19-01-2007
public-keys/0/openssh-key Clave pública. Solo se encuentra disponible si se facilita en el momento del lanzamiento de la instancia. 1.0
ramdisk-id El ID del disco RAM especificado en el momento del lanzamiento, si se aplica. 10-10-2007
reservation-id El ID de la reserva. 1.0
security-groups

Los nombres de los grupos de seguridad aplicados a la instancia.

Tras el lanzamiento, puede cambiar los grupos de seguridad de las instancias. Dichos cambios se reflejan aquí y en network/interfaces/macs/mac/security-groups.

1.0
services/domain

El dominio para los recursos de AWS de la región.

25-02-2014
services/partition

Partición en la que se encuentra el recurso. Para las regiones estándar de AWS, la partición es aws. Si tiene recursos en otras particiones, la partición es aws-partitionname. Por ejemplo, la partición de los recursos de la región China (Pekín) es aws-cn.

20-10-2015
spot/instance-action

La acción (hibernar, detener o terminar) y la hora aproximada, en UTC, a la que se producirá la acción. Este elemento está presente solo si la instancia de spot se ha marcado para hibernar, detener o terminar. Para obtener más información, consulte instance-action.

15/11/2016
spot/termination-time

La hora aproximada, en UTC, a la que el sistema operativo de la instancia de spot recibirá la señal de cierre. Este elemento está presente y contiene un valor de tiempo (por ejemplo, 2015-01-05T18:02:00Z) solo si la instancia de spot se ha marcado para que Amazon EC2 la termine. El elemento de termination-time no se ajusta en una hora si usted mismo ha terminado la instancia de spot. Para obtener más información, consulte termination-time.

05-11-2014

Categorías de datos dinámicos

En la siguiente tabla se enumeran las categorías de los datos dinámicos.

Datos Descripción Versión introducida
fws/instance-monitoring Valor que muestra si el cliente ha habilitado la monitorización detallada de un minuto en CloudWatch. Valores válidos: enabled | disabled 04-04-2009
instance-identity/document JSON que contiene atributos de instancia, como ID de instancia, dirección IP privada, etc. Consulte Documentos de identidad de instancias. 04-04-2009
instance-identity/pkcs7 Se utiliza para verificar la autenticidad del documento y el contenido en comparación con la firma. Consulte Documentos de identidad de instancias. 04-04-2009
instance-identity/signature Otras partes pueden utilizar los datos para verificar su origen y autenticidad. Consulte Documentos de identidad de instancias. 04-04-2009