Trabalhar com dados do usuário da instância - Amazon Elastic Compute Cloud

Trabalhar com dados do usuário da instância

Ao trabalhar com dados do usuário da instância, lembre-se do seguinte:

  • Os dados do usuário devem ser codificados por base64. O console do Amazon EC2 pode executar a codificação base64 para você ou aceitar a entrada codificada por base64.

  • Os dados do usuário são limitados a 16 KB, na forma bruta, antes de serem codificados em base64. O tamanho de uma string de comprimento n depois que a codificação em base64 for ceil (n/3)*4.

  • Os dados do usuário devem ser decodificados em base64 quando você os recupera. Se você recuperar os dados usando o console ou os metadados da instância, eles serão decodificados automaticamente para você.

  • Os dados do usuário são tratados como dados opacos: o que você fornece é o que receberá de volta. Cabe à instância interpretá-los.

  • Se você interromper uma instância, modificar os dados do usuário e iniciar a instância, os dados do usuário atualizados não serão executados automaticamente quando você iniciar a instância. No entanto, é possível definir as configurações para que os scripts de dados do usuário atualizados sejam executados uma vez ao iniciar a instância ou sempre que reiniciar ou iniciar a instância.

Especificar os dados do usuário da instância no lançamento

É possível especificar dados do usuário quando você executar uma instância. É possível especificar que os dados do usuário serão executados uma vez na execução ou sempre que você reiniciar ou iniciar a instância. Para mais informações, consulte Executar comandos na instância do Windows no lançamento.

Modificar os dados do usuário da instância

Será possível modificar os dados do usuário de uma instância em estado interrompido se o volume raiz for um volume do EBS. Para mais informações, consulte Visualizar e atualizar os dados do usuário da instância.

Recuperar os dados do usuário da instância

nota

Os exemplos nesta seção usam o endereço IPv4 do serviço de metadados da instância: 169.254.169.254. Se você estiver recuperando metadados de instância para instâncias do EC2 pelo endereço IPv6, certifique-se de habilitar e usar o endereço IPv6: fd00:ec2::254. O endereço IPv6 do serviço de metadados da instância é compatível com comandos IMDSv2. O endereço IPv6 só é acessível no Instâncias criadas no Sistema Nitro.

Para recuperar os dados do usuário de uma instância em execução, use o seguinte URI.

http://169.254.169.254/latest/user-data

Uma solicitação de dados do usuário retorna os dados no estado em que se encontram (tipo de conteúdo application/octet-stream).

Este exemplo retorna os dados do usuário que foram fornecidos como texto separado por vírgulas.

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 exemplo retorna os dados de usuário que foram fornecidos como um 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>

Para recuperar dados do usuário em uma instância no seu computador, consulte Dados do usuário e Tools for Windows PowerShell.