Visão geral do EC2Launch v2 - Amazon Elastic Compute Cloud

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.

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)

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 de user-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 ou gpt.

  • 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