

# Executar instâncias do Ec2 usando um modelo de execução
<a name="launch-instances-from-launch-template"></a>

Um modelo de execução do Amazon EC2 armazena parâmetros de execução de instâncias para que não seja necessário especificá-los sempre que executar uma instância.

Vários serviços de execução de instâncias podem, opcionalmente, usar modelos de execução ao executar instâncias, enquanto para outros serviços, como o EC2 Fleet, as instâncias não podem ser executadas a menos que um modelo de execução seja usado. Este tópico descreve como usar um modelo de inicialização ao iniciar uma instância usando o assistente de inicialização de instâncias do EC2, o Amazon EC2 Auto Scaling, a Frota do EC2 e a frota spot.

Para obter mas informações sobre modelos de execução, incluindo como criar um modelo de execução, consulte [Armazenar os parâmetros de execução de instâncias nos modelos de execução do Amazon EC2](ec2-launch-templates.md).

**Topics**
+ [Executar uma instância do Amazon EC2 usando um modelo de execução](#launch-instance-from-launch-template)
+ [Executar instâncias em um grupo do Amazon EC2 Auto Scaling usando um modelo de execução](#launch-templates-as)
+ [Executar um EC2 Fleet usando um modelo de execução](#launch-templates-ec2-fleet)
+ [Executar uma frota spot usando um modelo de execução](#launch-templates-spot-fleet)

## Executar uma instância do Amazon EC2 usando um modelo de execução
<a name="launch-instance-from-launch-template"></a>

Você pode usar os parâmetros incluídos em um modelo de execução para executar uma instância do Amazon EC2. Depois de selecionar o modelo de execução, mas antes de executar a instância, você pode modificar os parâmetros de execução.

As instâncias executadas por meio de um modelo de execução recebem automaticamente duas tags com as chaves `aws:ec2launchtemplate:id` e `aws:ec2launchtemplate:version`. Você não pode remover ou editar essas tags.

------
#### [ Console ]

**Para executar uma instância usando um modelo de execução**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Use uma das seguintes opções para selecionar o modelo de execução:
   + No painel do console do Amazon EC2, escolha a seta para baixo ao lado de **Executar instância** e depois **Executar instância no modelo**. Em **Modelo de origem**, selecione um modelo de execução.
   + No painel de navegação, escolha **Modelos de execução**, selecione o modelo de execução e, então, escolha **Ações**, **Executar instância no modelo**.

1. Em **Source template version (Versão do modelo de origem)**, selecione a versão do modelo de execução a ser usado.

1. (Opcional) Você pode modificar os valores de qualquer um dos parâmetros de execução. Se você não modificar um valor, o sistema usará o valor definido pelo modelo de execução. Se nenhum valor foi especificado no modelo de execução, o valor padrão do parâmetro será usado.

1. No painel **Resumo**, em **Número de instâncias**, especifique o número de instâncias a serem executadas.

1. Escolha **Iniciar instância**.

   Se a instância não executar ou o estado passar imediatamente para `terminated`, em vez de `running`, consulte [Solucionar problemas de inicialização de instâncias do Amazon EC2](troubleshooting-launch.md).

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

**Para executar uma instância em um modelo de execução**
+ Use o comando [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) e especifique o parâmetro `--launch-template`. Se desejar, especifique a versão de modelo de execução a ser usada. Se você não especificar a versão, a versão padrão será usada.

  ```
  aws ec2 run-instances \
      --launch-template LaunchTemplateId=lt-0abcd290751193123,Version=1
  ```
+ Para substituir um parâmetro de modelo de execução, especifique o parâmetro no comando [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html). O exemplo a seguir substitui o tipo de instância especificado no modelo de execução (se houver algum).

  ```
  aws ec2 run-instances \
      --launch-template LaunchTemplateId=lt-0abcd290751193123 \
      --instance-type t2.small
  ```
+ Se você especificar um parâmetro aninhado que faça parte de uma estrutura complexa, a instância será executada por meio da estrutura complexa conforme especificado no modelo de execução, além de quaisquer parâmetros aninhados adicionais que você especificar.

  No exemplo a seguir, a instância é executada com a tag `Owner=TeamA`, bem como com quaisquer outras tags especificadas no modelo de execução. Se o modelo de execução tiver uma tag com uma chave `Owner`, o valor será substituído por `TeamA`.

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

  No exemplo a seguir, a instância é executada com um volume com o nome de dispositivo *`/dev/xvdb`*, bem como com quaisquer outros mapeamentos de dispositivos de blocos especificados no modelo de execução. Se o modelo de execução tiver um volume existente definido para *`/dev/xvdb`*, seus valores serão substituídos pelos valores especificados.

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

Se a instância não executar ou o estado passar imediatamente para `terminated`, em vez de `running`, consulte [Solucionar problemas de inicialização de instâncias do Amazon EC2](troubleshooting-launch.md).

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

**Como executar uma instância a partir de um modelo de execução usando a Ferramentas da AWS para PowerShell**
+ Use o comando [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/Index.html) e especifique o parâmetro `-LaunchTemplate`. Se desejar, especifique a versão de modelo de execução a ser usada. Se você não especificar a versão, a versão padrão será usada.

  ```
  Import-Module AWS.Tools.EC2
  New-EC2Instance `
      -LaunchTemplate ( 
          New-Object -TypeName Amazon.EC2.Model.LaunchTemplateSpecification -Property @{ 
              LaunchTemplateId = 'lt-0abcd290751193123'; 
              Version          = '4' 
      } 
  )
  ```
+ Para substituir um parâmetro de modelo de execução, especifique o parâmetro no comando [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/Index.html). O exemplo a seguir substitui o tipo de instância especificado no modelo de execução (se houver algum).

  ```
  Import-Module AWS.Tools.EC2
  New-EC2Instance `
      -InstanceType t4g.small `
      -LaunchTemplate (
          New-Object -TypeName Amazon.EC2.Model.LaunchTemplateSpecification -Property @{ 
              LaunchTemplateId = 'lt-0abcd290751193123'; 
              Version          = '4' 
      } 
  )
  ```
+ Se você especificar um parâmetro aninhado que faça parte de uma estrutura complexa, a instância será executada por meio da estrutura complexa conforme especificado no modelo de execução, além de quaisquer parâmetros aninhados adicionais que você especificar.

  No exemplo a seguir, a instância é executada com a tag `Owner=TeamA`, bem como com quaisquer outras tags especificadas no modelo de execução. Se o modelo de execução tiver uma tag com uma chave `Owner`, o valor será substituído 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" } 
              ) 
          } 
  )
  ```

  No exemplo a seguir, a instância é executada com um volume com o nome de dispositivo *`/dev/xvdb`*, bem como com quaisquer outros mapeamentos de dispositivos de blocos especificados no modelo de execução. Se o modelo de execução tiver um volume existente definido para *`/dev/xvdb`*, seus valores serão substituídos pelos valores 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' 
                  } 
              ) 
          } 
  )
  ```

Se a instância não executar ou o estado passar imediatamente para `terminated`, em vez de `running`, consulte [Solucionar problemas de inicialização de instâncias do Amazon EC2](troubleshooting-launch.md).

------

## Executar instâncias em um grupo do Amazon EC2 Auto Scaling usando um modelo de execução
<a name="launch-templates-as"></a>

É possível criar um grupo do Auto Scaling e especificar um modelo de execução a ser usado no grupo. Quando o Amazon EC2 Auto Scaling executar instâncias no grupo do Auto Scaling, ele usará os parâmetros de execução definidos no modelo de execução associado.

Antes de criar um grupo do Auto Scaling usando um modelo de execução, você deve primeiro criar um modelo de execução que inclua os parâmetros necessários para executar uma instância em um grupo do Auto Scaling. Alguns parâmetros são obrigatórios, como o ID da AMI, e alguns parâmetros não estão disponíveis para uso com um grupo do Auto Scaling. O console fornece orientações para ajudar você a criar um modelo que pode ser usado com o Amazon EC2 Auto Scaling.

**Para criar um grupo do Auto Scaling usando um modelo de execução usando o console**
+ Para verificar as instruções, consulte [Create an Auto Scaling group using a launch template]() no *Guia do usuário do Amazon EC2 Auto Scaling*.

**Criar ou atualizar um grupo do Auto Scaling com um modelo de execução usando a AWS CLI**
+ Use o comando [create-auto-scaling-group](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/create-auto-scaling-group.html) ou [update-auto-scaling-group](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/update-auto-scaling-group.html) e especifique o parâmetro `--launch-template`.

Para obter mais informações, consulte os seguintes tópicos no *Guia do usuário do Amazon EC2 Auto Scaling*:
+ [Create a launch template for an Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html)
+ [Create a launch template using advanced settings](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): fornece exemplos que mostram como criar modelos de execução com várias combinações 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)

## Executar um EC2 Fleet usando um modelo de execução
<a name="launch-templates-ec2-fleet"></a>

Um modelo de execução é um requisito ao criar uma solicitação do EC2 Fleet. Quando o Amazon EC2 atender à solicitação do Frota do EC2, ele usará os parâmetros de execução definidos no modelo de execução associado. É possível substituir alguns parâmetros especificados no modelo de execução. Para obter mais informações, consulte [Criar uma Frota do EC2.](create-ec2-fleet.md).

**Para criar uma EC2 Fleet com um modelo de execução usando a AWS CLI**
+ Use o comando [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html). Use o parâmetro `--launch-template-configs` para especificar o modelo de execução e quaisquer substituições para o modelo de execução.

## Executar uma frota spot usando um modelo de execução
<a name="launch-templates-spot-fleet"></a>

Um modelo de execução é opcional ao criar uma solicitação de frota spot. Se você não usar um modelo de execução, você poderá especificar manualmente os parâmetros de execução. Caso use um modelo de execução, quando o Amazon EC2 atender à solicitação da frota spot, ele usará os parâmetros de execução definidos no modelo de execução associado. É possível substituir alguns parâmetros especificados no modelo de execução. Para obter mais informações, consulte [Criar uma Frota spot](create-spot-fleet.md).

**Para criar uma solicitação de frota spot usando um modelo de execução**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, selecione **Solicitações spot**.

1. Selecione **Request Spot Instances (Solicitar instâncias spot)**.

1. Em **Launch parameters** (Parâmetros de inicialização), escolha **Use a launch template** (Usar um modelo de inicialização).

1. Em **Launch template** (Modelo de inicialização), escolha um modelo de inicialização e, no campo à direita, escolha a versão do modelo de inicialização.

1. Configure a frota Spot selecionando diferentes opções nessa tela. Para saber mais sobre essas opções, consulte [Criar uma solicitação de frota spot usando parâmetros definidos](create-spot-fleet.md#create-spot-fleet-advanced).

1. Quando você estiver pronto para criar uma frota spot, escolha **Launch** (Iniciar).

**Para criar uma solicitação de frota spot usando um modelo de execução**
+ Use o comando [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html). Use o parâmetro `LaunchTemplateConfigs` para especificar o modelo de execução e quaisquer substituições para o modelo de execução.