Creación de una AMI de Amazon EC2 con Windows Sysprep - Amazon Elastic Compute Cloud

Creación de una AMI de Amazon EC2 con Windows Sysprep

La herramienta Microsoft System Preparation (Windows Sysprep) crea una versión generalizada del sistema operativo, en la que se elimina la configuración del sistema específica de la instancia antes de capturar una nueva imagen.

Recomendamos que utilice EC2 Image Builder para automatizar la creación, administración e implementación de imágenes de servidor “doradas” personalizadas, seguras y actualizadas que estén preinstaladas y preconfiguradas con software y configuración.

También puede usar Windows Sysprep para crear una AMI estándar con los agentes de inicialización de Windows. Para obtener más información, consulte Uso de Windows Sysprep con un agente de inicialización.

importante

No utilice Windows Sysprep para crear una copia de seguridad de la instancia. Windows Sysprep elimina información específica del sistema; la eliminación de dicha información podría tener consecuencias no deseadas para la copia de seguridad de la instancia.

Para solucionar problemas de Windows Sysprep, consulte Solución de problemas de Sysprep con instancias de Amazon EC2 para Windows.

Fases de Windows Sysprep

Windows Sysprep se ejecuta mediante las siguientes fases:

  • Generalize: la herramienta Sysprep elimina la información y las configuraciones específicas de la imagen. Por ejemplo, Windows Sysprep elimina el identificador de seguridad (SID), el nombre del equipo, los registros de eventos y los controladores específicos, por citar solo algunos. Una vez completada esta fase, el sistema operativo (OS) está listo para crear una AMI.

    nota

    Cuando ejecuta Windows Sysprep con los agentes de inicialización de Windows, el sistema evita que se eliminen los controladores porque PersistAllDeviceInstalls está establecido como verdadero de forma predeterminada.

  • Specialize: La configuración "Plug and Play" analiza el equipo e instala controladores para cualquier dispositivo detectado. La herramienta Sysprep genera los requisitos del sistema operativo, como el nombre del equipo y el SID. Opcionalmente, puede ejecutar comandos en esta fase.

  • Out-of-Box Experience (OOBE): el sistema ejecuta una versión abreviada de Windows Setup y le solicita que escriba información como el idioma del sistema, la zona horaria y una organización registrada. Al ejecutar Windows Sysprep con los agentes de inicialización de Windows, el archivo de respuestas automatiza esta fase.

Antes de empezar

  • Antes de ejecutar Windows Sysprep, se recomienda que elimine todas las cuentas de usuarios locales y todos los perfiles de cuentas distintos de la cuenta de un único administrador en la que se ejecutará Windows Sysprep. Si ejecuta Windows Sysprep con otras cuentas y perfiles, es posible que se produzca un comportamiento inesperado, incluida la pérdida de datos del perfil o la imposibilidad de completar Windows Sysprep.

  • Obtenga más información sobre la descripción general de Sysprep.

  • Obtenga información sobre qué roles de servidor admite Sysprep.

Uso de Windows Sysprep con un agente de inicialización

Puede utilizar Windows Sysprep para crear una imagen de máquina de Amazon (AMI) estandarizada cuando comienza con una AMI que tiene uno de los agentes de inicialización de Windows instalado.

Esta sección contiene detalles sobre las tareas realizadas por el servicio de EC2Launch v2 a medida que se prepara la imagen. También incluye los pasos para crear una AMI estandarizada mediante Windows Sysprep con el servicio de EC2Launch v2.

Acciones de Windows Sysprep

Windows Sysprep y EC2Launch v2 realizan las siguientes acciones al preparar una imagen.

  1. Cuando elige Shutdown with Sysprep en el cuadro de diálogo de EC2Launch settings, el sistema ejecuta el comando ec2launch sysprep.

  2. EC2Launch v2 edita el contenido del archivo unattend.xml leyendo el valor del registro en HKEY_USERS\.DEFAULT\Control Panel\International\LocaleName. El archivo se encuentra en el siguiente directorio: C:\ProgramData\Amazon\EC2Launch\sysprep.

  3. 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.

  4. 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.xml incluye 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 fDenyTSConnections en falso.

Fase OOBE
  1. 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

  2. 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:

  1. Lee el contenido del archivo agent-config.yml y ejecuta las tareas configuradas.

  2. Ejecuta todas las tareas de la etapa preReady.

  3. Después de que finalice, envía un mensaje Windows is ready a los registros del sistema de la instancia.

  4. 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.

  1. En la consola de Amazon EC2, localice una AMI que desee duplicar.

  2. Lance y conéctese a la instancia de Windows.

  3. Personalícela.

  4. 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.

  5. 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 . 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

EC2Launch ofrece un archivo de respuestas predeterminado y archivos por lotes para Windows Sysprep que automatizan y protegen el proceso de preparación de imágenes de la AMI. Es opcional modificar estos archivos. Estos archivos se encuentran de manera predeterminada en el siguiente directorio: C:\ProgramData\Amazon\EC2-Windows\Launch\Sysprep.

importante

No utilice Windows Sysprep para crear una copia de seguridad de la instancia. Windows Sysprep elimina la información específica del sistema. Si elimina esta información, podrían producirse consecuencias no deseadas en una copia de seguridad de instancias.

Archivos por lotes y respuestas de EC2Launch para Windows Sysprep

El archivo de respuestas EC2Launch y los archivos por lotes de Windows Sysprep incluyen lo siguiente:

Unattend.xml

Este es el archivo de respuestas predeterminado. Si ejecuta SysprepInstance.ps1 o elige ShutdownWithSysprep en la interfaz de usuario, el sistema lee los ajustes en este archivo.

BeforeSysprep.cmd

Personalice este archivo por lotes para que ejecute comandos antes de que EC2Launch ejecute Windows Sysprep.

SysprepSpecialize.cmd

Personalice este archivo por lotes para que ejecute comandos durante la fase de specialize de Windows Sysprep.

Ejecute Windows Sysprep con EC2Launch

En la instalación completa de Windows Server 2016 y versiones posteriores (con la experiencia de escritorio), puede ejecutar Windows Sysprep con EC2Launch manualmente o con la aplicación EC2 Launch Settings.

Para ejecutar Windows Sysprep mediante la aplicación EC2Launch Settings
  1. En la consola de Amazon EC2, localice o cree una AMI de Windows Server 2016 o posterior.

  2. Lance una instancia de Windows desde la AMI.

  3. Conéctese a la instancia de Windows y personalícela.

  4. Busque la aplicación EC2LaunchSettings y ejecútela. De forma predeterminada, se encuentra en el siguiente directorio: C:\ProgramData\Amazon\EC2-Windows\Launch\Settings.

    Aplicación EC2 Launch Settings
  5. Seleccione o borre las opciones que correspondan. Esta configuración se almacena en el archivo LaunchConfig.json.

  6. En Contraseña del administrador, realice una de las acciones siguientes:

    • Elija Asignación al azar. EC2Launch genera una contraseña y la cifra usando la clave del usuario. El sistema deshabilita esta configuración tras la inicialización de la instancia para que esta contraseña persista si la instancia se reinicia o si se detiene y se inicia.

    • Elija Especificarla y escriba una contraseña que cumpla los requisitos del sistema. La contraseña se almacena en LaunchConfig.json como texto sin cifrar y se elimina después de que Windows Sysprep define la contraseña del administrador. Si apaga en equipo en este momento, la contraseña se establece inmediatamente. EC2Launch cifra la contraseña usando la clave del usuario.

    • Elija No hacer nada y especifique una contraseña en el archivo unattend.xml. Si no especifica una contraseña en el archivo unattend.xml, la cuenta del administrador se deshabilitará.

  7. Elija Cerrar con Sysprep.

Para ejecutar Windows Sysprep manualmente mediante EC2Launch
  1. En la consola de Amazon EC2, localice o cree una AMI para Windows Server 2016 Datacenter Edition o posterior que desee duplicar.

  2. Lance y conéctese a la instancia de Windows.

  3. Personalice la instancia.

  4. Especifique las opciones en el archivo LaunchConfig.json. De forma predeterminada, este archivo se encuentra en el directorio C:\ProgramData\Amazon\EC2-Windows\Launch\Config.

    En adminPasswordType, especifique uno de los siguientes valores:

    Random

    EC2Launch genera una contraseña y la cifra usando la clave del usuario. El sistema deshabilita esta configuración tras la inicialización de la instancia para que esta contraseña persista si la instancia se reinicia o si se detiene y se inicia.

    Specify

    EC2Launch usa la contraseña que ha especificado en adminPassword. Si la contraseña no cumple los requisitos del sistema, EC2Launch genera una contraseña aleatoria en su lugar. La contraseña se almacena en LaunchConfig.json como texto sin cifrar y se elimina después de que Windows Sysprep define la contraseña del administrador. EC2Launch cifra la contraseña usando la clave del usuario.

    DoNothing

    EC2Launch usa la contraseña que ha especificado en el archivo unattend.xml. Si no especifica una contraseña en el archivo unattend.xml, la cuenta del administrador se deshabilitará.

  5. (Opcional) Especifique los ajustes en unattend.xml y en los otros archivos de configuración. Si tiene pensado estar presente durante la instalación, no es necesario que realice cambios en estos archivos. Los archivos se encuentran de manera predeterminada en el siguiente directorio: C:\ProgramData\Amazon\EC2-Windows\Launch\Sysprep.

  6. En Windows PowerShell, ejecute ./InitializeInstance.ps1 -Schedule. De forma predeterminada, el script se encuentra en el siguiente directorio: C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts. Este script programa la instancia para que se inicialice durante el siguiente arranque. Debe ejecutar este script antes de ejecutar el script SysprepInstance.ps1 en el paso siguiente.

  7. En Windows PowerShell, ejecute ./SysprepInstance.ps1. De forma predeterminada, el script se encuentra en el siguiente directorio: C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts.

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 y, a continuación, a Stopped. En este punto es seguro crear una AMI desde esta instancia.

Actualice las rutas de metadatos/KMS para Server 2016 y versiones posteriores al iniciar una AMI personalizada.

Para actualizar las rutas de metadatos/KMS para Server 2016 y versiones posteriores al iniciar una AMI personalizada, aplique alguna de las siguientes acciones:

  • Ejecute la GUI EC2LaunchSettings (C:\ProgramData\Amazon\EC2-Windows\Launch\Settings\Ec2LaunchSettings.exe) y seleccione la opción para cerrar el sistema con Windows Sysprep.

  • Ejecute EC2LaunchSettings y cierre el sistema sin Windows Sysprep antes de crear la AMI. Esto establece las tareas de inicialización de inicialización de EC2 para que se ejecuten en el siguiente arranque; con ello, se establecen las rutas basadas en la subred para la instancia.

  • Si lo prefiere, puede reprogramar manualmente las tareas de inicialización de inicialización de EC2 antes de crear una AMI desde PowerShell.

    importante

    Tenga en cuenta el comportamiento predeterminado de restablecimiento de contraseña antes de reprogramar las tareas.

  • Para actualizar las rutas en una instancia en ejecución en la que se produzcan errores en sus metadatos durante la activación o comunicación con Windows, consulte "No se puede activar Windows".

Esta sección contiene detalles sobre las tareas realizadas por el servicio de EC2Config a medida que se prepara la imagen. También incluye los pasos para crear una AMI estandarizada mediante Windows Sysprep con el servicio EC2Config.

Acciones de Windows Sysprep

Windows Sysprep y el servicio EC2Config realizan las siguientes acciones al preparar una imagen.

  1. Cuando elige Apagado con Sysprep en el cuadro de diálogo Propiedades del servicio EC2, el sistema ejecuta el comando ec2config.exe -sysprep.

  2. El servicio EC2Config lee el contenido del archivo BundleConfig.xml. De forma predeterminada, este archivo está ubicado en el siguiente directorio: C:\Program Files\Amazon\Ec2ConfigService\Settings.

    El archivo BundleConfig.xml incluye la siguiente configuración. Puede cambiar esta configuración:

    • AutoSysprep: indica si utilizar Windows Sysprep automáticamente. No es necesario cambiar este valor si ejecuta Windows Sysprep desde el cuadro de diálogo EC2 Service Properties. El valor predeterminado es No.

    • SetRDPCertificate: establece un certificado autofirmado para el servidor de Escritorio remoto. De este modo puede utilizar el Protocolo de escritorio remoto (RDP) de forma segura para conectarse a la instancia. Si las nuevas instancias deben utilizar un certificado, cambie el valor a Yes. Esta configuración no se utiliza con instancias de Windows Server 2012 porque estos sistemas operativos pueden generar sus propios certificados. El valor predeterminado es No.

    • SetPasswordAfterSysprep: establece una contraseña aleatoria para una instancia recién iniciada, la cifra con la clave de inicialización del usuario y devuelve la contraseña cifrada a la consola. Si las nuevas instancias no deben configurarse con una contraseña cifrada aleatoria, cambie el valor a No. El valor predeterminado es Yes.

    • PreSysprepRunCmd: La ubicación del comando que se debe ejecutar. De forma predeterminada, el comando se encuentra en el siguiente directorio: C:\Program Files\Amazon\Ec2ConfigService\Scripts\BeforeSysprep.cmd

  3. 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.

  4. El servicio EC2Config llama a Windows Sysprep al ejecutar el siguiente comando:

    sysprep.exe /unattend: "C:\Program Files\Amazon\Ec2ConfigService\sysprep2008.xml" /oobe /generalize /shutdown
Fase Generalize
  • La herramienta 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 sysprep2008.xml incluye 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 o un SID. Además, el sistema realiza las siguientes acciones, en función de la configuración que especifique en el archivo de respuestas sysprep2008.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 haya realizado 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 se haya iniciado 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, lo que 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 la instancia sea accesible una vez se complete Windows Sysprep si no habilitó la configuración de ec2setpassword.

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

  • Synchronous command with order 3: El sistema ejecuta el siguiente comando:

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

    Este comando añade la siguiente clave de registro, que vuelve a habilitar RDP:

    añadir reg. "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

Fase OOBE
  1. Utilizando el archivo de respuestas del servicio EC2Config, el sistema especifica las siguientes configuraciones:

    • <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 las fases generalize y specialize, el servicio EC2Config monitoriza el estado del sistema operativo. Si EC2Config detecta que el sistema operativo se encuentra en una fase de Sysprep, publica el siguiente mensaje en el registro del sistema:

    EC2ConfigMonitorState: 0 Windows is being configured. SysprepState=IMAGE_STATE_UNDEPLOYABLE

  2. Una vez completada la fase OOBE, el sistema ejecuta SetupComplete.cmd desde la siguiente ubicación: C:\Windows\Setup\Scripts\SetupComplete.cmd. En las AMI públicas de Amazon anteriores a abril de 2015, este archivo estaba vacío y no se ejecutaba nada en la imagen. En las AMI públicas con fecha posterior a abril de 2015, el archivo incluye el siguiente valor: call "C:\Program Files\Amazon\Ec2ConfigService\Scripts\PostSysprep.cmd".

  3. El sistema ejecuta PostSysprep.cmd, que realiza las siguientes operaciones:

    • Establece la contraseña del administrador local de forma que no venza. Si la contraseña vence, es posible que los administradores no puedan iniciar sesión.

    • Establece el nombre del equipo de MSSQLServer (si está instalado) para que esté in sincronizado con la AMI.

Después de Sysprep

Una vez se complete Windows Sysprep, el servicio EC2Config envía el siguiente mensaje a la salida de la consola:

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

A continuación, EC2Config realiza las siguientes acciones:

  1. Lee el contenido del archivo config.xml y muestra todos los complementos habilitados.

  2. Ejecuta todos los complementos “Before Windows is ready” simultáneamente.

    • Ec2SetPassword

    • Ec2SetComputerName

    • Ec2InitializeDrives

    • Ec2EventLog

    • Ec2ConfigureRDP

    • Ec2OutputRDPCert

    • Ec2SetDriveLetter

    • Ec2WindowsActivate

    • Ec2DynamicBootVolumeSize

  3. Una vez que ha finalizado, envía el mensaje “Windows is ready” a los registros del sistema de la instancia.

  4. Ejecuta todos los complementos “After Windows is ready” simultáneamente.

    • Amazon CloudWatch Logs

    • UserData

    • AWS Systems Manager (Systems Manager)

Para obtener más información acerca de los complementos de Windows, consulte Uso del servicio EC2Config para realizar tareas durante la inicialización de una instancia del sistema operativo Windows heredado de EC2.

Ejecución de Windows Sysprep con el servicio EC2Config

Utilice el siguiente procedimiento para crear una AMI estandarizada mediante Windows Sysprep y el servicio EC2Config.

  1. En la consola de Amazon EC2, localice o cree una AMI que desee duplicar.

  2. Lance y conéctese a la instancia de Windows.

  3. Personalícela.

  4. Especifique los valores de configuración en el archivo de respuestas del servicio EC2Config:

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

  5. En el menú Start de Windows, elija All Programs y, a continuación, elija EC2ConfigService Settings.

  6. Elija la pestaña Image del cuadro de diálogo Ec2 Service Properties. Para obtener más información acerca de las opciones y la configuración del cuadro de diálogo de Ec2 Service Properties, consulte Ec2 Service Properties.

  7. Seleccione una opción para la contraseña del administrador y, a continuación, seleccione Shutdown with Sysprep o Shutdown without Sysprep. EC2Config edita los archivos de configuración en función de la opción que haya seleccionado para la contraseña.

    • Random: EC2Config genera una contraseña, la cifra con la clave del usuario y muestra la contraseña cifrada a la consola. Esta configuración se deshabilita tras la primera inicialización para que esta contraseña persista si la instancia se reinicia o si se detiene y se vuelve a iniciar.

    • Specify: la contraseña se almacena en el archivo de respuestas de Windows Sysprep en formato no cifrado (texto sin cifrar). Cuando Windows Sysprep vuelve a ejecutarse, establece la contraseña del administrador. Si apaga en equipo en este momento, la contraseña se establece inmediatamente. Al volver a iniciarse el servicio, se elimina la contraseña del administrador. Es importante recordar esta contraseña, ya que no podrá volver a recuperarla.

    • Keep Existing: la contraseña existente para la cuenta del administrador no cambia al ejecutar Windows Sysprep o al reiniciar EC2Config. Es importante recordar esta contraseña, ya que no podrá volver a recuperarla.

  8. Seleccione OK.

Cuando se le solicite que confirme que desea ejecutar Windows Sysprep y cerrar la instancia, haga clic en . Verá que EC2Config 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 y, finalmente, 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\ec2configservice\"ec2config.exe -sysprep""
nota

Las comillas dobles del comando no son necesarias si el shell del CMD ya está en el directorio C:\Program Files\Amazon\EC2ConfigService\.

No obstante, debe prestar especialmente atención para asegurarse de que las opciones del archivo XML especificadas en la carpeta Ec2ConfigService\Settings sean correctas, ya que, en caso contrario, es posible que no pueda conectarse a la instancia. Para obtener más información sobre los archivos de configuración, consulte Archivos de configuración de EC2Config. Para ver un ejemplo de cómo configurar y ejecutar Windows Sysprep desde la línea de comando, consulte Ec2ConfigService\Scripts\InstallUpdates.ps1.