Esta sección contiene información acerca de cómo configurar las opciones para EC2Launch v2.
Los temas incluyen:
Cambiar la configuración mediante el cuadro de diálogo de configuración de EC2Launch v2
El siguiente procedimiento describe cómo utilizar el cuadro de diálogo de configuración de EC2Launch v2 para habilitar o desactivar la configuración.
nota
Si configuró de forma incorrecta las tareas personalizadas en el archivo agent-config.yml e intenta abrir el cuadro de diálogo configuración de Amazon EC2Launch, recibirá un mensaje de error. Para ver un esquema de ejemplo, consulte Ejemplo: agent-config.yml.
-
Lance y conéctese a la instancia de Windows.
-
En el menú Inicio, elija Todos los programas y, a continuación, vaya a la Configuración de EC2Launch.
-
En la pestaña General del cuadro de diálogo Configuración de EC2Launch, puede habilitar o desactivar la siguiente configuración.
-
Set Computer Name (Establecer nombre del equipo)
Si esta configuración está habilitada (está desactivada de forma predeterminada), el nombre de host actual se compara con el nombre de host deseado en cada arranque. Si los nombres de host no coinciden, el nombre de host se restablece y el sistema, opcionalmente, se reinicia para recoger el nuevo nombre de host. Si no se especifica un nombre de host personalizado, se genera mediante la dirección IPv4 privada con formato hexadecimal, por ejemplo,
ip-AC1F4E6
. Para evitar que se modifique el nombre de host no habilite esta opción. -
Extender volumen de arranque
Esta opción amplía dinámicamente
Disk 0
/Volume 0
para incluir cualquier espacio sin particionar. Esto puede resultar útil cuando la instancia se arranca desde un volumen de dispositivo raíz con un tamaño personalizado. -
Establecer cuenta de administrador
Cuando está habilitado, puede establecer los atributos de nombre de usuario y contraseña para la cuenta de administrador que se crea en el equipo local. Si esta característica no está habilitada, no se crea una cuenta de administrador en el sistema después de Sysprep. Proporcione una contraseña en
adminPassword
solo siadminPasswordtype
esSpecify
.Los tipos de contraseñas se definen de la siguiente manera:
-
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 enagent-config.yml
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. -
Do not set
EC2Launch utiliza la contraseña especificada en el archivo unattend.xml. Si no especifica una contraseña en unattend.xml, la cuenta del administrador se desactiva.
-
-
Iniciar servicio SSM
Cuando se selecciona, el servicio Systems Manager queda habilitado para comenzar después de Sysprep. EC2Launch v2 realiza todas las tareas descritas anteriormente, y SSM Agent procesa las solicitudes para las funcionalidades de Systems Manager, como Run Command y administrador de estados.
Puede usar Run Command para actualizar las instancias existentes de manera que utilicen la versión más reciente del servicio EC2Launch v2 y de SSM Agent. Para obtener más información, consulte Actualización del agente de SSM mediante el comando de ejecución en la Guía del usuario de AWS Systems Manager.
-
Optimizar ENA
Cuando se selecciona, la configuración de ENA se configura para garantizar que la configuración del escalado del lado de recepción de ENA y la configuración de profundidad de cola de recepción se optimizan para AWS. Para obtener más información, consulte Configurar la afinidad de CPU de escalado del lado de recepción.
-
Habilitar SSH
Esta configuración habilita OpenSSH para versiones posteriores de Windows para permitir la administración remota del sistema.
-
Habilitar tramas gigantes
Seleccione esta opción para habilitar las tramas gigantes. Las tramas gigantes pueden tener efectos no deseados en las comunicaciones de red, así que asegúrese de comprender cómo afectarán las tramas gigantes al sistema antes de habilitarlas. Para obtener más información acerca de las tramas gigantes, consulte Tramas gigantes (9 001 MTU).
-
Preparativos para la creación de imágenes
Seleccione si desea que su instancia de EC2 se cierre con o sin Sysprep. Cuando desee ejecutar Sysprep con EC2Launch v2, elija “Shutdown with Sysprep” (Apagar con Sysprep).
-
-
En la pestaña Sufijo de DNS, puede seleccionar si desea agregar una lista de sufijos DNS para la resolución DNS de los servidores que se ejecutan en EC2, sin proporcionar el nombre de dominio completo. Los sufijos de DNS pueden contener las variables
$REGION
y$AZ
. Solo se agregarán a la lista los sufijos que aún no existan. -
En la pestaña Fondo de pantalla, puede configurar el fondo de pantalla de la instancia con una imagen de fondo y especificar los detalles de la instancia para que se muestre el fondo de pantalla. Amazon EC2 genera los detalles cada vez que inicia sesión.
Puede configurar su fondo de pantalla con los siguientes controles.
-
Mostrar detalles de la instancia en el fondo de pantalla: esta casilla de verificación activa o desactiva la visualización de detalles de la instancia en el fondo de pantalla.
-
Ruta de la imagen (.jpg): especifique la ruta a la imagen que se va a utilizar como fondo de pantalla.
-
Seleccionar atributos que mostrar en el fondo de pantalla: seleccione las casillas con los detalles de la instancia que quiere que aparezcan en el fondo de pantalla. Desactive las casillas de verificación que anteriormente seleccionadas para detalles de instancias que quiere eliminar del fondo de pantalla.
-
Mostrar etiquetas de la instancia en el fondo de pantalla: seleccione una de las siguientes configuraciones para mostrar etiquetas de la instancia en el fondo de pantalla:
-
Ninguna: no muestra ninguna etiqueta de instancia en el fondo de pantalla.
-
Mostrar todas: muestra todas las etiquetas de instancia en el fondo de pantalla.
-
Mostrar solo las filtradas: muestra las etiquetas de instancia especificadas en el fondo de pantalla. Al seleccionar esta configuración, puede agregar las etiquetas de instancia que quiera que se muestren en su fondo de pantalla en el cuadro Filtro de etiquetas de instancia.
nota
Debe habilitar las etiquetas en los metadatos para que se muestren en el fondo de pantalla. Para obtener más información acerca de las etiquetas y metadatos de instancias, consulte Visualización de etiquetas para las instancias de EC2 mediante los metadatos de la instancia.
-
-
-
En la pestaña Volúmenes, seleccione si desea inicializar los volúmenes asociados a la instancia. La habilitación establece letras de unidad para cualquier volumen adicional y las amplía para utilizar el espacio disponible. Si selecciona Todo, se inicializarán todos los volúmenes de almacenamiento. Si selecciona Dispositivos, solo se inicializarán los dispositivos especificados en la lista. Debe escribir el dispositivo para cada dispositivo que se inicialice. Utilice los dispositivos enumerados en la consola de EC2, por ejemplo,
xvdb
o/dev/nvme0n1
. La lista desplegable muestra los volúmenes de almacenamiento asociados a la instancia. Para introducir un dispositivo que no esté asociado a la instancia, escríbalo en el campo de texto.Nombre, Letra y Partición son campos opcionales. Si no se especifica ningún valor para Partición, los volúmenes de almacenamiento más grandes que 2 TB se inicializan con el tipo de partición
gpt
, mientras que los más chicos que 2 TB se inicializan con el tipo de particiónmbr
. Si los dispositivos están configurados y un dispositivo que no sea NTFS contiene una tabla de particiones o los primeros 4 KB del disco contienen datos, se omite el disco y se registra la acción.
A continuación se muestra un archivo YAML de configuración de ejemplo creado a partir de los parámetros escritos en el cuadro de diálogo EC2Launch.
version: 1.0
config:
- stage: boot
tasks:
- task: extendRootPartition
- stage: preReady
tasks:
- task: activateWindows
inputs:
activation:
type: amazon
- task: setDnsSuffix
inputs:
suffixes:
- $REGION.ec2-utilities.amazonaws.com
- task: setAdminAccount
inputs:
password:
type: random
- task: setWallpaper
inputs:
path: C:\ProgramData\Amazon\EC2Launch\wallpaper\Ec2Wallpaper.jpg
attributes:
- hostName
- instanceId
- privateIpAddress
- publicIpAddress
- instanceSize
- availabilityZone
- architecture
- memory
- network
- stage: postReady
tasks:
- task: startSsm
Configurar EC2Launch v2 mediante la CLI
Puede utilizar la interfaz de línea de comandos (CLI) para ajustar la configuración de EC2Launch y administrar el servicio. La siguiente sección contiene descripciones e información de uso de los comandos de la CLI que puede utilizar para administrar EC2Launch v2.
Comandos
collect-logs
Recopila archivos de registro para EC2Launch, comprime los archivos y los coloca en un directorio especificado.
Ejemplo
ec2launch collect-logs -o C:\Mylogs.zip
Uso
ec2launch collect-logs [flags]
Flags
-h
, --help
ayuda para collect-logs
-o
, --output string
ruta a los archivos de registro de salida comprimidos
get-agent-config
Imprime agent-config.yml
en el formato especificado (JSON o YAML). Si no se especifica ningún formato, agent-config.yml
se imprime en el formato especificado anteriormente.
Ejemplo
ec2launch get-agent-config -f json
Ejemplo 2
Los siguientes comandos de PowerShell muestran cómo editar y guardar el archivo agent-config
en formato JSON.
$config = & "$env:ProgramFiles/Amazon/EC2Launch/EC2Launch.exe" --format json | ConvertFrom-Json
$jumboFrame =@"
{
"task": "enableJumboFrames"
}
"@
$config.config | %{if($_.stage -eq 'postReady'){$_.tasks += (ConvertFrom-Json -InputObject $jumboFrame)}}
$config | ConvertTo-Json -Depth 6 | Out-File -encoding UTF8
$env:ProgramData/Amazon/EC2Launch/config/agent-config.yml
Uso
ec2launch get-agent-config [flags]
Flags
-h
, --help
ayuda para get-agent-config
-f
, --format string
formato de salida del archivo agent-config
: json
, yaml
list-volumes
Muestra todos los volúmenes de almacenamiento asociados a la instancia, incluidos los volúmenes efímeros y de EBS.
Ejemplo
ec2launch list-volumes
Uso
ec2launch list-volumes
Flags
-h
, --help
ayuda para list-volumes
reset
El objetivo principal de esta tarea es restablecer el agente para la próxima vez que se ejecute. Con este objetivo, el comando reset elimina todos los datos de estado del agente para EC2Launch v2 del directorio local de EC2Launch
(consulte Estructura del directorio de EC2Launch v2). Restablecer elimina de manera opcional el servicio y los registros de Sysprep.
El comportamiento de los scripts depende del modo en el que el agente los ejecute: en línea o de forma independiente.
- En línea (predeterminado)
-
El agente de EC2Launch v2 ejecuta los scripts de uno en uno (
detach: false
). Este es el valor predeterminado.nota
Cuando el script en línea emite un comando reset o sysprep, se ejecuta de manera inmediata y restablece el agente. La tarea actual finaliza y, a continuación, el agente se cierra sin ejecutar ninguna otra tarea.
Por ejemplo, si la tarea que emite el comando hubiera estado seguida de una tarea
startSsm
(incluida de forma predeterminada cuando se ejecutan los datos del usuario), la tarea no se ejecutaría y el servicio Systems Manager nunca se iniciaría. - Desconectado
-
El agente EC2Launch v2 ejecuta scripts de manera simultánea a otras tareas (
detach: true
).nota
Cuando el script independiente emite un comando reset o sysprep, dichos comandos esperan a que el agente termine antes de ejecutarse. Las tareas posteriores a executeScript seguirán ejecutándose.
Ejemplo
ec2launch reset -c
Uso
ec2launch reset [flags]
Flags
-c
, --clean
limpia los registros de instancias antes de reset
-h
, --help
ayuda para reset
ejecutar
Ejecuciones de EC2Launch v2.
Ejemplo
ec2launch run
Uso
ec2launch run [flags]
Flags
-h
, --help
ayuda para run
status
Obtiene el estado del agente EC2Launch v2. Opcionalmente bloquea el proceso hasta que finalice el agente. El código de salida del proceso determina el estado del agente:
-
0
: el agente se ejecutó con éxito. -
1
: el agente se ejecutó de forma incorrecta. -
2
: el agente sigue en ejecución. -
3
: el agente se encuentra en estado desconocido. El estado del agente es detenido o sin ejecución. -
4
: se produjo un error al intentar recuperar el estado del agente. -
5
: el agente no se está ejecutando y se desconoce el estado de la última ejecución registrada. Esto podría significar una de las siguientes opciones:-
tanto el
state.json
yprevious-state.json
se han eliminado. -
el
previous-state.json
se encuentra dañado.
Este es el estado del agente después de ejecutar el comando reset.
-
Ejemplo:
ec2launch status -b
Uso
ec2launch status [flags]
Flags
-b
,--block
bloquea el proceso hasta que el agente termine de ejecutarse
-h
,--help
ayuda para status
sysprep
El objetivo principal de esta tarea es restablecer el agente para la próxima vez que se ejecute. Para ello, el comando sysprep restablece el estado del agente, actualiza el archivo unattend.xml
, desactiva RDP y ejecuta Sysprep.
El comportamiento de los scripts depende del modo en el que el agente los ejecute: en línea o de forma independiente.
- En línea (predeterminado)
-
El agente de EC2Launch v2 ejecuta los scripts de uno en uno (
detach: false
). Este es el valor predeterminado.nota
Cuando el script en línea emite un comando reset o sysprep, se ejecuta de manera inmediata y restablece el agente. La tarea actual finaliza y, a continuación, el agente se cierra sin ejecutar ninguna otra tarea.
Por ejemplo, si la tarea que emite el comando hubiera estado seguida de una tarea
startSsm
(incluida de forma predeterminada cuando se ejecutan los datos del usuario), la tarea no se ejecutaría y el servicio Systems Manager nunca se iniciaría. - Desconectado
-
El agente EC2Launch v2 ejecuta scripts de manera simultánea a otras tareas (
detach: true
).nota
Cuando el script independiente emite un comando reset o sysprep, dichos comandos esperan a que el agente termine antes de ejecutarse. Las tareas posteriores a executeScript seguirán ejecutándose.
Ejemplo:
ec2launch sysprep
Uso
ec2launch sysprep [flags]
Flags
-c
,--clean
limpia los registros de instancias antes de sysprep
-h
,--help
ayuda para Sysprep
-s
,--shutdown
cierra la instancia después de sysprep
validar
Valida el archivo agent-config
C:\ProgramData\Amazon\EC2Launch\config\agent-config.yml
.
Ejemplo
ec2launch validate
Uso
ec2launch validate [flags]
Flags
-h
, --help
ayuda para validate
versión
Obtiene la versión ejecutable.
Ejemplo
ec2launch version
Uso
ec2launch version [flags]
Flags
-h
, --help
ayuda para version
fondo de pantalla
Establece el nuevo fondo de pantalla en la ruta de fondo de pantalla que se proporciona (archivo .jpg) y muestra los detalles de la instancia seleccionada.
Sintaxis
ec2launch wallpaper ^
--path="C:\ProgramData\Amazon\EC2Launch\wallpaper\Ec2Wallpaper.jpg" ^
--all-tags ^
--attributes=hostName,instanceId,privateIpAddress,publicIpAddress,instanceSize,availabilityZone,architecture,memory,network
Entradas
Parámetros
- --allowed-tags [
nombre-etiqueta-1
,nombre-etiqueta-n
] -
(Opcional) Matriz JSON codificada en Base64 de nombres de etiquetas de instancia para mostrarla en el fondo de pantalla. Puede utilizar esta etiqueta o
--all-tags
, pero no ambas. - --attributes
cadena-de-atributos-1
,cadena-de-atributos-n
-
(Opcional) Lista separada por comas de
wallpaper
cadenas de atributos para aplicar la configuración al fondo de pantalla. - [--path| -p]
cadena-de-ruta
-
(Obligatorio) Especifique la ruta del archivo de imagen de fondo de
wallpaper
.
Indicadores
- --all-tags
-
(Opcional) Muestre todas las etiquetas de instancia en el fondo de pantalla. Puede utilizar esta etiqueta o
--allowed-tags
, pero no ambas. - [--help | -h]
-
Muestra ayuda para el comando wallpaper.
Configuración de tareas de EC2Launch v2
Esta sección incluye el esquema de configuración, las tareas, detalles y ejemplos para agent-config.yml
y datos del usuario.
Tareas y ejemplos
Esquema: agent-config.yml
La estructura del archivo agent-config.yml
se muestra a continuación. Tenga en cuenta que no es posible repetir una tarea en la misma etapa. Para ver las propiedades de las tareas, consulte las descripciones de tareas siguientes.
Estructura del documento: agent-config.yml
JSON
{
"version": "1.1",
"config": [
{
"stage": "string",
"tasks": [
{
"task": "string",
"inputs": {
...
}
},
...
]
},
...
]
}
YAML
version: 1.1
config:
- stage: string
tasks:
- task: string
inputs:
...
...
...
Ejemplo: agent-config.yml
En el ejemplo siguiente se muestran los valores del archivo de configuración agent-config.yml
.
version: 1.1
config:
- stage: boot
tasks:
- task: extendRootPartition
- stage: preReady
tasks:
- task: activateWindows
inputs:
activation:
type: amazon
- task: setDnsSuffix
inputs:
suffixes:
- $REGION.ec2-utilities.amazonaws.com
- task: setAdminAccount
inputs:
password:
type: random
- task: setWallpaper
inputs:
path: C:\ProgramData\Amazon\EC2Launch\wallpaper\Ec2Wallpaper.jpg
attributes:
- hostName
- instanceId
- privateIpAddress
- publicIpAddress
- instanceSize
- availabilityZone
- architecture
- memory
- network
- stage: postReady
tasks:
- task: startSsm
Configuración de los scripts de datos de usuario de EC2Launch v2 que se ejecutan durante el inicio o el reinicio
Los siguientes ejemplos de JSON y YAML muestran la estructura del documento para los datos de usuario. Amazon EC2 analiza cada tarea nombrada en la matriz tasks
que especifique en el documento. Cada tarea tiene su propio conjunto de propiedades y requisitos. Para obtener información detallada, consulte Definiciones de tareas para tareas de inicio de EC2Launch v2.
nota
Una tarea solo debe aparecer una vez en la matriz de tareas de datos de usuario.
Estructura del documento: datos de usuario
JSON
{
"version": "1.1",
"tasks": [
{
"task": "string",
"inputs": {
...
},
},
...
]
}
YAML
version: 1.1
tasks:
- task: string
inputs:
...
...
Ejemplo: datos de usuario
Para obtener más información sobre datos de usuario, consulte Cómo gestiona Amazon EC2 los datos de usuario de las instancias de Windows.
El siguiente ejemplo de documento YAML muestra un script de PowerShell que EC2Launch v2 ejecuta como datos de usuario para crear un archivo.
version: 1.1
tasks:
- task: executeScript
inputs:
- frequency: always
type: powershell
runAs: localSystem
content: |-
New-Item -Path 'C:\PowerShellTest.txt' -ItemType File
Puede utilizar un formato XML para los datos de usuario que sea compatible con las versiones anteriores del agente de inicialización. EC2Launch v2 ejecuta el script como una tarea executeScript
en la etapa UserData
. Para cumplir con el comportamiento de EC2Launch v1 y EC2Config, el script de datos del usuario se ejecuta como un proceso adjunto o en línea de forma predeterminada.
Puede agregar etiquetas opcionales para personalizar la ejecución del script. Por ejemplo, para ejecutar el script de datos de usuario cuando la instancia se reinicia, además de ejecutarse una vez cuando se inicia la instancia, puede usar la siguiente etiqueta:
<persist>true</persist>
Ejemplo:
<powershell>
$file = $env:SystemRoot + "\Temp" + (Get-Date).ToString("MM-dd-yy-hh-mm")
New-Item $file -ItemType file
</powershell>
<persist>true</persist>
Puede especificar uno o varios argumentos de PowerShell con la etiqueta <powershellArguments>
. Si no se pasa ningún argumento, EC2Launch v2 agrega el siguiente argumento de forma predeterminada: -ExecutionPolicy Unrestricted
.
Ejemplo:
<powershell>
$file = $env:SystemRoot + "\Temp" + (Get-Date).ToString("MM-dd-yy-hh-mm")
New-Item $file -ItemType file
</powershell>
<powershellArguments>-ExecutionPolicy Unrestricted -NoProfile -NonInteractive</powershellArguments>
Para ejecutar un script de datos de usuario XML como un proceso independiente, agregue la siguiente etiqueta a sus datos de usuario.
<detach>true</detach>
Ejemplo:
<powershell>
$file = $env:SystemRoot + "\Temp" + (Get-Date).ToString("MM-dd-yy-hh-mm")
New-Item $file -ItemType file
</powershell>
<detach>true</detach>
nota
La etiqueta de desconexión no es compatible con los agentes de inicialización anteriores.
Registro de cambios: datos de usuario
La siguiente tabla muestra los cambios en los datos de usuario y los compara con la versión del agente EC2Launch v2 aplicable.
Versión de datos de usuario | Detalles | Presentación |
---|---|---|
1.1 |
|
EC2Launch v2, versión 2.0.1245 |
1.0 |
|
EC2Launch v2, versión 2.0.0 |
* Cuando se usa con el archivo agent-config.yml
predeterminado.
Códigos de salida y reinicios de EC2Launch v2
Puede utilizar EC2Launch v2 para definir cómo los scripts manejan los códigos de salida. De forma predeterminada, el código de salida del último comando ejecutado en un script se registra como el código de salida de todo el script. Por ejemplo, si una secuencia de comandos incluye tres comandos y el primer comando falla pero los siguientes se ejecutan correctamente, el estado de ejecución se informa como success
porque el comando final se ha realizado correctamente.
Si desea que un script reinicie una instancia, debe especificar el exit
3010
en el script, incluso cuando el reinicio sea el último paso del script. exit 3010
indica a EC2Launch v2 que reinicie la instancia y llame nuevamente al script hasta que devuelva un código de salida que no sea 3010
, o hasta que se haya alcanzado el número máximo de reinicios. EC2Launch v2 permite un máximo de 5 reinicios por tarea. Si intentas reiniciar una instancia desde un script utilizando un mecanismo diferente, como por ejemplo Restart-Computer
, el estado de ejecución del script será incoherente. Por ejemplo, puede quedarse atascado en un bucle de reinicio o no realizar el reinicio.
Si utiliza un formato de datos de usuario XML que es compatible con agentes antiguos, los datos de usuario pueden ejecutarse más veces de las que desea. Para obtener más información, consulte El servicio ejecuta datos de usuario más de una vez en la sección de resolución de problemas.
EC2Launch v2 y Sysprep
El servicio EC2Launch v2 ejecuta Sysprep, una herramienta de Microsoft que le permite crear una AMI de Windows personalizada que se puede reutilizar. Cuando EC2Launch v2 llama a Sysprep, utiliza los archivos de %ProgramData%\Amazon\EC2Launch
para determinar qué operaciones realizar. Puede editar estos archivos de manera indirecta mediante el cuadro de diálogo Configuración de EC2Launch o directamente mediante un editor YAML o un editor de texto. Sin embargo, hay algunas opciones de configuración avanzada que no están disponibles en el cuadro de diálogo Configuración de EC2Launch, por lo que debe editar dichas entradas directamente.
Si crea una AMI desde una instancia después de actualizar su configuración, la nueva configuración se aplica a cualquier instancia que se lance desde la nueva AMI. Para obtener información acerca de la creación de una AMI, consulte Creación de una AMI basada en Amazon EBS.