Creación de una AMI de Windows personalizada - Amazon Elastic Compute Cloud

Creación de una AMI de Windows personalizada

Puede lanzar una instancia desde una AMI de Windows que ya exista, modificar los ajustes de dicha instancia y guardar esa configuración actualizada como una AMI personalizada. Las instancias que se lancen desde la nueva AMI personalizada incluirán todas las configuraciones que definió al crearla.

Para facilitar la clasificación y la administración de las AMI, puede asignarles etiquetas personalizadas. Para obtener más información, consulte Etiquetar los recursos de Amazon EC2.

Para crear una AMI de Linux personalizada, siga el procedimiento descrito para el tipo de volumen de la instancia. Para obtener más información, consulte Creación de una AMI de Linux con respaldo de Amazon EBS o Creación de una AMI de Linux con respaldo en el almacén de instancias en la Guía del usuario de Amazon EC2 para instancias de Linux.

Cómo funciona la creación de una AMI personalizada

En primer lugar, lance una instancia desde una AMI que sea similar a la AMI que desea crear. Puede conectarse a la instancia y personalizarla. Cuando la instancia está configurada a su gusto, asegúrese de la integridad de datos parando la instancia antes de crear una AMI y, a continuación, cree la imagen. Nosotros registramos la AMI automáticamente por usted.

Durante el proceso de creación de la AMI, Amazon EC2 crea instantáneas del volumen raíz de la instancia y de cualquier otro volumen de EBS asociado a la instancia. Se cobra por las instantáneas hasta que anule el registro de la AMI y las elimine. Para obtener más información, consulte Anular el registro de la AMI. Si alguno de los volúmenes asociados a la instancia está cifrado, la nueva AMI solo se lanza correctamente en los tipos de instancia que admiten Cifrado de Amazon EBS. Para obtener más información, consulte Cifrado de Amazon EBS.

Según el tamaño de los volúmenes, el proceso de creación de la AMI puede tardar varios minutos en completarse (a veces, hasta 24 horas). Resulta más eficiente crear instantáneas de los volúmenes antes de crear la AMI. De esta forma, solo es necesario crear pequeñas instantáneas incrementales cuando se cree la AMI y, de esta manera, el proceso se completará más rápidamente (el tiempo total de creación de las instantáneas sigue siendo el mismo). Para obtener más información, consulte Crear instantáneas de Amazon EBS.

Una vez completado el proceso, tendrá una nueva AMI y una instantánea creada desde el volumen raíz de la instancia. Cuando lance una instancia mediante la nueva AMI, usamos la instantánea para crear un nuevo volumen de EBS para el volumen raíz.

nota

Debe crearse una AMI de Windows a partir de una instancia de Amazon EC2. Actualmente no se admite la creación de una AMI de Windows a partir de una instantánea de EBS, ya que podría causar problemas con la facturación, el rendimiento y la operación general.

Si agrega volúmenes de almacén de instancias o volúmenes Amazon Elastic Block Store (Amazon EBS) a la instancia, además del volumen del dispositivo raíz, el mapeo de dispositivos de bloques de la nueva AMI contiene información relativa a esos volúmenes y los mapeos de dispositivos de bloques de las instancias que lance desde la nueva AMI contienen automáticamente información relativa a estos volúmenes. Los volúmenes de almacén de instancias especificados en el mapeo de dispositivos de bloques de la nueva instancia son nuevos y no contienen ningún dato de los volúmenes de almacén de instancias de la instancia que usó para crear la AMI. Los datos en los volúmenes de EBS persisten. Para obtener más información, consulte Mapeos de dispositivos de bloques.

nota

Cuando cree una nueva instancia desde una AMI personalizada, deberá inicializar tanto su volumen raíz como cualquier almacenamiento de EBS adicional antes de ponerla en producción. Para obtener más información, consulte Inicializar los volúmenes Amazon EBS.

Creación de una AMI de Windows desde una instancia en ejecución

Puede crear una AMI mediante la AWS Management Console o la línea de comandos. En el siguiente diagrama se resume el proceso de creación de una AMI desde una instancia EC2 en ejecución. Comience con una AMI existente; lance una instancia; personalícela; cree una nueva AMI a partir de ella y, finalmente, lance una instancia de la nueva AMI. Los pasos en el siguiente diagrama se corresponden con los del procedimiento que se indica más adelante.

nota

Si ya tiene una instancia de Windows en ejecución, puede ir directamente al paso 5.


					Flujo de trabajo para crear una AMI a partir de una instancia

Para crear una AMI a partir de una instancia mediante la consola

  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación, en Images (Imágenes), elija AMIs.

  3. Use las opciones de Filter (Filtro) para reducir la lista a las AMI de Windows que se ajusten a sus necesidades. Por ejemplo, para ver todas las AMI de Windows que brinda AWS, elija Public images (Imágenes públicas) en la lista desplegable. Seleccione la barra Search (de búsqueda). Elija Owner (Propietario) en el menú y elija Amazon. Elija Source (Fuente) en el menú e ingrese uno de los siguientes, en función de la versión de Windows Server que necesite:

    • amazon/Windows_Server-2022

    • amazon/Windows_Server-2019

    • amazon/Windows_Server-2016

    • amazon/Windows_Server-2012

    Añada cualquier otro filtro que necesite. Una vez seleccionada una AMI, marque su casilla.

  4. Elija Launch instance from AMI (Lanzar instancias desde una AMI) (consola nueva) o Launch (Lanzar) (consola antigua). Acepte los valores predeterminados a medida que avanza por el asistente. Para obtener más información, consulte Lance una instancia con el nuevo asistente de lanzamiento de instancias . Cuando la instancia esté lista, conéctese a ella. Para obtener más información, consulte Conectarse a su instancia de Windows .

  5. Una vez que se conecta a la instancia, puede realizar cualquiera de las siguientes acciones para personalizarla según sus necesidades:

    • Instalar software y aplicaciones.

    • Copiar datos.

    • Reducir el tiempo de inicio eliminando los archivos temporales, desfragmentando el disco duro y dejando el espacio libre en cero..

    • Adjuntar volúmenes de EBS adicionales.

    • Crear una nueva cuenta de usuario y agregarla al grupo de administrador.

      Si está compartiendo la AMI, estas credenciales se puede proporcionar para el acceso RDP sin revelar la contraseña predeterminada de administrador.

    • [Windows Server 2022 y versiones posteriores] Ajuste la configuración mediante EC2Launch v2. Para generar una contraseña aleatoria en el momento del lanzamiento, configure la tarea setAdminAccount. Para obtener más información, consulte setAdminAccount .

    • [Windows Server 2016 y 2019] Ajuste la configuración mediante EC2Launch. Para generar una contraseña aleatoria en el momento del lanzamiento, use el ajuste adminPasswordType. Para obtener más información, consulte Configurar EC2Launch.

    • (Windows Server 2012 R2 y versiones anteriores) Ajuste la configuración mediante EC2Config. Para generar una contraseña aleatoria en el momento del lanzamiento, habilite el complemento Ec2SetPassword; de lo contrario, se usará la contraseña actual del administrador. Para obtener más información, consulte Archivos de configuración de EC2Config.

    • (Windows Server 2008 R2) Si la instancia usa controladores RedHat para el acceso a hardware virtualizado Xen, actualice a controladores Citrix antes de crear una AMI. Para obtener más información, consulte Actualizar las instancias de Windows Server 2008 y 2008 R2 (actualización de Redhat a Citrix PV).

  6. En el panel de navegación, elija Instances (Instancia[s]) y seleccione la instancia. Elija Actions (Acciones), Image and templates (Imagen y plantillas) y Create image (Crear imagen).

    sugerencia

    Si se deshabilita esta opción, la instancia no es una instancia con respaldo Amazon EBS.

  7. Especifique un nombre único para la imagen y una descripción opcional (hasta 255 caracteres).

    De manera predeterminada, cuando Amazon EC2 crea la nueva AMI, reinicia la instancia para que pueda tomar instantáneas de los volúmenes adjuntos mientras los datos están en reposo, con objeto de garantizar un estado coherente. En la opción de configuración No reboot (Sin reinicio), puede seleccionar la casilla de verificación Enable (Habilitar) para evitar que Amazon EC2 apague y reinicie la instancia.

    aviso

    Si decide habilitar No reboot (Sin reinicio), no podemos garantizar la integridad del sistema de archivos de la imagen creada.

    (Opcional) Modifique el volumen raíz, los volúmenes de EBS y los volúmenes de almacén de instancias según lo necesite. Por ejemplo:

    • Para cambiar el tamaño del volumen raíz, localice el volumen Root (Raíz) en la columna Type (Tipo) y, a continuación, rellene el campo Size (Tamaño).

    • Para suprimir un volumen de EBS especificado por el mapeo de dispositivos de bloques de la AMI utilizada para lanzar la instancia, localice el volumen de EBS en la lista y elija Delete (Eliminar).

    • Para agregar un volumen de EBS, elija Add New Volume (Agregar volumen nuevo), Type (Tipo) y EBS y complete los campos. Cuando, a continuación, lanza una instancia desde la nueva AMI, estos volúmenes adicionales se adjuntan de forma automática a la instancia. Los volúmenes vacíos se tienen que formatear y montar. Los volúmenes basados en una instantánea se deben montar.

    • Para suprimir un volumen de almacén de instancias especificado por el mapeo de dispositivos de bloques de la AMI utilizada para lanzar la instancia, localice el volumen en la lista y elija Delete (Eliminar).

    • Para agregar un volumen de almacén de instancias, elija Add New Volume (Agregar nuevo volumen), Type (Tipo) e Instance Store (Almacén de instancias), y luego seleccione un nombre de dispositivo en la lista Device (Dispositivo). Cuando lanza una instancia desde la nueva AMI, estos volúmenes adicionales se inicializan y se montan de forma automática. Estos volúmenes no contienen datos de los volúmenes de almacén de instancias de la instancia en ejecución en la que basó la AMI.

    Cuando haya terminado, seleccione Create Image (Crear imagen).

  8. Mientras se está creando la AMI, puede elegir AMIs (AMI) en el panel de navegación para ver su estado. Borre los filtros anteriores y elija Owned by me (De mi propiedad) en la lista desplegable. Inicialmente, el estado es pending. Transcurridos unos minutos, el estado debería cambiar a available.

    (Opcional) Elija Snapshots en el panel de navegación para ver la instantánea que se creó para la nueva AMI. Cuando se lanza una instancia desde esta AMI, se usa esta instantánea para crear su volumen de dispositivo raíz.

  9. Lance una instancia desde la nueva AMI. Para obtener más información, consulte Lance una instancia con el nuevo asistente de lanzamiento de instancias . La nueva instancia contiene todas las personalizaciones aplicadas en los pasos anteriores, además de cualquier personalización que haya añadido al lanzar la instancia, como los datos de usuarios (scripts que se ejecutan cuando la instancia comienza).

Cree una AMI desde una instancia mediante la línea de comando.

Puede utilizar uno de los siguientes comandos. Para obtener más información acerca de estas interfaces de línea de comandos, consulte Acceder a Amazon EC2.

Crear una Amazon Machine Image (AMI) estandarizada mediante Sysprep

La herramienta Microsoft System Preparation (Sysprep) simplifica el proceso de duplicado de una instalación personalizada de Windows. Puede utilizar Sysprep para crear una Amazon Machine Image (AMI) estandarizada. Luego, cree instancias de Amazon EC2 para Windows a partir de esta imagen estandarizada.

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.

Si utiliza Sysprep para crear una AMI estandarizada, se recomienda que ejecute Sysprep con EC2Launch v2. Si aún utiliza los agentes EC2Config (Windows Server 2012 R2 y anteriores) o EC2Launch (Windows Server 2016 y 2019), consulte la documentación sobre el uso de Sysprep con EC2Config y EC2Launch que se muestra a continuación.

importante

No utilice Sysprep para crear una copia de seguridad 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.

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

Antes de empezar

  • Antes de ejecutar Sysprep, se recomienda 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.

Uso de Sysprep con EC2Launch v2

Esta sección contiene detalles sobre las diferentes fases de ejecución de Sysprep y 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 usando Sysprep con el servicio de EC2Launch v2.

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

    Cuando ejecuta Sysprep con el servicio de EC2Launch v2, el sistema evita que se quiten los controladores porque la configuración PersistAllDeviceInstalls está establecida en 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 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 Sysprep con EC2Launch v2, el archivo de respuestas automatiza esta fase.

Acciones de Sysprep

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 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 EC2Launch v2 llama a 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.

  • 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 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: 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 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 (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 Sysprep se complete 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:

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

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 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 Configurar una instancia de Windows mediante EC2Launch v2.

Ejecutar Sysprep con EC2Launch v2

Utilice el procedimiento siguiente para crear una AMI estandarizada mediante Sysprep con EC2Launch v2.

  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. En el menú de Start (Inicio) de Windows, busque y elija Amazon EC2Launch settings (Configuración de Amazon EC2Launch). Para obtener más información sobre las opciones y la configuración del cuadro de diálogo EC2Launch settings (Configuración de EC2Launch) de Amazon, consulte Configuración de EC2Launch v2.

  5. Seleccione Shutdown with Sysprep (Cerrar con Sysprep) o Shutdown without Sysprep (Cerrar sin Sysprep).

Cuando se le solicite que confirme que desea ejecutar Sysprep y cerrar la instancia, haga clic en Yes. EC2Launch v2 ejecuta Sysprep. A continuación, se cierra la sesión en la instancia y esta se cierra. Si comprueba la página Instances (Instancia[s]) 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 Sysprep manualmente desde la línea de comando utilizando el siguiente comando:

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

Uso de Sysprep con EC2Launch

EC2Launch ofrece un archivo de respuestas predeterminado y archivos de lotes para 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 Sysprep para crear una copia de seguridad de instancias. 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 Sysprep

El archivo de respuestas EC2Launch y los archivos de lotes de 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 de lote para que ejecute comandos antes de que EC2Launch ejecute Sysprep.

SysprepSpecialize.cmd

Personalice este archivo de lote para que ejecute comandos durante la fase de especialización de Sysprep.

Ejecute Sysprep con EC2Launch.

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

Para ejecutar Sysprep utilizando 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 Administrator Password (Contraseña del administrador), realice una de las acciones siguientes:

    • Elija Random (Aleatoria). EC2Launch genera una contraseña y la cifra usando la clave del usuario. El sistema deshabilita esta configuración tras el lanzamiento de la instancia para que esta contraseña persista si la instancia se reinicia o si se detiene y se inicia.

    • Elija Specify (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 cuando 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 DoNothing (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 Shutdown with Sysprep (Cerrar con Sysprep).

Para ejecutar Sysprep manualmente utilizando 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 el lanzamiento 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 cuando 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 Instances (Instancia[s]) 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 lanzar una AMI personalizada.

Para actualizar las rutas de metadatos/KMS para Server 2016 y versiones posteriores al lanzar 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 Sysprep.

  • Ejecute EC2LaunchSettings y cierre el sistema sin Sysprep antes de crear la AMI. Esto establece las tareas de inicialización de lanzamiento 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 lanzamiento 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".

Uso de Sysprep con EC2Config

Esta sección contiene detalles sobre las diferentes fases de ejecución de Sysprep y 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 utilizando Sysprep con el servicio EC2Config.

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. Opcionalmente, puede ejecutar comandos en 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. 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 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 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 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 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 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 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.

    • Amazon CloudWatch Logs

    • UserData

    • AWS Systems Manager (Systems Manager)

Para obtener más información acerca de los complementos de Windows, consulte Configurar una instancia de Windows utilizando 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 (Instancia[s]) 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.