Configuración de EC2Launch v2 - Amazon Elastic Compute Cloud

Configuración de EC2Launch v2

Esta sección contiene información acerca de cómo configurar las opciones para EC2Launch v2.

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.

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

  2. En el menú Inicio, elija Todos los programas y, a continuación, vaya a la Configuración de EC2Launch.

    
                            Aplicación de configuración de lanzamiento de EC2.
  3. En la pestaña General del cuadro de diálogo Configuración de EC2Launch, puede habilitar o desactivar la siguiente configuración.

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

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

    3. 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 si adminPasswordtype es Specify.

      Los tipos de contraseñas se definen de la siguiente manera:

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

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

      3. DoNothing

        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.

    4. 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 Actualizar SSM Agent utilizando Run Command en la Guía del usuario de Systems Manager de AWS.

    5. 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 la CPU de RSS.

    6. Habilitar SSH

      Esta configuración habilita OpenSSH para versiones posteriores de Windows para permitir la administración remota del sistema.

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

    8. Preparativos para la creación de imágenes

      Seleccione si desea que su instancia EC2 se cierre con o sin Sysprep. Cuando desee ejecutar Sysprep con EC2Launch v2, elija “Shutdown with Sysprep” (Apagar con Sysprep).

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

    
                            Aplicación de configuración de lanzamiento de EC2.
  5. 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 que se mostrarán en el fondo de pantalla. Amazon EC2 genera los detalles cada vez que inicia sesión.

    Puede configurar el fondo de pantalla con los siguientes controles.

    • Mostrar detalles de la instancia en el fondo de pantalla: esta casilla 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. Desmarque las casillas con los detalles de la instancia previamente seleccionados 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 se muestra ninguna etiqueta de la instancia en el fondo de pantalla.

      • Mostrar todas: se muestran todas las etiquetas de la instancia en el fondo de pantalla.

      • Mostrar filtradas: se muestran etiquetas especificadas de la instancia en el fondo de pantalla. Al seleccionar esta configuración, aparece el cuadro Filtro de etiquetas de instancia, donde puede especificar las etiquetas de instancia que quiere mostrar.

        nota

        Debe habilitar las etiquetas en los metadatos para que se muestren en el fondo de pantalla. Para obtener más información sobre los metadatos y las etiquetas de instancias, consulte Trabajar con etiquetas de instancia en los metadatos de instancia.

    
                            Pestaña Fondo de pantalla de configuración de lanzamiento de EC2.
  6. 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 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 mayores de 2 TB se inicializan con el tipo de partición GPT y los menores de 2 TB se inicializan con el tipo de partición MBR. 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.

    
                            Aplicación de configuración de lanzamiento de EC2.

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

Estructura del directorio de EC2Launch v2

EC2Launch v2 debe instalarse en los siguientes directorios:

  • Binarios de servicio: %ProgramFiles%\Amazon\EC2Launch

  • Datos del servicio (configuración, archivos de registro y archivos de estado): %ProgramData%\Amazon\EC2Launch

nota

De manera predeterminada, Windows oculta los archivos y las carpetas en C:\ProgramData. Para ver los directorios y los archivos de EC2Launch v2, debe ingresar la ruta en Windows Explorer o cambiar las propiedades de la carpeta para mostrar los archivos y las carpetas ocultos.

El directorio %ProgramFiles%\Amazon\EC2Launch contiene binarios y bibliotecas auxiliares. Incluye los siguientes subdirectorios:

  • settings

    • EC2LaunchSettingsUI.exe: interfaz de usuario para modificar el archivo agent-config.yml

    • YamlDotNet.dll: DLL para admitir algunas operaciones en la interfaz de usuario

  • tools

    • ebsnvme-id.exe: herramienta para examinar los metadatos de los volúmenes de EBS en la instancia

    • AWSAcpiSpcrReader.exe: herramienta para determinar el puerto COM correcto a usar

    • EC2LaunchEventMessage.dll: DLL para admitir el registro de eventos de Windows para EC2Launch.

  • service

    • EC2LaunchService.exe — Ejecutable de servicio de Windows que se inicia cuando el agente de lanzamiento se ejecuta como un servicio.

  • EC2Launch.exe: ejecutable principal de EC2Launch

  • EC2LaunchAgentAttribution.txt: atribución del código utilizado en EC2 Launch

El directorio %ProgramData%\Amazon\EC2Launch contiene los subdirectorios siguientes. Todos los datos producidos por el servicio, incluidos los registros, la configuración y el estado, se almacenan en este directorio.

  • config: configuración

    El archivo de configuración del servicio se almacena en este directorio como agent-config.yml. Este archivo se puede actualizar para modificar, agregar o eliminar tareas predeterminadas ejecutadas por el servicio. El permiso para crear archivos en este directorio se encuentra restringido a la cuenta de administrador a fin de evitar la escalada de privilegios.

  • log: registros de instancias

    Los registros del servicio (agent.log), la consola (console.log), el rendimiento (bench.log) y los errores (error.log) se almacenan en este directorio. Los archivos de registro se anexan en las ejecuciones posteriores del servicio.

  • state: datos del estado del servicio

    El estado que utiliza el servicio para determinar qué tareas deben ejecutarse se almacena aquí. Hay un archivo .run-once que indica si el servicio ya se ejecutó después de Sysprep (por lo que las tareas con una frecuencia de una vez se omitirán en la siguiente ejecución). Este subdirectorio incluye un state.json y previous-state.json para realizar un seguimiento del estado de cada tarea.

  • sysprep: Sysprep

    Este directorio contiene archivos que se utilizan para determinar qué operaciones debe realizar Sysprep cuando crea una AMI de Windows personalizada que se puede reutilizar.

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.

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 = ec2launch get-agent-config --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

Elimina el archivo .run-once para que las tareas especificadas para ejecutarse una vez se ejecuten en la siguiente ejecución; opcionalmente, elimina los registros de servicio y sysprep.

Ejemplo

ec2launch reset -c

Uso

ec2launch reset [flags]

Flags

-b, --block

bloquea el comando reset hasta que se detiene el servicio. Si el comando de reestablecimiento se ejecuta con la marca --block como parte de la tarea executeScript, el argumento detach debe establecerse en true (verdadero). Para obtener más información, consulte el ejemplo 4 en executeScript .

-c, --clean

limpia los registros de instancias antes de reset

-h, --help

ayuda para reset

run

Ejecuciones de EC2Launch v2.

Ejemplo

ec2launch run

Uso

ec2launch run [flags]

Flags

-h, --help

ayuda para run

status

Obtiene el estado del servicio EC2Launch. Opcionalmente bloquea el proceso hasta que finalice el servicio. El código de salida del proceso determina el estado del servicio:

  • 0 — el servicio se ejecutó con éxito.

  • 1 — el servicio se ejecutó y falló.

  • 2: el servicio se sigue ejecutando.

  • 3: el servicio se encuentra en estado desconocido. El estado del servicio es detenido o sin ejecución.

  • 4: se produjo un error al intentar recuperar el estado del servicio.

  • 5: el servicio no se está ejecutando y se desconoce el estado de la última ejecución conocida. Esto podría significar una de las siguientes opciones:

    • tanto el state.json y previous-state.json se han eliminado.

    • el previous-state.json se encuentra dañado.

    Este es el estado del servicio después de ejecutar el comando reset.

Ejemplo:

ec2launch status -b

Uso

ec2launch status [flags]

Flags

-b,--block

bloquea el proceso hasta que los servicios terminen de ejecutarse

-h,--help

ayuda para status

sysprep

Restablece el estado del servicio, actualiza unattend.xml, desactiva RDP y ejecuta Sysprep.

Ejemplo:

ec2launch sysprep

Uso

ec2launch sysprep [flags]

Flags

-b,--block

bloquea el comando sysprep hasta que se detiene el servicio. Si el comando de reestablecimiento se ejecuta con la marca --block como parte de la tarea executeScript, el argumento detach debe establecerse en true (verdadero). Para obtener más información, consulte el ejemplo 4 en executeScript .

-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 de etiqueta 1, nombre de etiqueta n]

(Opcional) Matriz de JSON codificada en Base64 de nombres de etiquetas de instancias que mostrar en el fondo de pantalla. Puede utilizar esta etiqueta o la --all-tags, pero no ambas.

--attributes cadena de atributos 1, cadena de atributos n

(Opcional) Lista separada por comas de cadenas de atributos de wallpaper para aplicar la configuración al fondo de pantalla.

[--path | -p] cadena de ruta

(Obligatorio) Especifica la ruta del archivo de imagen de fondo de wallpaper.

Flags
--all-tags

(Opcional) Muestra todas las etiquetas de instancia en el fondo de pantalla. Puede utilizar esta etiqueta o la --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.

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.

JSON

{ "version": "1.0", "config": [ { "stage": "string", "tasks": [ { "task": "string", "inputs": { ... } }, ... ] }, ... ] }

YAML

version: 1.0 config: - stage: string tasks: - task: string inputs: ... ... ...

Esquema: datos de usuario

La estructura de los datos de usuario se muestra a continuación. La lista tasks se analiza y se ejecuta de la misma manera que la lista tasks en el archivo agent-config.yml. No se puede repetir una tarea. Para ver las propiedades de las tareas, consulte las descripciones de tareas siguientes.

JSON

{ "version": "1.0", "tasks": [ { "task": "string", "inputs": { ... }, }, ... ] }

YAML

version: 1.0 tasks: - task: string inputs: ... ...

activateWindows

Activa Windows frente a un conjunto de servidores AWS KMS. La activación se omite si se detecta que la instancia es de tipo “traiga su propia licencia (BYOL)”.

Frecuencia: una vez

AllowedStages[PreReady]

Entradas

activation: (mapa)

type: (cadena) tipo de activación que se va a utilizar, se establece en amazon

Ejemplo

task: activateWindows inputs: activation: type: amazon

enableJumboFrames

Habilita tramas gigantes, que aumentan la unidad de transmisión máxima (MTU) del adaptador de red. Para obtener más información, consulte Tramas gigantes (9 001 MTU).

Frecuencia: siempre

AllowedStages[PostReady, UserData]

Entradas: ninguna

Ejemplo

task: enableJumboFrames

enableOpenSsh

Habilita Windows OpenSSH y agrega la clave pública de la instancia a la carpeta de claves autorizadas.

Frecuencia: una vez

AllowedStages[PreReady, UserData]

Entradas: ninguna

Ejemplo

En el ejemplo siguiente se muestra cómo habilitar OpenSSH en una instancia y agregar la clave pública de la instancia a la carpeta de claves autorizadas. Esta configuración solo funciona en instancias que ejecutan Windows Server 2019 y en versiones posteriores.

task: enableOpenSsh

executeProgram

Ejecuta un programa con argumentos opcionales y una frecuencia especificada.

Frecuencia: consulte Entradas

AllowedStages[PostReady, UserData]

Entradas

frequency: (cadena) uno entre once y always

path: (cadena) ruta al ejecutable

arguments: (lista de cadenas) lista de argumentos de cadena para pasar al ejecutable

runAs: (cadena) se debe establecer en localSystem

Ejemplo

En el ejemplo siguiente se muestra cómo ejecutar un archivo ejecutable que ya se encuentra en una instancia.

task: executeProgram inputs: - frequency: always path: C:\Users\Administrator\Desktop\setup.exe arguments: ['-quiet']

Ejemplo 2

En el ejemplo siguiente se muestra cómo ejecutar un archivo ejecutable que ya se encuentra en una instancia. Esta configuración instala un archivo .exe de VLC que está presente en la unidad C: de la instancia. /L=1033 y /S son argumentos de VLC pasados como una lista de cadenas con el archivo .exe de VLC.

task: executeProgram inputs: - frequency: always path: C:\vlc-3.0.11-win64.exe arguments: ['/L=1033','/S'] runAs: localSystem

executeScript

Ejecuta un script con argumentos opcionales y una frecuencia especificada.

Frecuencia: consulte Entradas

AllowedStages[PostReady, UserData]

Entradas

frequency: (cadena) uno entre once y always

type: (cadena) uno entre batch y powershell

arguments: (lista de cadenas) lista de argumentos de cadena para pasar al shell Este parámetro no es compatible cuando type se configura como batch.

content: (cadena) contenido de la secuencia de comandos

runAs: (cadena) uno entre admin y localSystem

detach: (booleano) de manera predeterminada es false. Establezca true si el script debe ejecutarse en modo desconectado, donde EC2Launch lo ejecuta simultáneamente con otras tareas. Los códigos de salida de script (incluido 3010) no surten efecto cuando detach está establecido como true.

Ejemplo

task: executeScript inputs: - frequency: always type: powershell content: | Get-Process | Out-File -FilePath .\Process.txt runAs: localSystem - frequency: always type: batch content: | systeminfo

Ejemplo 2

En el siguiente ejemplo se muestra cómo ejecutar un script de PowerShell en una instancia EC2. Esta configuración crea un archivo de texto en la unidad C:.

task: executeScript inputs: - frequency: always type: powershell runAs: admin content: |- New-Item -Path 'C:\PowerShellTest.txt' -ItemType File Set-Content 'C:\PowerShellTest.txt' "hello world"

Ejemplo 3

El siguiente ejemplo muestra un script idempotent que reinicia una instancia varias veces.

task: executeScript inputs: - frequency: always type: powershell runAs: localSystem content: |- $name = $env:ComputerName if ($name -ne $desiredName) { Rename-Computer -NewName $desiredName exit 3010 } $domain = Get-ADDomain if ($domain -ne $desiredDomain) { Add-Computer -DomainName $desiredDomain exit 3010 } $telnet = Get-WindowsFeature -Name Telnet-Client if (-not $telnet.Installed) { Install-WindowsFeature -Name "Telnet-Client" exit 3010 }

Ejemplo 4

Puede ejecutar comandos de la CLI de EC2Launch v2 como parte de los scripts. Los comandos reset y sysprep deben incluir la marca --block porque dependen de que el agente termine primero. Cuando se utiliza la marca --block, el parámetro detach para esta tarea se debe establecer en true (verdadero). Se produce un interbloqueo cuando se utiliza la marca --block en un script no desconectado. Los comandos detectan el posible interbloqueo y salen con un error. En el siguiente ejemplo se muestra un script que restablece el estado del agente después de que el agente termine de ejecutarse.

task: executeScript inputs: - frequency: always type: powershell runAs: localSystem detach: true content: |- & 'C:\Program Files\Amazon\EC2Launch\ec2launch.exe' reset -c -b

extendRootPartition

Extiende el volumen raíz para utilizar todo el espacio disponible en el disco.

Frecuencia: una vez

AllowedStages[Boot]

Entradas: ninguna

Ejemplo

task: extendRootParitition

initializeVolume

Inicializa los volúmenes asociados a la instancia para que se activen y se particionen. Los volúmenes que se detecten como no vacíos no se inicializan. Un volumen se considera vacío si los primeros 4 KB de un volumen están vacíos, o si un volumen no tiene un diseño de unidad reconocible por Windows. El campo de volumen letter siempre se aplica cuando se ejecuta esta tarea, independientemente de si la unidad ya está inicializada.

Frecuencia: siempre

AllowedStages[PostReady, UserData]

Entradas

initialize: (cadena) tipo de estrategia de inicialización a usar; uno entre all y devices

devices: (lista de mapas)

device: identificador de dispositivo utilizado al crear la instancia; algunos ejemplos son xvdb, xvdf o /dev/nvme0n1

name: (cadena) nombre de unidad a asignar

letter: (cadena) letra de unidad a asignar

partition: (cadena) tipo de partición a usar; uno entre mbr y gpt

Ejemplo 1

En el ejemplo siguiente se muestran las entradas de la tarea InitializeVolume para establecer los volúmenes seleccionados que se inicializarán.

task: initializeVolume inputs: initialize: devices devices: - device: xvdb name: MyVolumeOne letter: D partition: mbr - device: /dev/nvme0n1 name: MyVolumeTwo letter: E partition: gpt

Ejemplo 2

En el ejemplo siguiente se muestra cómo inicializar volúmenes de EBS asociados con una instancia. Esta configuración inicializará todos los volúmenes vacíos de EBS asociados con la instancia. Si un volumen no está vacío, entonces no se inicializará.

task: initializeVolume inputs: initialize: all

optimizeEna

Optimiza la configuración de ENA en función del tipo de instancia actual; podría reiniciar la instancia.

Frecuencia: siempre

AllowedStages[PostReady, UserData]

Entradas: ninguna

Ejemplo

task: optimizeEna

setAdminAccount

Establece atributos para la cuenta de administrador predeterminada que se crea en el equipo local.

Frecuencia: una vez

AllowedStages[PreReady]

Entradas

name: (cadena) nombre de la cuenta de administrador

password: (mapa)

type: (cadena) estrategia para establecer la contraseña, ya sea como static, random o doNothing

data: (cadena) almacena datos si el campo type es estático

Ejemplo

task: setAdminAccount inputs: name: Administrator password: type: random

setDnsSuffix

Agrega sufijos DNS a la lista de sufijos de búsqueda. Sólo se agregan a la lista los sufijos que aún no existen.

Frecuencia: siempre

AllowedStages[PreReady]

Entradas

suffixes: (lista de cadenas) enumera uno o varios sufijos DNS válidos; las variables de sustitución válidas son $REGION y $AZ

Ejemplo

task: setDnsSuffix inputs: suffixes: - $REGION.ec2-utilities.amazonaws.com

setHostName

Establece el nombre de host del equipo en una cadena personalizada o, si no se especifica hostName, la dirección IPv4 privada.

Frecuencia: siempre

AllowedStages[PostReady, UserData]

Entradas

hostName: (cadena) nombre de host opcional, que debe tener el siguiente formato.

  • Debe tener 15 caracteres o menos

  • Debe contener sólo caracteres alfanuméricos (a-z, A-Z, 0-9) y guión (-).

  • No debe estar compuesta únicamente por caracteres numéricos.

reboot: (booleano) indica si se permite un reinicio cuando se cambia el nombre de host

Ejemplo

task: setHostName inputs: reboot: true

setWallpaper

Crea el archivo de acceso directo setwallpaper.lnk en la carpeta de inicio de cada usuario existente, excepto el Default User. Este archivo de acceso directo se ejecuta cuando el usuario inicia sesión por primera vez después del arranque de la instancia. Configura la instancia con un fondo de pantalla personalizado que muestra los atributos de la instancia.

La ruta del archivo de acceso directo es:

$env:SystemDrive/Users/<user>/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/setwallpaper.lnk
nota

Cuando elimina la tarea setWallpaper, no se elimina este archivo de acceso directo. Para obtener más información, consulte La tarea setWallpaper no está habilitada pero el fondo de pantalla se restablece al reiniciar.

Configuración del fondo de pantalla

Puede utilizar los siguientes ajustes para configurar el fondo de pantalla.

AllowedStages

(Opcional) Valores válidos: PreReady, UserData.

Frecuencia

(Opcional) Valores válidos: always.

Entradas

Parámetros de entrada que puede proporcionar y atributos que puede establecer para configurar el fondo de pantalla:

attributes (lista de cadenas)

(Opcional) Puede agregar uno o más de los siguientes atributos al fondo de pantalla:

  • architecture

  • availabilityZone

  • hostName

  • instanceId

  • instanceSize

  • memory

  • network

  • privateIpAddress

  • publicIpAddress

InstanceTags

(Opcional) Puede utilizar exactamente una de las siguientes opciones para esta configuración.

  • AllTags (cadena) (Todas las etiquetas): agregue todas las etiquetas de instancia a su fondo de pantalla.

    instanceTags: AllTags
  • InstanceTags (lista de cadenas) (Etiquetas de instancias): especifica una lista de nombres de etiquetas de instancia para agregarlos al fondo de pantalla. Por ejemplo:

    instanceTags: - Tag 1 - Tag 2
path (cadena)

(Obligatorio) La ruta del archivo de imagen local en formato .jpg que se va a utilizar en la imagen de fondo de pantalla.

Ejemplo

El siguiente ejemplo muestra las entradas de configuración del fondo de pantalla que establecen la ruta del archivo de la imagen de fondo del fondo de pantalla, junto con las etiquetas de instancia denominadas Tag 1 y Tag 2, y los atributos que incluyen el nombre de host, el ID de la instancia y las direcciones IP públicas y privadas de la instancia.

task: setWallpaper inputs: path: C:\ProgramData\Amazon\EC2Launch\wallpaper\Ec2Wallpaper.jpg attributes: - hostName - instanceId - privateIpAddress - publicIpAddress instanceTags: - Tag 1 - Tag 2
nota

Debe habilitar las etiquetas en los metadatos para que se muestren en el fondo de pantalla. Para obtener más información sobre los metadatos y las etiquetas de instancias, consulte Trabajar con etiquetas de instancia en los metadatos de instancia.

startSsm

Comienza el servicio Systems Manager (SSM) siguiendo Sysprep.

Frecuencia: siempre

AllowedStages[PostReady, UserData]

Entradas: ninguna

Ejemplo

task: startSsm

sysprep

Restablece el estado del servicio, actualiza unattend.xml, desactiva RDP y ejecuta Sysprep. Esta tarea sólo se ejecuta después de que se hayan completado todas las demás tareas.

Frecuencia: una vez

AllowedStages[UserData]

Entradas

clean: (booleano) limpia los registros de instancia antes de ejecutar Sysprep

shutdown: (booleano) cierra la instancia después de ejecutar Sysprep

Ejemplo

task: sysprep inputs: clean: true shutdown: true

writeFile

Escribe un archivo en un destino.

Frecuencia: consulte Entradas

AllowedStages[PostReady, UserData]

Entradas

frequency: (cadena) uno entre once y always

destination: (cadena) ruta en la que escribir el contenido

content: (cadena) texto para escribir en el destino

Ejemplo

task: writeFile inputs: - frequency: once destination: C:\Users\Administrator\Desktop\booted.txt content: Windows Has Booted

Ejemplo: agent-config.yml

En el ejemplo siguiente se muestran los valores del archivo de configuración agent-config.yml.

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

Ejemplo: datos de usuario

Para obtener más información sobre datos de usuario, consulte Ejecutar comandos en la instancia de Windows durante el lanzamiento.

En el siguiente ejemplo se muestra la configuración de los datos de usuario.

version: 1.0 tasks: - task: executeScript inputs: - frequency: always type: powershell runAs: localSystem content: |- New-Item -Path 'C:\PowerShellTest.txt' -ItemType File

El siguiente formato es compatible con la versión anterior de este servicio. Se ejecuta como una tarea executeScript en la etapa UserData. A fin de imitar el comportamiento de la versión anterior, se establecerá para que se ejecute como un proceso desconectado.

<powershell> $file = $env:SystemRoot + "\Temp" + (Get-Date).ToString("MM-dd-yy-hh-mm") New-Item $file -ItemType file </powershell> <persist>true</persist>

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 de Windows personalizada.