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