Inicialización de instancias de EC2 con una plantilla de inicialización - Amazon Elastic Compute Cloud

Inicialización de instancias de EC2 con una plantilla de inicialización

Una plantilla de inicialización de Amazon EC2 almacena parámetros de inicialización de instancias con el objetivo de no tener que especificarlos cada vez que inicie una instancia.

Varios servicios de inicialización de instancias pueden utilizar opcionalmente plantillas de inicialización al inicializar instancias, mientras que para otros servicios, como la flota de EC2, las instancias no se pueden lanzar a menos que se utilice una plantilla de inicialización. En este tema se describe cómo utilizar una plantilla de inicialización al iniciar una instancia con el asistente de inicialización de EC2, Amazon EC2 Auto Scaling, una flota de EC2 o una flota de spot.

Para obtener más información sobre cómo crear plantillas de inicialización, incluido cómo crear una plantilla de inicialización, consulte Almacenamiento de parámetros de inicialización de instancias en plantillas de inicialización de Amazon EC2.

Inicialización de una instancia de Amazon EC2 mediante el uso de una plantilla de inicialización

Puede usar los parámetros incluidos en una plantilla de inicialización para iniciar una instancia de Amazon EC2. Tras seleccionar la plantilla de inicialización, pero antes de inicializar la instancia, puede modificar los parámetros de inicialización.

A las instancias que se inician mediante una plantilla de inicialización se le asignan automáticamente dos etiquetas con las claves aws:ec2launchtemplate:id y aws:ec2launchtemplate:version. Estas etiquetas no se pueden eliminar ni editar.

Console
Inicialización de una instancia con una plantilla de inicialización
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. Utilice uno de las siguientes opciones para seleccionar la plantilla de inicialización:

    • En el panel de la consola de Amazon EC2, elija la flecha hacia abajo situada junto a Lanzar instancia, elija Lanzar instancia a partir de una plantilla y, a continuación, en Plantilla de origen, seleccione una plantilla de inicialización.

    • En el panel de navegación, elija Plantillas de lanzamiento, seleccione la plantilla de inicialización y elija Acciones, Lanzar instancia a partir de una plantilla.

  3. En Source template version (Versión de la plantilla de origen), seleccione la versión de la plantilla de inicialización que desee utilizar.

  4. (Opcional) Puede modificar los valores de cualquiera de los parámetros de inicio. Si no modifica un valor, se utiliza el valor definido por la plantilla de inicialización. Si no se ha especificado ningún valor en la plantilla de inicialización, se usará el valor predeterminado para el parámetro.

  5. En el panel Resumen, en Cantidad de instancias, especifique la cantidad de instancias que iniciará.

  6. Seleccione Iniciar instancia.

    Si se produce un error al iniciar la instancia o el estado pasa inmediatamente a terminated en lugar de running, consulte Solución de problemas de inicialización de instancias de Amazon EC2.

AWS CLI
Inicialización de una instancia a partir de una plantilla de inicialización
  • Utilice el comando run-instances y especifique el parámetro --launch-template. Opcionalmente, seleccione la versión de la plantilla de inicialización que usar. Si no especifica la versión, se usa la predeterminada.

    aws ec2 run-instances \ --launch-template LaunchTemplateId=lt-0abcd290751193123,Version=1
  • Para omitir un parámetro de plantilla de inicialización, especifíquelo en el comando run-instances. En el siguiente ejemplo, se omite el tipo de instancia especificado en la plantilla de inicialización (de haberla).

    aws ec2 run-instances \ --launch-template LaunchTemplateId=lt-0abcd290751193123 \ --instance-type t2.small
  • Si especifica un parámetro anidado parte de una estructura compleja, la instancia se inicia mediante una estructura completa tal y como se especifica en la plantilla de inicialización, además de con cualquier otro parámetro anidado que especifique.

    En el siguiente ejemplo, la instancia se inicia con la etiqueta Owner=TeamA, entre otras especificadas en la plantilla de inicialización. Si la plantilla de inicialización ya incluye una etiqueta con una clave de Owner, el valor se sustituye por TeamA.

    aws ec2 run-instances \ --launch-template LaunchTemplateId=lt-0abcd290751193123 \ --tag-specifications "ResourceType=instance,Tags=[{Key=Owner,Value=TeamA}]"

    En el siguiente ejemplo, la instancia se inicia con un volumen con el nombre de dispositivo /dev/xvdb, entre otros mapeos de dispositivos de bloques especificados en la plantilla de inicialización. Si la plantilla de inicialización ya incluye un volumen definido en /dev/xvdb, sus valores se sustituyen por los especificados.

    aws ec2 run-instances \ --launch-template LaunchTemplateId=lt-0abcd290751193123 \ --block-device-mappings "DeviceName=/dev/xvdb,Ebs={VolumeSize=20,VolumeType=gp2}"

Si se produce un error al iniciar la instancia o el estado pasa inmediatamente a terminated en lugar de running, consulte Solución de problemas de inicialización de instancias de Amazon EC2.

PowerShell
inicialización de una instancia desde una plantilla de inicialización mediante la AWS Tools for PowerShell
  • Use el comando Stop-EC2Instance y especifique el parámetro -LaunchTemplate. Opcionalmente, seleccione la versión de la plantilla de inicialización que usar. Si no especifica la versión, se usa la predeterminada.

    Import-Module AWS.Tools.EC2 New-EC2Instance ` -LaunchTemplate ( New-Object -TypeName Amazon.EC2.Model.LaunchTemplateSpecification -Property @{ LaunchTemplateId = 'lt-0abcd290751193123'; Version = '4' } )
  • Para anular un parámetro de plantilla de inicialización, especifique el parámetro en el comando New-EC2Instance. En el siguiente ejemplo, se omite el tipo de instancia especificado en la plantilla de inicialización (de haberla).

    Import-Module AWS.Tools.EC2 New-EC2Instance ` -InstanceType t4g.small ` -LaunchTemplate ( New-Object -TypeName Amazon.EC2.Model.LaunchTemplateSpecification -Property @{ LaunchTemplateId = 'lt-0abcd290751193123'; Version = '4' } )
  • Si especifica un parámetro anidado parte de una estructura compleja, la instancia se inicia mediante una estructura completa tal y como se especifica en la plantilla de inicialización, además de con cualquier otro parámetro anidado que especifique.

    En el siguiente ejemplo, la instancia se inicia con la etiqueta Owner=TeamA, entre otras especificadas en la plantilla de inicialización. Si la plantilla de inicialización ya incluye una etiqueta con una clave de Owner, el valor se sustituye por TeamA.

    Import-Module AWS.Tools.EC2 New-EC2Instance ` -InstanceType t4g.small ` -LaunchTemplate ( New-Object -TypeName Amazon.EC2.Model.LaunchTemplateSpecification -Property @{ LaunchTemplateId = 'lt-0abcd290751193123'; Version = '4' } ) ` -TagSpecification ( New-Object -TypeName Amazon.EC2.Model.TagSpecification -Property @{ ResourceType = 'instance'; Tags = @( @{key = "Owner"; value = "TeamA" }, @{key = "Department"; value = "Operations" } ) } )

    En el siguiente ejemplo, la instancia se inicia con un volumen con el nombre de dispositivo /dev/xvdb, entre otros mapeos de dispositivos de bloques especificados en la plantilla de inicialización. Si la plantilla de inicialización ya incluye un volumen definido en /dev/xvdb, sus valores se sustituyen por los especificados.

    Import-Module AWS.Tools.EC2 New-EC2Instance ` -InstanceType t4g.small ` -LaunchTemplate ( New-Object -TypeName Amazon.EC2.Model.LaunchTemplateSpecification -Property @{ LaunchTemplateId = 'lt-0abcd290751193123'; Version = '4' } ) ` -BlockDeviceMapping ( New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping -Property @{ DeviceName = '/dev/xvdb'; EBS = ( New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice -Property @{ VolumeSize = 25; VolumeType = 'gp3' } ) } )

Si se produce un error al iniciar la instancia o el estado pasa inmediatamente a terminated en lugar de running, consulte Solución de problemas de inicialización de instancias de Amazon EC2.

Inicialización de instancias en un grupo de Amazon EC2 Auto Scaling mediante el uso de una plantilla de inicialización

Puede crear un grupo de Auto Scaling y especificar una plantilla de inicialización para usarla con dicho grupo. Cuando Amazon EC2 Auto Scaling inicia instancias en el grupo de Auto Scaling, utiliza los parámetros de inicialización definidos en la plantilla de inicialización asociada.

Para poder crear un grupo de escalado automático con una plantilla de inicialización, primero debe crear una plantilla que incluya los parámetros necesarios para iniciar una instancia en un grupo de escalado automático. Algunos parámetros son obligatorios, como el ID de la AMI, y algunos parámetros no están disponibles para su uso con un grupo de escalado automático. La consola proporciona orientación para ayudarlo a crear una plantilla que pueda utilizar con Amazon EC2 Auto Scaling.

Creación de un grupo de escalado automático con una plantilla de inicialización mediante la consola
Para crear o actualizar un grupo de escalado automático con una plantilla de inicialización mediante la AWS CLI

Para obtener más información, consulte los siguientes temas en la Guía del usuario de Amazon EC2 Auto Scaling:

Inicialización de una flota de EC2 mediante el uso de una plantilla de inicialización

Para crear una solicitud de flota de EC2, es obligatorio disponer de una plantilla de incialización. Cuando Amazon EC2 atiende la solicitud de flota de EC2, utiliza los parámetros de inicialización definidos en la plantilla de inicialización asociada. Puede omitir algunos de los parámetros especificados en la plantilla de inicialización. Para obtener más información, consulte Crear una flota de EC2.

Para crear una flota de EC2 con una plantilla de inicialización mediante la AWS CLI
  • Utilice el comando create-fleet. Use el parámetro --launch-template-configs para especificar la plantilla de inicialización y cualquier otra omisión para la misma.

Inicialización de una flota de spot mediante el uso de una plantilla de inicialización

Al crear una solicitud de flota de spot, utilizar una plantilla de inicialización es opcional. Si no utiliza una plantilla de inicialización, puede especificar manualmente los parámetros de inicialización. Si usa una plantilla de inicialización, cuando Amazon EC2 atiende la solicitud de flota de spot, utiliza los parámetros de inicialización definidos en la plantilla de incialización asociada. Puede omitir algunos de los parámetros especificados en la plantilla de inicialización. Para obtener más información, consulte Crear una flota de spot.

Creación de una solicitud de flota de spot con una plantilla de inicialización
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación, elija Solicitudes de spot.

  3. Elija Request Spot Instances (Solicitar instancias de spot).

  4. En Launch parameters (Parámetros de inicialización), seleccione Use a launch template (Utilizar una plantilla de inicialización).

  5. En Launch template (Plantilla de inicialización), elija una plantilla de inicialización y, a continuación, en el campo de la derecha, elija la versión de la plantilla de inicialización.

  6. Para configurar su flota de spot, seleccione diferentes opciones en esta pantalla. Para obtener más información sobre las opciones, consulte Creación de una solicitud de flota de spot con los parámetros definidos (consola).

  7. Cuando esté listo para crear su flota de spot, elija Launch (iniciar).

Creación de una solicitud de flota de spot con una plantilla de inicialización
  • Utilice el comando request-spot-fleet. Use el parámetro LaunchTemplateConfigs para especificar la plantilla de inicialización y cualquier otra omisión para la misma.