起動テンプレートを使用した EC2 インスタンスの起動 - Amazon Elastic Compute Cloud

起動テンプレートを使用した EC2 インスタンスの起動

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

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

起動テンプレートの作成方法など、起動テンプレートの詳細については、「Amazon EC2 起動テンプレートにインスタンス起動パラメータを保存する」を参照してください。

起動テンプレートを使用して Amazon EC2 インスタンスを起動する

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

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

Console
起動テンプレートを使用してインスタンスを起動するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. 次のオプションのいずれかを使用して、起動テンプレートを選択します。

    • Amazon EC2 コンソールダッシュボードで、[インスタンスの起動] の横にある下矢印を選択し、[テンプレートからインスタンスを起動] を選択し、[ソーステンプレート] で起動テンプレートを選択します。

    • ナビゲーションペインで、[テンプレートの起動] を選択して、起動テンプレートを選択し、[アクション][テンプレートからインスタンスを起動] の順に選択します。

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

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

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

  6. [インスタンスを起動] を選択します。

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

AWS CLI
起動テンプレートからインスタンスを起動するには
  • run-instances コマンドを使用して --launch-template パラメータを指定します。オプションで、使用する起動テンプレートのバージョンを指定します。バージョンを指定しない場合は、デフォルトバージョンが使用されます。

    aws ec2 run-instances \ --launch-template LaunchTemplateId=lt-0abcd290751193123,Version=1
  • 起動テンプレートパラメータを上書きするには、run-instances コマンドでパラメータを指定します。次の例では、起動テンプレートで指定されたインスタンスタイプを上書きします (ある場合)。

    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}"

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

PowerShell
AWS Tools for PowerShellを使用して起動テンプレートからインスタンスを起動するには
  • [New-EC2Instance] コマンドを使用して、-LaunchTemplate パラメータを指定します。オプションで、使用する起動テンプレートのバージョンを指定します。バージョンを指定しない場合は、デフォルトバージョンが使用されます。

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

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

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

起動テンプレートを使用して Amazon EC2 Auto Scaling グループでインスタンスを起動する

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

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

コンソールを使用して起動テンプレートで Auto Scaling グループを作成するには
AWS CLI を使用して、起動テンプレートを使って Auto Scaling グループを作成または更新するには

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の次のトピックを参照してください。

起動テンプレートを使用して EC2 フリートを起動する

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

AWS CLI により起動テンプレートを使用して、EC2 フリートを作成するには
  • create-fleet コマンドを使用します。--launch-template-configs パラメータを使用して、起動テンプレートと起動テンプレートの上書きを指定します。

起動テンプレートを使用してスポットフリートを起動する

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

起動テンプレートを使用してスポットフリートリクエストを作成するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで、[Spot Requests] を選択します。

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

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

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

  6. この画面で別のオプションを選択して、スポットフリートを設定します。オプションの詳細については、「定義済みパラメータを使用してスポットフリートリクエストを作成する (コンソール)」を参照してください。

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

起動テンプレートを使用してスポットフリートリクエストを作成するには
  • request-spot-fleet コマンドを使用します。LaunchTemplateConfigs パラメータを使用して、起動テンプレートと起動テンプレートの上書きを指定します。