Amazon Elastic Compute Cloud
Guía del usuario de instancias de Windows

Creación de una imagen de máquina de Amazon estándar con Sysprep

La herramienta Microsoft System Preparation (Sysprep) simplifica el proceso de duplicado de una instalación personalizada de Windows. Le recomendamos que utilice Sysprep para crear una imagen de máquina de Amazon (AMI) estándar. Luego, cree instancias de Amazon EC2 para Windows a partir de esta imagen estandarizada.

También recomendamos que ejecute Sysprep con EC2Launch (Windows Server 2016 y versiones posteriores) o con el servicio EC2Config (versiones anteriores a Windows Server 2016).

importante

No utilice Sysprep para crear un backup de instancias. Sysprep elimina información específica del sistema; la eliminación de dicha información podría tener consecuencias no deseadas para el backup de instancias.

Antes de empezar

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

  • Encontrará más información sobre Sysprep en Microsoft TechNet.

  • Descubra qué roles de servidor admite Sysprep.

  • Los procedimientos de esta página se aplican a E2Config. Para Windows Server 2016 y versiones posteriores, consulte Uso de Sysprep con EC2Launch.

Utilización de Sysprep con el servicio EC2Config

Conozca los detalles de las distintas fases de ejecución de Sysprep y las tareas que realiza el servicio EC2Config mientras se prepara la imagen.

Fases de Sysprep

Sysprep se ejecuta en las siguientes fases:

  • Generalize: la herramienta elimina la información y la configuración específicas de la imagen. Por ejemplo, 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

    Al ejecutar Sysprep con el servicio EC2Config, el sistema evita que se eliminen los controladores porque la configuración de PersistAllDeviceInstalls está establecida como true de forma predeterminada.

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

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

Acciones de Sysprep

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

  1. Cuando elige Shutdown with Sysprep en el cuadro de diálogo EC2 Service Properties, 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 Sysprep automáticamente. No es necesario cambiar este valor si ejecuta 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 (Sí). Esta configuración no se utiliza con instancias de Windows Server 2008 o Windows Server 2012 porque dichos sistemas operativos pueden generar sus propios certificados. El valor predeterminado es No.

    • SetPasswordAfterSysprep: Establece una contraseña aleatoria para una instancia recién lanzada, la cifra con la clave de lanzamiento 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 está ubicado 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 Sysprep, hay un breve período de tiempo en el que RDP permite las conexiones y la contraseña del administrador está vacía.

  4. El servicio EC2Config llama a Sysprep ejecutando 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.

  • Sysprep apaga el sistema operativo al prepararse para crear la AMI. El sistema lanza 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: 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 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. 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 para habilitar la cuenta de administrador y especificar 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 se accesible una vez se complete 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 se complete 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 posteriores 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, el cual 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 Sysprep, el servicio EC2Config envía en 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.

    • AWS CloudWatch logs

    • UserData

    • AWS Administrador de sistemas (Administrador de sistemas)

Para obtener más información acerca de los complementos de Windows, consulte Configuración de una instancia de Windows con el servicio EC2Config.

Ejecución de Sysprep con el servicio EC2Config

Utilice el siguiente procedimiento para crear una AMI estandarizada mediante 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 el primer lanzamiento 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 Sysprep en formato no cifrado (texto sin cifrar). Cuando 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 de administrador no cambia al ejecutar 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 Sysprep y cerrar la instancia, haga clic en Yes. Verá que EC2Config ejecuta Sysprep. A continuación, se cierra la sesión en la instancia y esta se cierra. Si comprueba la página Instances (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 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 Sysprep desde la línea de comando, consulte Ec2ConfigService\Scripts\InstallUpdates.ps1.

Solución de problemas de Sysprep

Si tiene problemas o recibe mensajes de error durante la preparación de la imagen, revise los siguientes logs:

  • %WINDIR%\Panther\Unattendgc

  • %WINDIR%\System32\Sysprep\Panther

  • "C:\Program Files\Amazon\Ec2ConfigService\Logs\Ec2ConfigLog.txt"

Si recibe un mensaje de error durante la preparación de la imagen con Sysprep, el sistema operativo podría no estar disponible. Para revisar los archivos de registro, debe parar la instancia, adjuntar su volumen a otra instancia en buen estado como volumen secundario y, a continuación, revisar los registros mencionados en dicho volumen secundario.

Si encuentra errores en el archivo de registro Unattendgc, utilice Microsoft Error Lookup Tool para obtener más detalles sobre el error. El siguiente error notificado en el archivo de registro Unattendgc suele deberse a la existencia de uno o varios perfiles de usuario dañados en la instancia:

Error [Shell Unattend] _FindLatestProfile failed (0x80070003) [gle=0x00000003]
		Error [Shell Unattend] CopyProfile failed (0x80070003) [gle=0x00000003]

Existen dos opciones para resolver este problema:

Opción 1: Utilice Regedit en la instancia para buscar la siguiente clave. Verifique que no existen claves de registro de perfil para un usuario eliminado:

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList\

Opción 2: Edite el archivo de respuestas de EC2Config (C:\Program Files\Amazon\Ec2ConfigService\sysprep2008.xml) y cambie <CopyProfile>true</CopyProfile> a <CopyProfile>false</CopyProfile>. Vuelva a ejecutar Sysprep. Tenga en cuenta que este cambio de configuración eliminará el perfil de usuario administrador integrado una vez se complete Sysprep.