Visão geral do EC2Launch v2
O EC2Launch v2 é um serviço que executa tarefas durante o startup da instância e é executado se uma instância for interrompida e iniciada posteriormente, ou reiniciada.
Tópicos de visão geral
Para comparar os recursos da versão do agente de inicialização, consulte Comparação entre os agentes de inicialização do Amazon EC2.
Conceitos do EC2Launch v2
É útil entender os conceitos a seguir ao considerar o EC2Launch v2.
Tarefa
É possível invocar uma tarefa para realizar uma ação em uma instância. É possível configurar tarefas no arquivo agent-config.yml
ou por meio de dados do usuário. Para obter uma lista das tarefas disponíveis no EC2Launch v2, consulte Tarefas do EC2Launch v2. Para obter o esquema e os detalhes de configuração da tarefa, consulte Configuração de tarefas do EC2Launch v2.
Estágio
Um estágio é um agrupamento lógico de tarefas que o agente EC2Launch v2 executa. Algumas tarefas podem ser executadas apenas em um estágio específico. Outras podem ser executadas em vários estágios. Ao usar agent-config.yml
, você deve especificar uma lista de estágios e uma lista das tarefas de cada estágio.
O serviço executa as etapas nesta ordem:
- Etapa 1: Boot
- Etapa 2: Network
- Etapa 3: PreReady
- O Windows está pronto
-
Após a conclusão do estágio PreReady, o serviço envia a mensagem
Windows is ready
para o console do Amazon EC2. - Etapa 4: PostReady
-
Os dados do usuário são executados durante o estágio PostReady. Algumas versões de script são executadas antes do estágio PostReady do arquivo
agent-config.yml
e outras depois, da seguinte forma:- Antes do
agent-config.yml
-
-
Dados de usuário em YAML versão 1.1
-
Dados de usuário em XML
-
- Depois de
agent-config.yml
-
-
Dados do usuário em YAML versão 1.0 (versão antiga para compatibilidade com versões anteriores)
-
- Antes do
Para obter exemplos dos estágios e das tarefas, consulte Exemplo: agent-config.yml.
Ao usar dados do usuário, você deve especificar uma lista de tarefas para o agente de inicialização executar. O estágio está implícito. Para obter exemplos de tarefas, consulte Exemplo: dados do usuário.
O EC2Launch v2 executa a lista de tarefas na ordem especificada em agent-config.yml
e nos dados do usuário. Os estágios são executados sequencialmente. O próximo estágio começa após a conclusão do estágio anterior. As tarefas também são executadas sequencialmente.
Frequência
A frequência da tarefa determina quando as tarefas devem ser executadas, dependendo do contexto de inicialização. A maioria das tarefas tem apenas uma frequência permitida. Você pode especificar uma frequência para as tarefas executeScript
.
Você verá as seguintes frequências no Configuração de tarefas do EC2Launch v2.
-
Uma vez — a tarefa é executada uma vez, mediante a inicialização da AMI pela primeira vez (Sysprep concluído).
-
Sempre: a tarefa é executada toda vez que o agente de inicialização é executado. O agente de inicialização é executado quando:
-
uma instância inicia ou reinicia
-
o serviço EC2Launch é executado
-
O
EC2Launch.exe run
é invocado
-
agent-config
O agent-config
é um arquivo localizado na pasta de configuração do EC2Launch v2. Ele inclui a configuração para os estágios de inicialização, rede, PreReady e PostReady. Este arquivo é usado para especificar a configuração de uma instância para tarefas que devem ser executadas quando a AMI é inicializada pela primeira vez ou em ocasiões posteriores.
Por padrão, a instalação do EC2Launch v2 instala um arquivo agent-config
que inclui configurações recomendadas usadas nas AMIs padrão do Amazon Windows. É possível atualizar o arquivo de configuração de modo a alterar a experiência de inicialização padrão para sua AMI especificada pelo EC2Launch v2.
Dados do usuário
Os dados do usuário são dados que podem ser configurados ao iniciar uma instância. É possível atualizar os dados do usuário para alterar de maneira dinâmica como as AMIs personalizadas ou AMIs de início rápido são configuradas. O EC2Launch v2 suporta 60 kB de comprimento de entrada de dados do usuário. Os dados do usuário incluem apenas o estágio do UserData e, portanto, são executados após o arquivo agent-config
. É possível inserir dados do usuário ao executar uma instância usando o assistente de execução de instância ou pode modificar os dados do usuário no console do EC2. Para obter mais informações sobre como trabalhar com dados do usuário, consulteComo o Amazon EC2 lida com os dados dos usuários para instâncias do Windows.
Tarefas do EC2Launch v2
O EC2Launch v2 pode executar as seguintes tarefas em cada inicialização:
-
Configurar papel de parede novo e opcionalmente personalizado que renderiza informações sobre a instância.
-
Definir os atributos para a conta de administrador criada na máquina local.
-
Adicionar sufixos DNS à lista de sufixos de pesquisa. Somente sufixos que ainda não existem são adicionados à lista.
-
Definir letras de unidade para quaisquer volumes adicionais e estendê-las para usar o espaço disponível.
-
Gravar arquivos da configuração no disco.
-
Executar scripts especificados no arquivo de configuração do EC2Launch v2 ou de
user-data
. Os scripts deuser-data
podem ser em texto simples ou compactados e fornecidos no formato base64. -
Executar um programa com os argumentos fornecidos.
-
Definir o nome do computador.
-
Enviar informações de instância para o console do Amazon EC2.
-
Enviar a impressão digital do certificado RDP ao console do Amazon EC2.
-
Estenda dinamicamente a partição do sistema operacional para incluir qualquer espaço não particionado.
-
Executar dados do usuário. Para obter mais informações sobre como especificar os dados do usuário, consulte Configuração de tarefas do EC2Launch v2.
-
Defina rotas estáticas não persistentes para alcançar o serviço de metadados e os servidores AWS KMS.
-
Definir partições que não sejam de inicialização como
mbr
ougpt
. -
Iniciar o serviço Systems Manager após o Sysprep.
-
Otimizar as configurações do ENA.
-
Ativar o OpenSSH para versões posteriores do Windows.
-
Ativar os frames jumbo.
-
Defina o Sysprep para execução com o EC2Launch v2.
-
Publicar logs de eventos do Windows.
Telemetria
Telemetria é informação adicional que ajuda a AWS a entender melhor suas necessidades, diagnosticar problemas e fornecer recursos para melhorar sua experiência com os Serviços da AWS.
EC2Launch versão v2 2.0.592
e, posteriormente, coletar telemetria, como métricas de uso e erros. Esses dados são coletados da instância do Amazon EC2 na qual o EC2Launch v2 é executado. Isso inclui todas as AMIs do Windows de propriedade da AWS.
Os seguintes tipos de telemetria são coletados pelo EC2Launch v2:
-
Informações de uso: comandos do agente, método de instalação e frequência de execução programada.
-
Erros e informações de diagnóstico: códigos de erro da instalação do agente, códigos de erro de execução e pilhas de chamada como erro.
Exemplos de dados coletados pelo:
2021/07/15 21:44:12Z: EC2LaunchTelemetry: IsAgentScheduledPerBoot=true 2021/07/15 21:44:12Z: EC2LaunchTelemetry: IsUserDataScheduledPerBoot=true 2021/07/15 21:44:12Z: EC2LaunchTelemetry: AgentCommandCode=1 2021/07/15 21:44:12Z: EC2LaunchTelemetry: AgentCommandErrorCode=5 2021/07/15 21:44:12Z: EC2LaunchTelemetry: AgentInstallCode=2 2021/07/15 21:44:12Z: EC2LaunchTelemetry: AgentInstallErrorCode=0
A telemetria está habilitada por padrão. É possível desativar a coleta de telemetria a qualquer momento. Se a telemetria estiver ativada, o EC2Launch v2 enviará dados de telemetria sem notificações adicionais do cliente.
Visibilidade de telemetria
Quando a telemetria está habilitada, ela aparece na saída do console do Amazon EC2 da seguinte maneira:
2021/07/15 21:44:12Z: Telemetry: <Data>
Desativar telemetria em uma instância
Para desativar a telemetria para uma única instância, é possível definir uma variável de ambiente do sistema ou usar o MSI para modificar a instalação.
Para desabilitar a telemetria definindo uma variável de ambiente do sistema, execute o seguinte comando como administrador:
setx /M EC2LAUNCH_TELEMETRY 0
Para desabilitar a telemetria usando o MSI, execute o comando a seguir depois de baixar o MSI,
msiexec /i ".\AmazonEC2Launch.msi" Remove="Telemetry" /q