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

Criar uma AMI usando o Sysprep do Windows com o EC2Launch v2

Quando você cria uma imagem de uma instância com o agente EC2Launch v2 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.

Ações do Sysprep do Windows

O Sysprep do Windows e o EC2Launch v2 executam as ações a seguir na preparação de uma imagem.

  1. Quando você escolhe Shutdown with Sysprep (Desligar com Sysprep) na caixa de diálogo EC2Launch settings (Configurações do EC2Launch), o sistema executa o comando ec2launch sysprep.

  2. O EC2Launch v2 edita o conteúdo do arquivo unattend.xml lendo o valor do registro em HKEY_USERS\.DEFAULT\Control Panel\International\LocaleName. O arquivo está localizado no seguinte diretório: C:\ProgramData\Amazon\EC2Launch\sysprep.

  3. O sistema executa o BeforeSysprep.cmd. Esse comando cria uma chave de registro da seguinte maneira:

    reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 1 /f

    A chave de registro desabilita as conexões RDP até serem re-habilitadas. Desabilitar as conexões RDP é uma medida de segurança necessária, pois, na primeira sessão de inicialização após o Sysprep do Windows ser executado, há um breve período no qual o RDP permite conexões e a senha do Administrador fica em branco.

  4. O serviço do EC2Launch v2 chama o Sysprep do Windows ao executar o seguinte comando:

    sysprep.exe /oobe /generalize /shutdown /unattend: "C:\ProgramData\Amazon\EC2Launch\sysprep\unattend.xml"

Generalizar a fase

  • O EC2Launch v2 remove informações e configurações específicas da imagem, como o nome do computador e o SID. Se a instância pertencer a um domínio, ela será removida do domínio. O arquivo de resposta unattend.xml inclui as seguintes configurações que afetam a fase:

    • PersistAllDeviceInstalls: essa configuração impede que a Configuração do Windows remova e reconfigure dispositivos, o que acelera o processo de preparação de imagem, pois as AMIs da Amazon exigem a execução de determinados drivers e a nova detecção desses drivers tomaria o tempo.

    • DoNotCleanUpNonPresentDevices: essa configuração retém informações de plug and play para dispositivos que não estão presentes no momento.

  • O Sysprep do Windows fecha o SO à medida que se prepara para criar a AMI. O sistema executa uma nova instância ou inicia a instância original.

Fase especializada

O sistema gera requisitos específicos do sistema operacional, como um nome de computador e um SID. O sistema também executa as ações a seguir com base nas configurações que você especifica no arquivo de resposta unattend.xml.

  • CopyProfile: o Sysprep do Windows pode ser configurado para excluir todos os perfis de usuário, incluindo o perfil incorporado do Administrador. Essa configuração retém a conta incorporada do administrador, de forma que todas as personalizações que você fizer nessa conta serão transferidas para a nova imagem. O valor padrão é True.

    CopyProfile substitui o perfil padrão pelo perfil de administrador local existente. Todas as contas em que você faz login depois da execução do Sysprep do Windows recebem uma cópia desse perfil e do conteúdo dele no primeiro login.

    Se você não tiver personalizações específicas do perfil do usuário que deseja transferir para a nova imagem, altere essa configuração para False. O Sysprep do Windows removerá todos os perfis de usuário (isso economiza tempo e espaço em disco).

  • TimeZone: o fuso horário é definido como Coordinated Universal Time (UTC – Tempo universal coordenado), por padrão.

  • Comando síncrono com pedido 1: o sistema executa o comando a seguir, que habilita a conta do administrador e especifica o requisito de senha:

    net user Administrator /ACTIVE:YES /LOGONPASSWORDCHG:NO /EXPIRES:NEVER /PASSWORDREQ:YES
  • Comando síncrono com pedido 2: o sistema vasculha a senha do administrador. Essa medida de segurança foi criada para impedir que a instância seja acessível após a conclusão do Sysprep do Windows, caso você não tenha configurado a tarefa setAdminAccount.

    O sistema executa o seguinte comando no diretório local do agente de inicialização (C:\Program Files\Amazon\EC2Launch\).

    EC2Launch.exe internal randomize-password --username Administrator
  • Para habilitar conexões de área de trabalho remota, o sistema define a chave de registro fDenyTSConnections do Terminal Server como false.

Fase OOBE

  1. O sistema especifica as seguintes configurações usando o arquivo de resposta do EC2Launch v2:

    • <InputLocale>en-US</InputLocale>

    • <SystemLocale>en-US</SystemLocale>

    • <UILanguage>en-US</UILanguage>

    • <UserLocale>en-US</UserLocale>

    • <HideEULAPage>true</HideEULAPage>

    • <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>

    • <ProtectYourPC>3</ProtectYourPC>

    • <BluetoothTaskbarIconEnabled>false</BluetoothTaskbarIconEnabled>

    • <TimeZone>UTC</TimeZone>

    • <RegisteredOrganization>Amazon.com</RegisteredOrganization>

    • <RegisteredOwner>EC2</RegisteredOwner>

    nota

    Durante as fases de generalização e de especialização, o EC2Launch v2 monitora o status do sistema operacional. Se o EC2Launch v2 detectar que o sistema operacional está na fase Sysprep, ele publicará a seguinte mensagem no log do sistema:

    O Windows está sendo configurado. SysprepState=IMAGE_STATE_UNDEPLOYABLE

  2. O sistema executa o EC2Launch v2.

Após Sysprep

Após a conclusão do Sysprep do Windows, o EC2Launch v2 envia a seguinte mensagem para a saída do console:

Windows sysprep configuration complete.

Depois, o EC2Launch v2 executa as ações a seguir:

  1. Lê o conteúdo do arquivo agent-config.yml e executa as tarefas configuradas.

  2. Executa todas as tarefas no estágio preReady.

  3. Após a conclusão, envia uma mensagem Windows is ready para os logs do sistema de instância.

  4. Executa todas as tarefas no estágio PostReady.

Para obter mais informações sobre o EC2Launch v2, consulte Usar o agente do EC2Launch v2 para realizar tarefas durante a execução da instância EC2 Windows.

Executar o Sysprep do Windows com o EC2Launch v2

Use o procedimento a seguir para criar uma AMI padronizada usando o Sysprep do Windows com o EC2Launch v2.

  1. No console do Amazon EC2, localize uma AMI que você deseja duplicar.

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

  3. Personalizar configurações

    1. No menu Start (Iniciar) do Windows, procure e escolha Amazon EC2Launch settings (Configurações do Amazon EC2Launch). Para obter mais informações sobre as opções e configurações na caixa de diálogo Amazon EC2Launch settings (Configurações do Amazon EC2Launch), consulte Definição das configurações do EC2Launch v2 para instâncias do Windows.

    2. Se você fez alterações, escolha Salvar antes de desligar.

  4. Selecione Desligar com Sysprep ou Desligar sem Sysprep.

Quando você receber uma solicitação para confirmar que deseja executar o Sysprep do Windows e desativar a instância, clique em Sim. O EC2Launch v2 executa o Sysprep do Windows. Você é desconectado da instância, e a instância é desligada. 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 para Stopped. Nesse momento, é seguro criar uma AMI com base nessa instância.

Você pode invocar manualmente a ferramenta Sysprep do Windows pela linha de comando usando o seguinte comando:

"%programfiles%\amazon\ec2launch\ec2launch.exe" sysprep --shutdown=true