

# 起動テンプレートを使用した EC2 インスタンスの起動
<a name="launch-instances-from-launch-template"></a>

Amazon EC2 起動テンプレートには、インスタンス起動パラメータが保存されるため、インスタンスを起動するたびにパラメータを指定する必要はありません。

一部のインスタンス起動サービスは、インスタンスの起動時にオプションで起動テンプレートを使用できますが、EC2 フリートなどの他のサービスでは、起動テンプレートを使用しないとインスタンスを起動できません。このトピックでは、EC2 インスタンス起動ウィザード、Amazon EC2 Auto Scaling、EC2 フリート、スポットフリートを使用してインスタンスを起動するときに起動テンプレートを使用する方法について説明します。

起動テンプレートの作成方法など、起動テンプレートの詳細については、[Amazon EC2 起動テンプレートにインスタンス起動パラメータを保存する](ec2-launch-templates.md)を参照してください。

**Topics**
+ [起動テンプレートを使用して Amazon EC2 インスタンスを起動する](#launch-instance-from-launch-template)
+ [起動テンプレートを使用して Amazon EC2 Auto Scaling グループでインスタンスを起動する](#launch-templates-as)
+ [起動テンプレートを使用して EC2 フリートを起動する](#launch-templates-ec2-fleet)
+ [起動テンプレートを使用してスポットフリートを起動する](#launch-templates-spot-fleet)

## 起動テンプレートを使用して Amazon EC2 インスタンスを起動する
<a name="launch-instance-from-launch-template"></a>

起動テンプレートに含まれているパラメータを使用して Amazon EC2 インスタンスを起動できます。起動テンプレートを選択した後、インスタンスを起動する前に、起動パラメータを変更できます。

起動テンプレートを使用して起動されたインスタンスには、`aws:ec2launchtemplate:id` と `aws:ec2launchtemplate:version` のキーを使用して自動的に 2 つのタグが割り当てられます。これらのタグを削除したり、編集することはできません。

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

**起動テンプレートを使用してインスタンスを起動するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. 次のオプションのいずれかを使用して、起動テンプレートを選択します。
   + Amazon EC2 コンソールダッシュボードで、**[インスタンスの起動]** の横にある下矢印を選択し、**[テンプレートからインスタンスを起動]** を選択し、**[ソーステンプレート]** で起動テンプレートを選択します。
   + ナビゲーションペインで、**[テンプレートの起動]** を選択して、起動テンプレートを選択し、**[アクション]**、**[テンプレートからインスタンスを起動]** の順に選択します。

1. **[Source template version]** (ソーステンプレートのバージョン) で、使用する起動テンプレートのバージョンを選択します。

1. (オプション) 任意の起動パラメータの値を変更することができます。値を変更しない場合、起動テンプレートで定義された値が使用されます。起動テンプレートに値が指定されていない場合は、パラメータのデフォルト値が使用されます。

1. **[概要]** パネルの **[インスタンス数]** に、起動するインスタンス数を指定します。

1. **[インスタンスを起動]** を選択してください。

   インスタンスが起動しないか、状態が `terminated` ではなくすぐに `running` になる場合は[Amazon EC2 インスタンスの起動に関する問題のトラブルシューティング](troubleshooting-launch.md)を参照してください。

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

**起動テンプレートからインスタンスを起動するには**
+ [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) コマンドを使用して `--launch-template` パラメータを指定します。オプションで、使用する起動テンプレートのバージョンを指定します。バージョンを指定しない場合は、デフォルトバージョンが使用されます。

  ```
  aws ec2 run-instances \
      --launch-template LaunchTemplateId=lt-0abcd290751193123,Version=1
  ```
+ 起動テンプレートパラメータを上書きするには、[run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) コマンドでパラメータを指定します。次の例では、起動テンプレートで指定されたインスタンスタイプを上書きします (ある場合)。

  ```
  aws ec2 run-instances \
      --launch-template LaunchTemplateId=lt-0abcd290751193123 \
      --instance-type t2.small
  ```
+ 複雑な構造の一部である入れ子状のパラメータを指定した場合、インスタンスは、起動テンプレートで指定された複雑な構造および、指定した入れ子状の追加パラメータを使用して起動されます。

  次の例で、インスタンスは、タグ `Owner=TeamA` および起動テンプレートで指定された他のタグを使用して起動されます。起動テンプレートに既存の `Owner` のキーのタグがある場合、値は `TeamA` に置き換えられます。

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

  次の例で、インスタンスは、*`/dev/xvdb`* というデバイス名のボリューム、および起動テンプレートで指定されたその他のブロックデバイスマッピングを使用して起動されます。起動テンプレートに *`/dev/xvdb`* 用に定義された既存のボリュームがある場合、値は指定された値に置き換えられます。

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

インスタンスが起動しないか、状態が `terminated` ではなくすぐに `running` になる場合は、[Amazon EC2 インスタンスの起動に関する問題のトラブルシューティング](troubleshooting-launch.md)を参照してください。

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

**AWS Tools for PowerShellを使用して起動テンプレートからインスタンスを起動するには**
+ [[New-EC2Instance]](https://docs.aws.amazon.com/powershell/latest/reference/Index.html) コマンドを使用して、`-LaunchTemplate` パラメータを指定します。オプションで、使用する起動テンプレートのバージョンを指定します。バージョンを指定しない場合は、デフォルトバージョンが使用されます。

  ```
  Import-Module AWS.Tools.EC2
  New-EC2Instance `
      -LaunchTemplate ( 
          New-Object -TypeName Amazon.EC2.Model.LaunchTemplateSpecification -Property @{ 
              LaunchTemplateId = 'lt-0abcd290751193123'; 
              Version          = '4' 
      } 
  )
  ```
+ 起動テンプレートパラメータを上書きするには、[[New-EC2Instance]](https://docs.aws.amazon.com/powershell/latest/reference/Index.html) コマンドでパラメータを指定します。次の例では、起動テンプレートで指定されたインスタンスタイプを上書きします (ある場合)。

  ```
  Import-Module AWS.Tools.EC2
  New-EC2Instance `
      -InstanceType t4g.small `
      -LaunchTemplate (
          New-Object -TypeName Amazon.EC2.Model.LaunchTemplateSpecification -Property @{ 
              LaunchTemplateId = 'lt-0abcd290751193123'; 
              Version          = '4' 
      } 
  )
  ```
+ 複雑な構造の一部である入れ子状のパラメータを指定した場合、インスタンスは、起動テンプレートで指定された複雑な構造および、指定した入れ子状の追加パラメータを使用して起動されます。

  次の例で、インスタンスは、タグ `Owner=TeamA` および起動テンプレートで指定された他のタグを使用して起動されます。起動テンプレートに既存の `Owner` のキーのタグがある場合、値は `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" } 
              ) 
          } 
  )
  ```

  次の例で、インスタンスは、*`/dev/xvdb`* というデバイス名のボリューム、および起動テンプレートで指定されたその他のブロックデバイスマッピングを使用して起動されます。起動テンプレートに *`/dev/xvdb`* 用に定義された既存のボリュームがある場合、値は指定された値に置き換えられます。

  ```
  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' 
                  } 
              ) 
          } 
  )
  ```

インスタンスが起動しないか、状態が `terminated` ではなくすぐに `running` になる場合は、[Amazon EC2 インスタンスの起動に関する問題のトラブルシューティング](troubleshooting-launch.md)を参照してください。

------

## 起動テンプレートを使用して Amazon EC2 Auto Scaling グループでインスタンスを起動する
<a name="launch-templates-as"></a>

Auto Scaling グループを作成して、グループに使用する起動テンプレートを指定できます。Auto Scalingグループ内で Amazon EC2 Auto Scaling がインスタンスを起動する際、関連する起動テンプレートで定義された起動パラメータが使用されます。

起動テンプレートを使用して Auto Scaling グループを作成するには、Auto Scaling グループのインスタンスの起動に必要なパラメータを含む起動テンプレートを作成する必要があります。AMI の ID など、一部のパラメータは必須であり、一部のパラメータは Auto Scaling グループでは使用できません。コンソールには、Amazon EC2 Auto Scaling で使用できるテンプレートの、作成に役立つガイダンスが用意されています。

**コンソールを使用して起動テンプレートで Auto Scaling グループを作成するには**
+ 手順については、「Amazon EC2 Auto Scaling ユーザーガイド」の「[Create an Auto Scaling group using a launch template]()」を参照してください。

**AWS CLI を使用して、起動テンプレートを使って Auto Scaling グループを作成または更新するには**
+ [create-auto-scaling-group](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/create-auto-scaling-group.html) または [update-auto-scaling-group](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/update-auto-scaling-group.html) コマンドを使用して `--launch-template` パラメータを指定します。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の次のトピックを参照してください。
+ [Auto Scaling グループの起動テンプレートを作成する](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html)
+ [詳細設定を使用して起動テンプレートを作成する](https://docs.aws.amazon.com/autoscaling/ec2/userguide/advanced-settings-for-your-launch-template.html)
+ [AWS Command Line Interface (AWS CLI) を使用した起動テンプレートの作成および管理の例](https://docs.aws.amazon.com/autoscaling/ec2/userguide/examples-launch-templates-aws-cli.html) – さまざまなパラメータの組み合わせで起動テンプレートを作成する方法を示す例を提供します。
+ [起動テンプレートを使用して Auto Scaling グループを作成する](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-auto-scaling-groups-launch-template.html)
+ [Auto Scaling グループを更新する](https://docs.aws.amazon.com/autoscaling/ec2/userguide/update-auto-scaling-group.html)

## 起動テンプレートを使用して EC2 フリートを起動する
<a name="launch-templates-ec2-fleet"></a>

起動テンプレートは、EC2 フリートリクエストを作成する際に必要です。Amazon EC2 は、EC2 フリート リクエストを満たす際、関連する起動テンプレートで定義された起動パラメータを使用します。起動テンプレートで指定されたパラメータの一部を上書きすることができます。詳細については、[EC2 フリートの作成](create-ec2-fleet.md)を参照してください。

**AWS CLI により起動テンプレートを使用して、EC2 フリートを作成するには**
+ [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) コマンドを使用します。`--launch-template-configs` パラメータを使用して、起動テンプレートと起動テンプレートの上書きを指定します。

## 起動テンプレートを使用してスポットフリートを起動する
<a name="launch-templates-spot-fleet"></a>

スポットフリートリクエストを作成する場合、起動テンプレートはオプションです。起動テンプレートを使用しない場合は、起動パラメータを手動で指定できます。起動テンプレートを使用すると、Amazon EC2 は、スポットフリートリクエストを処理する際、関連する起動テンプレートで定義された起動パラメータを使用します。起動テンプレートで指定されたパラメータの一部を上書きすることができます。詳細については、[スポットフリートを作成する](create-spot-fleet.md)を参照してください。

**起動テンプレートを使用してスポットフリートリクエストを作成するには**

1. Amazon EC2 コンソール ([https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)) を開きます。

1. ナビゲーションペインで、[**Spot Requests**] を選択してください。

1. [**Request Spot Instances (スポットインスタンスのリクエスト)**] を選択します。

1. **[Launch parameters]** (起動パラメータ) で、**[Use a launch template]** (起動テンプレートを使用する) を選択します。

1. **[Launch tempate]** (起動テンプレート) で、起動テンプレートを選択し、右側のフィールドから起動テンプレートのバージョンを選択します。

1. この画面で別のオプションを選択して、スポットフリートを設定します。オプションの詳細については、[定義済みパラメータを使用してスポットフリートリクエストを作成する](create-spot-fleet.md#create-spot-fleet-advanced)を参照してください。

1. スポットフリートを作成する準備が整ったら、**[Launch]** (起動) を選択します。

**起動テンプレートを使用してスポットフリートリクエストを作成するには**
+ [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html) コマンドを使用します。`LaunchTemplateConfigs` パラメータを使用して、起動テンプレートと起動テンプレートの上書きを指定します。