Trabajar con los datos de usuario de la instancia - Amazon Elastic Compute Cloud

Trabajar con los datos de usuario de la instancia

Puede usar los datos de usuario de la instancia para personalizar las instancias. Cuando inicia una instancia, puede almacenar parámetros o scripts como datos de usuario. Todos los scripts de los datos de usuario se ejecutan al iniciar la instancia. Puede ver los datos de usuario como un atributo de la instancia. También puede ver los datos de usuario de su instancia a través del servicio de metadatos de instancias (IMDS).

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

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

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

  • Los datos de usuario son un atributo de la instancia. Si crea una AMI a partir de una instancia, los datos de usuario de la instancia no se incluyen en la AMI.

Especificar los datos de usuario de la instancia durante la inicialización

Puede especificar los datos de usuario al iniciar una instancia. Para obtener instrucciones sobre la consola, consulte Especificar los datos de usuario de la instancia durante la inicialización. Para ver un ejemplo en el que se utiliza Herramientas para Windows PowerShell, consulte Datos de usuario y las Tools for Windows PowerShell.

Modificar los datos de usuario de la instancia

Puede modificar los datos de usuario de las instancias con un volumen raíz de EBS. La instancia debe estar detenida. Para obtener instrucciones sobre la consola, consulte Visualizar y actualizar los datos de usuario de la instancia. Para ver un ejemplo en el que se utiliza Herramientas para Windows PowerShell, consulte Datos de usuario y las Tools for Windows PowerShell.

Recuperación de los datos de usuario de la instancia desde su instancia

nota

En los ejemplos de esta sección, se utiliza la dirección IPv4 de IMDS: 169.254.169.254. Si recupera metadatos de instancia para las instancias EC2 a través de la dirección IPv6, asegúrese de habilitar y utilizar la dirección IPv6 en su lugar: [fd00:ec2::254]. La dirección IPv6 de IMDS es compatible con los comandos de IMDSv2. Solo se puede acceder a la dirección IPv6 en instancias integradas en el AWS Nitro System.

Para recuperar datos de usuario de una instancia, 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). Si la instancia no tiene ningún dato de usuario, la solicitud devuelve 404 - Not Found.

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

IMDSv2
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
PS C:\> Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} -Method GET -Uri http://169.254.169.254/latest/user-data 1234,john,reboot,true | 4512,richard, | 173,,,
IMDSv1
PS C:\> Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} ` -Method PUT -Uri http://169.254.169.254/latest/api/token} -Method GET -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.

IMDSv2
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
PS C:\> Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} -Method GET -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>
IMDSv1
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>

Recuperación de los datos de usuario de la instancia desde su equipo

Puede recuperar datos de usuario de una instancia desde su propio equipo. Para obtener instrucciones sobre la consola, consulte Visualizar y actualizar los datos de usuario de la instancia. Para ver un ejemplo en el que se utiliza Herramientas para Windows PowerShell de la , consulte Datos de usuario y las Tools for Windows PowerShell.