Creación de una AMI mediante Windows Sysprep con EC2Launch v2
Cuando crea una imagen a partir de una instancia con el agente de EC2Launch v2 instalado, EC2Launch v2 realiza tareas específicas a medida que se prepara la imagen. Esto incluye trabajar con Windows Sysprep. Para obtener más información, consulte Fases de Windows Sysprep.
Acciones de Windows Sysprep
Windows Sysprep y EC2Launch v2 realizan las siguientes acciones al preparar una imagen.
-
Cuando elige Shutdown with Sysprep en el cuadro de diálogo de EC2Launch settings, el sistema ejecuta el comando
ec2launch sysprep. -
EC2Launch v2 edita el contenido del archivo
unattend.xmlleyendo el valor del registro enHKEY_USERS\.DEFAULT\Control Panel\International\LocaleName. El archivo se encuentra en el siguiente directorio:C:\ProgramData\Amazon\EC2Launch\sysprep. -
El sistema ejecuta
BeforeSysprep.cmd. Este comando crea una clave del Registro como la siguiente:reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 1 /f
La clave de registro deshabilita las conexiones RDP hasta que se vuelvan a habilitar. Deshabilitar las conexiones RDP es una medida de seguridad necesaria porque, durante la primera sesión de arranque tras ejecutarse Windows Sysprep, hay un breve período en el que RDP habilita las conexiones y la contraseña del administrador está vacía.
-
El servicio EC2Launch v2 llama a Windows Sysprep mediante la ejecución del siguiente comando:
sysprep.exe /oobe /generalize /shutdown /unattend: "C:\ProgramData\Amazon\EC2Launch\sysprep\unattend.xml"
Fase Generalize
-
EC2Launch v2 elimina la información y la configuración específicas de la imagen, como el nombre del equipo y el SID. Si la instancia pertenece a un dominio, se elimina de dicho dominio. El archivo de respuestas
unattend.xmlincluye la siguiente configuración que afecta a esta fase:-
PersistAllDeviceInstalls: Esta configuración evita que Windows Setup elimine y vuelva a configurar dispositivos, lo que acelera el proceso de preparación de imágenes, ya que las AMI de Amazon requieren la ejecución de ciertos controladores y la nueva detección de dichos controladores podría llevar tiempo.
-
DoNotCleanUpNonPresentDevices: Esta configuración conserva la información Plug and Play de los dispositivos que no están presentes en ese momento.
-
-
Windows Sysprep apaga el sistema operativo al prepararse para crear la AMI. El sistema inicia una nueva instancia o bien inicia la instancia original.
Fase Specialize
El sistema genera los requisitos específicos del sistema operativo, como el nombre del equipo y un SID. Además, el sistema realiza las siguientes acciones en función de la configuración que especifique en el archivo de respuestas unattend.xml.
-
CopyProfile: Windows Sysprep se puede configurar para eliminar todos los perfiles de usuario, incluido el perfil de administrador integrado. Esta configuración conserva la cuenta de administrador incorporada para que cualquier personalización que realice en la cuenta se traslade a la nueva imagen. El valor predeterminado es
True.CopyProfile sustituye el perfil predeterminado con el perfil de administrador local existente. Todas las cuentas en las que inicie sesión después de ejecutar Windows Sysprep recibirán una copia de dicho perfil y su contenido en el primer inicio de sesión.
Si no tiene ninguna personalización de perfiles de usuario específica que desee trasladar a la nueva imagen, cambie esta configuración a
False. Windows Sysprep eliminará todos los perfiles de usuario (esto permite ahorrar tiempo y espacio en disco). -
TimeZone: de forma predeterminada, la zona horaria está establecida en tiempo universal coordinado (UTC).
-
Synchronous command with order 1: El sistema ejecuta el siguiente comando que habilita la cuenta de administrador y especifica el requisito de contraseña:
net user Administrator /ACTIVE:YES /LOGONPASSWORDCHG:NO /EXPIRES:NEVER /PASSWORDREQ:YES -
Synchronous command with order 2: El sistema codifica la contraseña de administrador. Esta medida de seguridad está diseñada para evitar que se pueda acceder a la instancia después de que Windows Sysprep se complete si no configuró la tarea
setAdminAccount.El sistema ejecuta el siguiente comando desde el directorio local de agentes de lanzamiento (
C:\Program Files\Amazon\EC2Launch\).EC2Launch.exe internal randomize-password --username Administrator -
Para habilitar las conexiones de escritorio remoto, el sistema establece la clave de registro de Terminal Server
fDenyTSConnectionsen falso.
Fase OOBE
-
El sistema especifica las siguientes configuraciones mediante el archivo de respuesta de 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 las fases de generalización y especialización, EC2Launch v2 monitorea el estado del sistema operativo. Si EC2Launch v2 detecta que el sistema operativo se encuentra en una fase de Sysprep, publica el siguiente mensaje en el registro del sistema:
Se está configurando Windows. SysprepState=IMAGE_STATE_UNDEPLOYABLE -
-
El sistema ejecuta EC2Launch v2.
Después de Sysprep
Después de que Windows Sysprep se complete, EC2Launch v2 envía el siguiente mensaje a la salida de la consola:
Windows sysprep configuration complete.
A continuación, EC2Launch v2 realiza las siguientes acciones:
-
Lee el contenido del archivo
agent-config.ymly ejecuta las tareas configuradas. -
Ejecuta todas las tareas de la etapa
preReady. -
Después de que finalice, envía un mensaje
Windows is readya los registros del sistema de la instancia. -
Ejecuta todas las tareas de la etapa
PostReady.
Para obtener más información acerca de EC2Launch v2, consulte Uso del agente EC2Launch v2 para realizar tareas durante la inicialización de una instancia de EC2.
Ejecutar Windows Sysprep con EC2Launch v2
Utilice el siguiente procedimiento para crear una AMI estandarizada mediante Windows Sysprep con EC2Launch v2.
-
En la consola de Amazon EC2, localice una AMI que desee duplicar.
-
Lance y conéctese a la instancia de Windows.
-
Configuración personalizada
-
En el menú de Inicio de Windows, busque y elija Configuración de Amazon EC2Launch. Para obtener más información sobre las opciones y la configuración del cuadro de diálogo Configuración de EC2Launch de Amazon, consulte Configuración de EC2Launch v2 en instancias de Windows.
-
Si ha realizado cambios, seleccione Guardar antes de cerrar.
-
-
Seleccione Cerrar con Sysprep o Cerrar sin Sysprep.
Cuando se le solicite que confirme que desea ejecutar Windows Sysprep y cerrar la instancia, haga clic en Sí. EC2Launch v2 ejecuta Windows Sysprep. A continuación, se cierra la sesión en la instancia y esta se cierra. Si comprueba la página Instancias en la consola de Amazon EC2, el estado de la instancia cambia de Running a Stopping a Stopped. En este momento, es seguro crear una AMI desde esta instancia.
Puede invocar la herramienta Windows Sysprep manualmente desde la línea de comando utilizando el siguiente comando:
"%programfiles%\amazon\ec2launch\ec2launch.exe" sysprep --shutdown=true