Não consigo modificar os dados do usuário nem executar scripts de dados do usuário na minha instância Windows do Amazon Elastic Compute Cloud (Amazon EC2). Ou quero ver os logs de dados do usuário, mas não sei onde encontrá-los.
Resolução
Seus dados de usuário não são executados na inicialização instantânea ou não é possível configurar os dados do usuário
Ao trabalhar com dados do usuário, siga estas práticas recomendadas:
- Codifique seus dados de usuário no formato base64.
- Ao recuperar seus dados de usuário, você deve usar base64 para decodificar seus dados. Se você recuperar os dados com os metadados da instância ou com o console do Amazon EC2, eles serão automaticamente decodificados para você.
- Se você parar uma instância e depois modificar seus dados de usuário, os dados do usuário atualizados não serão executados quando a instância for iniciada. Para resolver esse problema, consulte a seção Seus dados de usuário não são executados quando uma instância do EC2 é reinicializada ou iniciada.
- Os scripts de dados do usuário exigem uma sintaxe específica. Para obter mais informações e exemplos de sintaxe de script, consulte Scripts de dados do usuário.
- Para validar a sintaxe do script, execute os scripts em um ambiente de teste local.
- Para se conectar ao serviço de metadados, a instância do EC2 deve se conectar em 169.254.169.254.
- Quando você usa uma imagem Windows personalizada que não usa Sysprep, as rotas persistentes podem apontar para o gateway padrão da instância principal. Para resolver esse problema, consulte Por que minha instância Windows do Amazon EC2 recebe o erro “Aguardando o serviço de metadados”?
Por padrão, os dados do usuário não são executados quando uma instância do EC2 é reinicializada ou iniciada
Quando uma instância do EC2 é inicializada inicialmente, os dados do usuário são executados somente uma vez por padrão. É possível configurar uma instância para executar dados do usuário sempre que ela for reinicializada ou iniciada. Para obter mais informações, consulte Como executar um comando em uma instância existente do EC2 Windows ao reinicializar ou iniciar a instância?
Não é possível encontrar os logs de dados do usuário
Os arquivos de log para EC2Launch, EC2Launch v2 e EC2Config contêm a saída da saída padrão e dos fluxos de erro padrão. É possível acessar os arquivos de log nos seguintes locais:
- EC2Launch: C:\ProgramData\Amazon\EC2-Windows\Launch\Log\UserdataExecution.log
- EC2Launch v2: C:\ProgramData\Amazon\EC2Launch\log\agent.log
- EC2Config: C:\Program Files\Amazon\Ec2ConfigService\Logs\Ec2Config.log
Observação: por padrão, C:\ ProgramData é uma pasta oculta.
Informações relacionadas
How do I run a command on a new EC2 Windows instance at launch?
Sysprep (System Preparation) overview no site da Microsoft