

# Inicialización de instancias de EC2 con una plantilla de inicialización
<a name="launch-instances-from-launch-template"></a>

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](ec2-launch-templates.md).

**Topics**
+ [Inicialización de una instancia de Amazon EC2 mediante el uso de una plantilla de inicialización](#launch-instance-from-launch-template)
+ [Inicialización de instancias en un grupo de Amazon EC2 Auto Scaling mediante el uso de una plantilla de inicialización](#launch-templates-as)
+ [Inicialización de una flota de EC2 mediante el uso de una plantilla de inicialización](#launch-templates-ec2-fleet)
+ [Inicialización de una flota de spot mediante el uso de una plantilla de inicialización](#launch-templates-spot-fleet)

## Inicialización de una instancia de Amazon EC2 mediante el uso de una plantilla de inicialización
<a name="launch-instance-from-launch-template"></a>

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/](https://console.aws.amazon.com/ec2/).

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

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

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

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

1. 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](troubleshooting-launch.md).

------
#### [ AWS CLI ]

**Inicialización de una instancia a partir de una plantilla de inicialización**
+ Utilice el comando [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 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](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html). 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 lanzar 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](troubleshooting-launch.md).

------
#### [ PowerShell ]

**inicialización de una instancia desde una plantilla de inicialización mediante la Herramientas de AWS para PowerShell**
+ Use el comando [Stop-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/Index.html) 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](https://docs.aws.amazon.com/powershell/latest/reference/Index.html). 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 lanzar 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](troubleshooting-launch.md).

------

## Inicialización de instancias en un grupo de Amazon EC2 Auto Scaling mediante el uso de una plantilla de inicialización
<a name="launch-templates-as"></a>

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 obtener más información, consulte [Create an Auto Scaling group using a launch template]() en la *Guía del usuario de Amazon EC2 Auto Scaling*.

**Para crear o actualizar un grupo de escalado automático con una plantilla de inicialización mediante la AWS CLI**
+ Utilice el comando [create-auto-scaling-group](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/create-auto-scaling-group.html) o [update-auto-scaling-group](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/update-auto-scaling-group.html) y especifique el parámetro `--launch-template`.

Para obtener más información, consulte los siguientes temas en la *Guía del usuario de Amazon EC2 Auto Scaling*:
+ [Creación de una plantilla de inicialización para un grupo de escalado automático](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html)
+ [Creación de una plantilla de incialización mediante la configuración avanzada](https://docs.aws.amazon.com/autoscaling/ec2/userguide/advanced-settings-for-your-launch-template.html)
+ [Examples for creating and managing launch templates with the AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/autoscaling/ec2/userguide/examples-launch-templates-aws-cli.html): proporciona ejemplos en los que se muestra cómo usar plantillas de inicialización con varias combinaciones de parámetros.
+ [Create Auto Scaling groups using launch templates](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-auto-scaling-groups-launch-template.html)
+ [Update an Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/update-auto-scaling-group.html)

## Inicialización de una flota de EC2 mediante el uso de una plantilla de inicialización
<a name="launch-templates-ec2-fleet"></a>

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](create-ec2-fleet.md).

**Para crear una flota de EC2 con una plantilla de inicialización mediante la AWS CLI**
+ Utilice el comando [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html). 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
<a name="launch-templates-spot-fleet"></a>

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](create-spot-fleet.md).

**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/](https://console.aws.amazon.com/ec2/).

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

1. Elija **Request Spot Instances (Solicitar instancias de spot)**.

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

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

1. 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](create-spot-fleet.md#create-spot-fleet-advanced).

1. 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](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html). Use el parámetro `LaunchTemplateConfigs` para especificar la plantilla de inicialización y cualquier otra omisión para la misma.