Como executar um comando em uma instância existente do EC2 Windows ao reinicializar ou iniciar a instância?

3 minuto de leitura
0

Quero executar um script personalizado na minha instância Windows existente do Amazon Elastic Compute Cloud (Amazon EC2) ao reinicializar ou iniciar a instância.

Breve descrição

Adicione um script aos dados do usuário e, em seguida, configure-o para ser executado após a reinicialização de uma instância ou quando uma instância for iniciada. EC2Config (Windows Server 2012 R2 e versões anteriores), EC2Launch (Windows Server 2016 e 2019) ou EC2LaunchV2 (Windows Server 2022) processam dados do usuário.

Resolução

Ao adicionar o script aos dados do usuário, você deve incluí-lo em uma tag especial. Essa tag determina se os comandos são executados em uma janela do prompt de comando ou no Windows PowerShell. Para obter mais informações, consulte Executar comandos em sua instância do Windows na inicialização.

Você não pode adicionar nem alterar dados do usuário quando a instância está em execução, mas você pode visualizá-los. Para adicionar ou alterar dados do usuário, a instância deve estar no estado interrompido. Os scripts de dados do usuário não são executados automaticamente quando você reinicializa ou inicia a instância. Você pode configurar os dados do usuário para serem executados na próxima vez ou sempre que você reinicializar ou iniciar a instância.

Importante:

1.    Conecte-se à sua instância do EC2 Windows.

2.    Para Windows Server 2012 R2 ou anterior, abra C:\Arquivos de programas\Amazon\Ec2ConfigService\Ec2ConfigServiceSetting.exe. Em seguida, em Dados do usuário, selecione Ativar execução de UserData para o próximo início do serviço.
Observação: o comando anterior altera a senha do administrador local da instância a cada reinicialização. Se você usar uma AMI com a opção Sem par de chaves selecionada, poderá perder o acesso à sua instância ao reiniciar.

Para o Windows Server 2016 e 2019, abra uma janela de comando do Windows PowerShell e execute o seguinte comando:

C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 –Schedule

Para o Windows Server 2022, execute UserData como um script e defina a frequência para sempre ser executada em cada inicialização. Para ober mais informações, consulte executeScripts para ver a sintaxe e os exemplos.

3.    No console do Amazon EC2, interrompa a instância.

4.    Selecione a instância e escolha Ações. Escolha Configurações de Instância e, em seguida, Editar dados do usuário.

5.    Adicione ou atualize os dados do usuário e escolha Salvar.
Observação: para executar scripts de dados do usuário sempre que reinicializar ou reiniciar a instância, adicione a seguinte configuração:

<persist>true</persist>

6.    Inicie a instância. Os scripts de dados do usuário são executados como parte do processo de início da instância.
Para soluções de problemas adicionais, os arquivos de log EC2Config, EC2Launch e EC2LaunchV2 contêm a saída e os fluxos de erro padrão. Os arquivos de log estão localizados da seguinte forma:

  • EC2Config: C:\Arquivos de programas\Amazon\Ec2ConfigService\Logs\Ec2Config.log
  • EC2Launch: C:\ProgramData\Amazon\EC2-Windows\Launch\Log\UserdataExecution.log
  • EC2LaunchV2: C:\ProgramData\Amazon\EC2Launch\log\agent.log

Informações relacionadas

Como executo um comando em uma nova instância do EC2 Windows na inicialização?

AWS OFICIAL
AWS OFICIALAtualizada há 10 meses