Criar uma AMI usando o Sysprep do Windows com o EC2Launch - Amazon Elastic Compute Cloud

Criar uma AMI usando o Sysprep do Windows com o EC2Launch

Quando você cria uma imagem de uma instância com o agente EC2Launch instalado, ele realiza tarefas específicas à medida que a imagem é preparada. Isso inclui trabalhar com o Sysprep do Windows. Para obter mais informações, consulte Fases do Sysprep do Windows.

O EC2Launch oferece um arquivo de resposta padrão e arquivos em lote para o Sysprep do Windows que automatizam e protegem o processo de preparação de imagem na AMI. A modificação desses arquivos é opcional. Esses arquivos estão localizados no seguinte diretório por padrão: C:\ProgramData\Amazon\EC2-Windows\Launch\Sysprep.

Importante

Não use o Sysprep do Windows para criar um backup da instância. O Sysprep do Windows remove as informações específicas do sistema. Se você remover essas informações, poderá haver consequências não intencionais em um backup da instância.

Arquivos de resposta e em lotes do EC2Launch para o Sysprep do Windows

O arquivo de resposta e os arquivos em lote do EC2Launch para o Sysprep incluem o seguinte:

Unattend.xml

Esse é o arquivo de resposta padrão. Se você executar o SysprepInstance.ps1 ou escolher ShutdownWithSysprep na interface do usuário, o sistema lerá a configuração nesse arquivo.

BeforeSysprep.cmd

Personalize esse arquivo em lote para executar comandos antes que o EC2Launch execute o Sysprep do Windows.

SysprepSpecialize.cmd

Personalize esse arquivo em lotes para executar comandos durante a fase de especialização do Sysprep do Windows.

Executar o Sysprep do Windows com o EC2Launch

Na instalação completa do Windows Server 2016 e posterior (com uma experiência de desktop), é possível executar o Sysprep do Windows com o EC2Launch manualmente ou usando a aplicação Configurações do EC2Launch.

Executar o Sysprep do Windows usando a aplicação Configurações do EC2Launch
  1. No console do Amazon EC2, localize ou crie uma AMI do Windows Server 2016 ou posterior.

  2. Execute uma instância do Windows a partir da AMI.

  3. Conecte-se à sua instância do Windows e personalize-a.

  4. Pesquise e execute a aplicação EC2LaunchSettings. Por padrão, ele está localizado no seguinte diretório: C:\ProgramData\Amazon\EC2-Windows\Launch\Settings.

    Aplicação de configurações de execução do EC2
  5. Selecione ou limpe as opções conforme for necessário. Essas configurações são armazenadas no arquivo LaunchConfig.json.

  6. Em Administrator password, faça uma das seguintes ações:

    • Escolha Random. O EC2Launch gera uma senha e criptografa-a usando a chave de usuário. O sistema desativa essa configuração depois da execução da instância, portanto, essa senha persistirá se a instância for reinicializada ou parada e iniciada.

    • Escolha Specify e digite a senha que atende aos requisitos do sistema. A senha é armazenada em LaunchConfig.json como texto não criptografado e será excluída depois que o Sysprep do Windows definir a senha de administrador. Se você fechar agora, a senha será definida imediatamente. O EC2Launch criptografa a senha usando a chave de usuário.

    • Escolha DoNothing e especifique uma senha no arquivo unattend.xml. Se você não especificar uma senha em unattend.xml, a conta de administrador ficará desativada.

  7. Escolha Shutdown with Sysprep (Desligar com Sysprep).

Executar o Sysprep do Windows manualmente usando o EC2Launch
  1. No console do Amazon EC2, localize ou crie uma AMI Datacenter Edition do Windows Server 2016 ou posterior que você deseja duplicar.

  2. Execute e conecte-se à sua instância do Windows.

  3. Personalize a instância.

  4. Especifique as configurações no arquivo LaunchConfig.json. Por padrão, esse arquivo está localizado no diretório C:\ProgramData\Amazon\EC2-Windows\Launch\Config.

    Para adminPasswordType, especifique um dos seguintes valores:

    Random

    O EC2Launch gera uma senha e criptografa-a usando a chave de usuário. O sistema desativa essa configuração depois da execução da instância, portanto, essa senha persistirá se a instância for reinicializada ou parada e iniciada.

    Specify

    O EC2Launch usa a senha que você especifica adminPassword. Se a senha não atender aos requisitos de sistema, o EC2Launch gera uma senha aleatória. A senha é armazenada em LaunchConfig.json como texto não criptografado e será excluída depois que o Sysprep do Windows definir a senha de administrador. O EC2Launch criptografa a senha usando a chave de usuário.

    DoNothing

    O EC2Launch usa a senha que você especifica o arquivo unattend.xml. Se você não especificar uma senha em unattend.xml, a conta de administrador ficará desativada.

  5. (Opcional) Especifique as configurações em unattend.xml e em outros arquivos de configuração. Se o plano atender à instalação, você não precisará fazer alterações nesses arquivos. Por padrão, os arquivos estão localizados no seguinte diretório: C:\ProgramData\Amazon\EC2-Windows\Launch\Sysprep.

  6. No Windows PowerShell, execute ./InitializeInstance.ps1 -Schedule. Por padrão, o script está localizado no seguinte diretório: C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts. Esse script agenda a instância para ser inicializada durante a próxima inicialização. Execute esse script antes de executar o script SysprepInstance.ps1 na próxima etapa.

  7. No Windows PowerShell, execute ./SysprepInstance.ps1. Por padrão, o script está localizado no seguinte diretório: C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts.

Você é desconectado da instância, e a instância é encerrada. Se você verificar a página Instances (Instâncias) no console do Amazon EC2, o estado da instância será alterado de Running para Stopping e, em seguida, para Stopped. Nesse momento, é seguro criar uma AMI com base nessa instância.

Para atualizar rotas de metadados/KMS para o Server 2016 e posterior ao iniciar uma AMI personalizada

Para atualizar rotas de metadados/KMS para o Server 2016 e posterior ao iniciar uma AMI personalizada, siga estas etapas:

  • Execute a GUI EC2LaunchSettings (C:\ProgramData\Amazon\EC2-Windows\Launch\Settings\Ec2LaunchSettings.exe) e selecione a opção para encerrar com o Sysprep do Windows.

  • Execute EC2LaunchSettings e desligue sem o Sysprep do Windows antes de criar a AMI. Isso configura as tarefas de inicialização do EC2 para serem executadas na próxima inicialização, que definirá as rotas com base na sub-rede da instância.

  • Reprograme manualmente as tarefas de inicialização do EC2 antes de criar uma AMI do PowerShell.

    Importante

    Observe o comportamento padrão de redefinição de senha antes de reprogramar as tarefas.

  • Para atualizar as rotas em uma instância em execução que está passando por ativação do Windows ou comunicação com falhas de metadados de instância, consulte “Não é possível ativar o Windows”.