Criar uma AMI do Windows personalizada - Amazon Elastic Compute Cloud

Criar uma AMI do Windows personalizada

É possível executar uma instância em uma AMI do Windows existente, personalizar a instância e salvar essa configuração atualizada como uma AMI personalizada. Entre as instâncias executadas nessa AMI personalizada estão as personalizações que você fez quando criou a AMI.

Para ajudar a categorizar e gerenciar suas AMIs, é possível atribuir tags personalizadas a elas. Para obter mais informações, consulte Marcar com tag os recursos do Amazon EC2.

Para criar uma AMI do Linux personalizada, use o procedimento para o tipo de volume da instância. Para obter mais informações, consulte Criar uma AMI do Linux baseada no Amazon EBS ou Criar uma AMI do Linux com armazenamento de instâncias no Guia do usuário do Amazon EC2 para instâncias do Linux.

Como funciona a criação de uma AMI personalizada

Primeiro, execute uma instância de uma AMI semelhante à AMI que você deseja criar. É possível conectá-la à sua instância e personalizá-la. Quando a instância estiver configurada da maneira desejada, garanta a integridade de dados interrompendo a instância antes de criar uma AMI e, em seguida, crie a imagem. Registramos automaticamente a AMI para você.

Durante o processo de criação da AMI, o Amazon EC2 cria snapshots do volume raiz de sua instância e de todos os outros volumes do EBS anexados à sua instância. Você é cobrado pelos snapshots até que você cancele o registro da AMI e exclua os snapshots. Para obter mais informações, consulte Cancelar o registro da AMI. Se qualquer volume anexado à instância estiver criptografado, a nova AMI só será executada com êxito em tipos de instâncias compatíveis com o Criptografia de Amazon EBS. Para obter mais informações, consulte Criptografia do Amazon EBS no Guia do usuário do Amazon EBS.

Dependendo do tamanho dos volumes, pode levar vários minutos para que o processo de criação da AMI se complete (às vezes até 24 horas). Talvez seja mais eficaz criar snapshots de seus volumes antes de criar sua AMI. Dessa forma, apenas snapshots pequenos e incrementais precisam ser criados quando a AMI é criada, e o processo é concluído mais rapidamente (o tempo total para a criação de snapshot permanece o mesmo.)

Após a conclusão do processo, uma nova AMI e um snapshot serão criados do volume raiz da instância. Quando você executa uma instância usando a nova AMI, criamos um novo volume do EBS para o volume raiz dele usando o snapshot.

nota

Uma AMI do Windows deve ser criada de uma instância do Amazon EC2. Atualmente, não há suporte para a criação de uma AMI do Windows com base em um snapshot do EBS, pois isso pode causar problemas com elementos como faturamento, performance e operação geral.

Se você adicionar volumes de armazenamento de instâncias ou volumes do Amazon Elastic Block Store (Amazon EBS) à sua instância, além do volume do dispositivo raiz, o mapeamento de dispositivos de blocos para a nova AMI conterá informações sobre esses volumes, e os mapeamentos de dispositivos de blocos para as instâncias que você executar da nova AMI conterão automaticamente informações sobre esses volumes. Os volumes de armazenamento de instâncias especificados no mapeamento de dispositivos de blocos para a nova instância são novos e não contêm dados dos volumes de armazenamento de instâncias da instância usada para criar a AMI. Os dados nos volumes do EBS persistem. Para obter mais informações, consulte Mapeamentos de dispositivos de blocos.

nota

Ao criar uma nova instância em uma AMI personalizada, é necessário inicializar o volume raiz e todo armazenamento do EBS adicional antes de colocá-lo em produção. Para obter mais informações, consulte Inicializar volumes do Amazon EBS.

Criar uma AMI do Windows em uma instância em execução

É possível criar uma AMI usando o AWS Management Console ou a linha de comando. O diagrama a seguir resume o processo de criação de uma AMI com base em uma instância do EC2 em execução. Comece com uma AMI existente, execute uma instância, personalize-a, crie uma nova AMI a partir dela e, por fim, execute uma instância de sua nova AMI. As etapas do diagrama a seguir são correspondentes às etapas do procedimento abaixo.

nota

Se já tiver uma instância baseada do Windows em execução, será possível passar diretamente à etapa 5.

Fluxo de trabalho para a criação de uma AMI de uma instância
Para criar uma AMI de uma instância usando o console
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, em Images (Imagens), escolha AMIs.

  3. Use as opções Filter (Filtro) para restringir o escopo da lista de AMIs às AMIs do Windows que atendam às suas necessidades. Por exemplo, para ver as AMIs do Windows fornecidas pela AWS, escolha Public images (Imagens públicas) na lista suspensa. Escolha a barra de pesquisa e, no menu, escolha Owner alias, depois o operador = e, em seguida, amazon. Escolha Source (Fonte) no menu e digite uma das seguintes opções, dependendo da versão do Windows Server necessária:

    • amazon/Windows_Server-2022

    • amazon/Windows_Server-2019

    • amazon/Windows_Server-2016

    Adicione todos os outros filtros dos quais você precisa. Quando você tiver escolhido uma AMI, marque a caixa de seleção.

  4. Escolha Launch instance from image (Iniciar instância de imagem), no novo console, ou Launch (Iniciar), no console antigo. Aceite os valores padrão ao prosseguir no assistente. Para ter mais informações, consulte Iniciar uma instância usando o novo assistente de inicialização de instância, versão beta. Quando a instância estiver pronta, conecte-se a ela. Para ter mais informações, consulte Conectar-se à sua instância do Windows do .

  5. Depois de conectar-se à instância, será possível executar qualquer uma destas ações para personalizá-la de acordo com suas necessidades:

    • Instalar o software e aplicações

    • Copiar dados

    • Reduzir o tempo de inicialização excluindo arquivos temporários e desfragmentando o disco rígido

    • Anexar volumes adicionais do EBS

    • Criar uma nova conta de usuário e a adicionar ao grupo de Administradores

      Se você estiver compartilhando sua AMI, essas credenciais poderão ser fornecidas para acesso RDP sem divulgar sua senha de administrador padrão.

    • [Windows Server 2022 e posterior] Defina configurações usando o EC2Launch v2. Para gerar uma senha aleatória no momento da inicialização, configure a tarefa setAdminAccount. Para ter mais informações, consulte setAdminAccount.

    • [Windows Server 2016 e 2019] Defina configurações usando o EC2Launch. Para gerar uma senha aleatória no momento da inicialização, use a configuração adminPasswordType. Para obter mais informações, consulte Configurar o EC2Launch.

    • [Windows Server 2012 R2 e anterior] Defina configurações usando o EC2Config. Para gerar uma senha aleatória no momento da inicialização, habilite o plug-in Ec2SetPassword. Do contrário, a senha de administrador atual será usada. Para obter mais informações, consulte Arquivos de configurações do EC2Config.

  6. No painel de navegação, selecione Instâncias e selecione sua instância. Escolha Actions (Ações), Image and templates (Imagem e modelos) e Create image (Criar imagem).

    dica

    Se essa opção está desabilitada, sua instância não é uma instância baseada no Amazon EBS.

  7. Especifique um nome exclusivo para a imagem e uma descrição opcional (até 255 caracteres).

    Por padrão, quando o Amazon EC2 cria a nova AMI, ele reinicializa a instância para que ela possa obter snapshots dos volumes anexados enquanto os dados estiverem em repouso, a fim de garantir um estado consistente. Para a configuração No reboot (Sem reinicialização), é possível marcar a caixa de seleção Enable (Habilitar) para evitar que o Amazon EC2 desligue e reinicialize a instância.

    Atenção

    Se optar por habilitar No reboot (Sem reinicialização), não poderemos garantir a integridade do sistema de arquivos da imagem criada.

    (Opcional) Modifique o volume raiz, os volumes do EBS e os volumes de armazenamento de instâncias conforme necessário. Por exemplo:

    • Para alterar o tamanho do volume raiz, localize o volume Root (Raiz) na coluna Type (Tipo) e preencha o campo Size (Tamanho).

    • Para excluir um volume do EBS especificado pelo mapeamento de dispositivos de blocos da AMI usada para executar a instância, localize o volume do EBS na lista e escolha Delete (Excluir).

    • Para adicionar um volume do EBS, escolha Add New Volume (Adicionar novo volume), Type (Tipo) e EBS e preencha os campos. Quando você executa uma instância da nova AMI, esses volumes adicionais são anexados automaticamente à instância. Os volumes vazios devem ser formatados e montados. Os volumes baseados em um snapshot devem ser montados.

    • Para excluir um volume de armazenamento de instâncias especificado pelo mapeamento de dispositivos de blocos da AMI usada para executar a instância, localize o volume na lista e escolha Delete (Excluir).

    • Para adicionar um volume de armazenamento de instância, escolha Add New Volume (Adicionar novo volume), Type (Tipo) e Instance Store (Armazenamento de instância), e selecione um nome de dispositivo na lista Device (Dispositivo). Quando você executa uma instância da nova AMI, esses volumes adicionais são automaticamente inicializados e montados. Esses volumes não contêm dados de volumes de armazenamento de instâncias da instância em execução na qual a AMI foi baseada.

    Quando terminar, escolha Create Image (Criar imagem).

  8. Enquanto a AMI estiver sendo criada, será possível escolher AMIs no painel de navegação para visualizar o status. Limpe seus filtros anteriores e escolha Owned by me (De minha propriedade) na lista suspensa. Inicialmente, seu status é pending. Após alguns minutos, o status deverá mudar para available.

    (Opcional) Escolha Snapshots no painel de navegação para visualizar o snapshot que foi criado para a nova AMI. Quando você executa uma instância dessa AMI, usamos esse snapshot para criar seu volume do dispositivo raiz.

  9. Execute uma instância da nova AMI. Para ter mais informações, consulte Iniciar uma instância usando o novo assistente de inicialização de instância, versão beta. A nova instância em execução contém todas as personalizações aplicadas por você em etapas anteriores e todas as personalizações adicionais adicionadas por você ao executar a instância, como dados do usuário (scripts executados quando a instância é iniciada).

Para criar uma AMI de uma instância usando a linha de comando

É possível usar um dos comandos a seguir. Para obter mais informações sobre essas interfaces de linha de comando, consulte Acessar o Amazon EC2.

Criar uma imagem de máquina da Amazon (AMI) padronizada usando o Sysprep

A ferramenta Microsoft System Preparation (Sysprep) simplifica o processo de duplicar uma instalação personalizada do Windows. É possível usar o Sysprep para criar uma imagem de máquina da Amazon (AMI) padronizada. É possível criar novas instâncias do Amazon EC2 para o Windows a partir desta imagem padronizada.

Recomendamos que você use o EC2 Image Builder para automatizar a criação, o gerenciamento e a implantação de imagens de servidor “douradas” personalizadas, seguras e atualizadas que são pré-instaladas e pré-configuradas com software e configurações.

Se você usar o Sysprep para criar uma AMI padronizada, recomendamos executar o Sysprep com o EC2Launch v2. Se você ainda estiver usando os agentes EC2Config (Windows Server 2012 R2 e anterior) ou EC2Launch (Windows Server 2016 e 2019), consulte a documentação para usar o Sysprep com o EC2Config e o EC2Launch a seguir.

Importante

Não use o Sysprep para criar um backup da instância. O Sysprep remove informações específicas do sistema; remover essas informações pode ter consequências não intencionais para um backup da instância.

Para solucionar problemas do Sysprep, consulte Solucionar problemas do Sysprep.

Antes de começar

  • Antes de executar o Sysprep, recomendamos que você remova todas as contas de usuário locais e todos os perfis de conta, exceto a única conta de administrador em que o Sysprep será executado. Se você executar Sysprep com contas e perfis adicionais, um comportamento inesperado poderá acontecer, incluindo perda de dados de perfil ou falha de conclusão do Sysprep.

  • Saiba mais sobre o Sysprep no Microsoft TechNet.

  • Saiba quais funções do servidor são compatíveis com Sysprep.

Usar o Sysprep com o EC2Launch v2

Esta seção contém detalhes sobre as diferentes fases de execução do Sysprep e as tarefas executadas pelo serviço EC2Launch v2 à medida que a imagem é preparada. Ele também inclui as etapas para criar uma AMI padronizada usando o Sysprep com o serviço EC2Launch v2.

Fases do Sysprep

O Sysprep é executado nas seguintes fases:

  • Generalizar: a ferramenta elimina informações e configurações específicas da imagem. Por exemplo, o Sysprep remove o identificador de segurança (SID), o nome do computador, os logs de evento e os drivers específicos, entre outros. Após essa fase ser encerrada, o sistema operacional (SO) estará pronto para criar a AMI.

    nota

    Ao executar o Sysprep com o serviço EC2Launch v2, o sistema impede que os drivers sejam removidos porque, por padrão, a configuração PersistAllDeviceInstalls é definida como true.

  • Especializar: o plug and play examina o computador e instala drivers para todos os dispositivos detectados. A ferramenta gera requisitos do sistema operacional, como o nome de computador e o SID. Opcionalmente, é possível executar comandos nessa fase.

  • Experiência Out-of-Box (OOBE): o sistema executa uma versão abreviada da configuração do Windows e pede para o usuário inserir informações como o idioma do sistema, o fuso horário e a organização registrada. Quando você executa o Sysprep com o EC2Launch v2, o arquivo de resposta automatiza essa fase.

Ações do Sysprep

O Sysprep e o EC2Launch v2 executam as seguintes ações ao preparar 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 ser executado, há um breve período no qual a RDP permite conexões e senha do Administrador fica em branco.

  4. O serviço EC2Launch v2 chama o Sysprep executando 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 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 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 recebem uma cópia desse perfil e de seu conteúdo 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 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 projetada para impedir que a instância seja acessível após a conclusão do Sysprep, 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, 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 Configurar uma instância do Windows usando o EC2Launch v2.

Executar o Sysprep com o EC2Launch v2

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

  1. No console do Amazon EC2, localize ou crie a AMI que deseja duplicar.

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

  3. Personalize-a.

  4. 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 Configurações do EC2Launch v2.

  5. Selecione Shutdown with Sysprep (Desligar com Sysprep) ou Shutdown without Sysprep (Desligar sem Sysprep).

Quando houver uma solicitação para confirmar que você deseja executar o Sysprep e desativar a instância, clique em Yes (Sim). EC2Launch v2 executa o Sysprep. 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.

É possível invocar manualmente a ferramenta Sysprep pela linha de comando usando o seguinte comando:

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

Usar o Sysprep com o EC2Launch

O EC2Launch oferece um arquivo de resposta padrão e arquivos em lote para o Sysprep 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 para criar um backup da instância. O Sysprep remove as informações específicas ao 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

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.

SysprepSpecialize.cmd

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

Executar o Sysprep com o EC2Launch

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

Para executar o Sysprep usando a aplicação de 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 Sysprep definir a senha do 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).

Para usar o Sysprep 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 Sysprep definir a senha do 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.

  • Execute EC2LaunchSettings e desligue sem o Sysprep 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”.

Usar o Sysprep com o EC2Config

Esta seção contém os detalhes das diferentes fases de execução do Sysprep e das tarefas executadas pelo serviço EC2Config enquanto a imagem é preparada. Ela também inclui as etapas para criar uma AMI padronizada usando o Sysprep com o serviço EC2Config.

Fases do Sysprep

O Sysprep é executado nas seguintes fases:

  • Generalizar: a ferramenta elimina informações e configurações específicas da imagem. Por exemplo, o Sysprep remove o identificador de segurança (SID), o nome do computador, os logs de evento e os drivers específicos, entre outros. Após essa fase ser encerrada, o sistema operacional (SO) estará pronto para criar a AMI.

    nota

    Quando você executa o Sysprep com o serviço EC2Config, o sistema impede que os drivers sejam removidos, pois a configuração PersistAllDeviceInstalls é definida como verdadeira por padrão.

  • Especializar: o plug and play examina o computador e instala drivers para todos os dispositivos detectados. A ferramenta gera requisitos de SO, como nome de computador e SID. Opcionalmente, é possível executar comandos nessa fase.

  • Out-of-Box Experience (OOBE): o sistema executa uma versão abreviada da configuração do Windows e pede para o usuário digitar informações como idioma do sistema, fuso horário e uma organização registrada. Quando você executa o Sysprep com o EC2Config, o arquivo de resposta automatiza essa fase.

Ações do Sysprep

O Sysprep e o serviço EC2Config executam as ações a seguir ao preparar uma imagem.

  1. Quando você escolhe Encerrar com o Sysprep na caixa de diálogo Propriedades do EC2 Service), o sistema executa o comando ec2config.exe -sysprep.

  2. O serviço EC2Config lê o conteúdo do arquivo BundleConfig.xml. Esse arquivo está localizado no diretório a seguir, por padrão: C:\Program Files\Amazon\Ec2ConfigService\Settings.

    O arquivo BundleConfig.xml inclui as seguintes configurações. É possível alterar essas configurações:

    • AutoSysprep: indica se o Sysprep deve ser usado automaticamente. Você não precisará mudar esse valor se estiver executando o Sysprep pela caixa de diálogo de propriedades do serviço EC2. O valor padrão é No.

    • SetRDPCertificate: define um certificado autoassinado para o servidor de Desktop Remoto. Isso permite que você use com segurança o Remote Desktop Protocol (RDP) para se conectar à instância. Altere o valor para Yes se as novas instâncias precisarem usar um certificado. Essa configuração não é usada com instâncias Windows Server 2012 porque esses sistemas operacionais podem gerar seus próprios certificados. O valor padrão é No.

    • SetPasswordAfterSysprep: define uma senha aleatória em uma instância recém-executada, criptografa-a com a chave de execução do usuário e gera a senha criptografada no console. Altere o valor para No se novas instâncias não precisarem ser definidas com uma senha criptografada aleatória. O valor padrão é Yes.

    • PreSysprepRunCmd: o local do comando para execução. Por padrão, o comando está localizado no seguinte diretório:: C:\Program Files\Amazon\Ec2ConfigService\Scripts\BeforeSysprep.cmd

  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 ser executado, há um breve período no qual a RDP permite conexões e senha do Administrador fica em branco.

  4. O serviço EC2Config chama o Sysprep executando o seguinte comando:

    sysprep.exe /unattend: "C:\Program Files\Amazon\Ec2ConfigService\sysprep2008.xml" /oobe /generalize /shutdown
Generalizar a fase
  • A ferramenta remove informações específicas da imagem e as configurações, como nome de computador e SID. Se a instância pertencer a um domínio, ela será removida do domínio. O arquivo de resposta sysprep2008.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 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 de SO, como um nome de computador e um SID. O sistema também executa as ações a seguir com base em configurações que você especifica no arquivo de resposta sysprep2008.xml.

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

    CopyProfile substitui o perfil padrão pelo perfil de administrador local existente. Todas as contas conectadas depois da execução de Sysprep receberão uma cópia desse perfil e do conteúdo 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 falso. O Sysprep 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 é projetada para impedir que a instância fique acessível após o Sysprep ser concluído, caso você não tenha habilitado a configuração ec2setpassword.

    C:\Program Files\Amazon\Ec2ConfigService\ScramblePassword.exe" -u Administrator

  • Comando síncrono com pedido 3: o sistema executa o seguinte comando:

    C:\Program Files\Amazon\Ec2ConfigService\Scripts\SysprepSpecializePhase.cmd

    Esse comando adiciona a seguinte chave de registro, que re-habilita a RDP:

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

Fase OOBE
  1. Usando o arquivo de resposta do serviço EC2Config, o sistema especifica as seguintes configurações:

    • <InputLocale>en-US</InputLocale>

    • <SystemLocale>en-US</SystemLocale>

    • <UILanguage>en-US</UILanguage>

    • <UserLocale>en-US</UserLocale>

    • <HideEULAPage>true</HideEULAPage>

    • <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>

    • <NetworkLocation>Other</NetworkLocation>

    • <ProtectYourPC>3</ProtectYourPC>

    • <BluetoothTaskbarIconEnabled>false</BluetoothTaskbarIconEnabled>

    • <TimeZone>UTC</TimeZone>

    • <RegisteredOrganization>Amazon.com</RegisteredOrganization>

    • <RegisteredOwner>Amazon</RegisteredOwner>

    nota

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

    EC2ConfigMonitorState: 0 O Windows está sendo configurado. SysprepState=IMAGE_STATE_UNDEPLOYABLE

  2. Após a conclusão da fase OOBE, o sistema executa SetupComplete.cmd a partir do seguinte local: C:\Windows\Setup\Scripts\SetupComplete.cmd. Na AMIs públicas da Amazon antes de abril de 2015 este arquivo estava vazio e não executava nada na imagem. Em AMIs públicas posteriores a abril de 2015, o arquivo inclui o seguinte valor: call "C:\Program Files\Amazon\Ec2ConfigService\Scripts\PostSysprep.cmd".

  3. O sistema executa PostSysprep.cmd, que realiza as seguintes operações:

    • Define a senha do Administrador para não expirar. Se a senha expirou, os Administradores podem não conseguir fazer login.

    • Define o nome da máquina MSSQLServer (se instalada) para que o nome esteja em sincronia com a AMI.

Após Sysprep

Após o Sysprep ser concluído, os serviços do EC2Config enviam a seguinte mensagem para a saída do console:

Windows sysprep configuration complete.
			Message: Sysprep Start
			Message: Sysprep End

O EC2Config então executa as ações a seguir:

  1. Lê o conteúdo do arquivo config.xml e lista todos os plug-ins habilitados.

  2. Executa todos os plug-ins "Antes que o Windows esteja pronto" ao mesmo tempo.

    • Ec2SetPassword

    • Ec2SetComputerName

    • Ec2InitializeDrives

    • Ec2EventLog

    • Ec2ConfigureRDP

    • Ec2OutputRDPCert

    • Ec2SetDriveLetter

    • Ec2WindowsActivate

    • Ec2DynamicBootVolumeSize

  3. Após estar concluído, envia uma mensagem "O Windows está pronto" para os logs do sistema de instância.

  4. Executa todos os plug-ins "Após o Windows estar pronto" ao mesmo tempo.

    • Amazon CloudWatch Logs

    • UserData

    • AWS Systems Manager (Systems Manager)

Para obter mais informações sobre plug-ins do Windows, consulte Configuração de uma instância do Windows usando o serviço EC2Config (herdado).

Executar o Sysprep com o serviço EC2Config

Use o procedimento a seguir para criar uma AMI padronizada usando Sysprep e serviço EC2Config.

  1. No console do Amazon EC2, localize ou crie a AMI que deseja duplicar.

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

  3. Personalize-a.

  4. Especifique as definições de configuração no arquivo de resposta do serviço EC2Config:

    C:\Program Files\Amazon\Ec2ConfigService\sysprep2008.xml

  5. No menu Iniciar do Windows, escolha Todos os Programas e Configurações do EC2ConfigService.

  6. Escolha a guia Image (Imagem) na caixa de diálogo Ec2 Service Properties (Propriedades do serviço Ec2). Para obter mais informações sobre as opções e as configurações da caixa de diálogo Ec2 Service Properties (Propriedades do serviço Ec2), consulte Propriedades do serviço Ec2.

  7. Selecione uma opção para a senha do Administrador e selecione Shutdown with Sysprep (Desativação com Sysprep) ou Shutdown without Sysprep (Desativação sem Sysprep). O EC2Config edita os arquivos de configuração com base na opção de senha selecionada.

    • Random (Aleatório): o EC2Config gera uma senha, criptografa-a com a chave do usuário e exibe a senha criptografada no console. Nós desabilitamos essa configuração depois da primeira execução, de forma que essa senha persistirá se a instância for reinicializada ou parada e inicializada.

    • Specify (Especificar): a senha é armazenada no arquivo de resposta do Sysprep de forma não criptografada (texto aberto). Quando o Sysprep é executado em seguida, ele define a senha do Administrador. Se você fechar agora, a senha será definida imediatamente. Quando o serviço é reiniciado novamente, a senha do Administrador é removida. É importante recordar essa senha, pois você não poderá recuperá-la depois.

    • Keep Existing (Manter existente): a senha existente para a conta do Administrador não muda quando o Sysprep é executado ou o EC2Config é reiniciado. É importante recordar essa senha, pois você não poderá recuperá-la depois.

  8. Escolha OK.

Quando houver uma solicitação para confirmar que você deseja executar o Sysprep e desativar a instância, clique em Yes (Sim). Você verá que o EC2Config executa Sysprep. Em seguida, 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 mudará de Running para Stopping e, finalmente, para Stopped. Nesse momento, é seguro criar uma AMI com base nessa instância.

É possível invocar manualmente a ferramenta Sysprep pela linha de comando usando o seguinte comando:

"%programfiles%\amazon\ec2configservice\"ec2config.exe -sysprep""
nota

As aspas duplas no comando não serão necessárias se o shell do seu CMD já estiver no diretório C:\Program Files\Amazon\EC2ConfigService\.

Contudo, é necessário ser muito cuidadoso para que as opções do arquivo XML especificadas na pasta Ec2ConfigService\Settings estejam corretas; caso contrário, pode não conseguir conectar-se à instância. Para obter mais informações sobre os arquivos de configurações, consulte Arquivos de configurações do EC2Config. Para ver um exemplo de como configurar e executar o Sysprep pela linha de comando, consulte Ec2ConfigService\Scripts\InstallUpdates.ps1.