起動テンプレートからのインスタンスの起動 - Amazon Elastic Compute Cloud

起動テンプレートからのインスタンスの起動

起動テンプレートは、いくつかのインスタンス起動サービスでサポートされています。このトピックでは、EC2 インスタンス起動ウィザード、Amazon EC2 Auto Scaling、EC2 フリート、スポットフリートを使用してインスタンスを起動するときに起動テンプレートを使用する方法について説明します。

「起動テンプレートからのインスタンスの起動」

起動テンプレートに含まれているパラメータを使用してインスタンスを起動できます。インスタンスを起動する前に、オプションで起動パラメータを上書きまたは追加できます。

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

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

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

  3. 起動テンプレートを選択し、[アクション]、[テンプレートからインスタンスを起動する] を選択します。

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

  5. [Number of instances] で、起動するインスタンスの数を指定します。

  6. (オプション) [インスタンスの詳細] セクションでパラメータを変更または追加すると、起動テンプレートパラメータを上書きまたは追加することができます。

  7. [テンプレートからインスタンスを起動する] を選択します。

AWS CLI
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 になる場合は、「インスタンスの起動に関する問題のトラブルシューティング」を参照してください。

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 Auto Scaling での起動テンプレートの使用

Auto Scaling グループを作成して、グループに使用する起動テンプレートを指定できます。Auto Scalingグループ内で Amazon EC2 Auto Scaling がインスタンスを起動する際、関連する起動テンプレートで定義された起動パラメータが使用されます。詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling グループの起動テンプレートを作成する」および「詳細設定を使用して起動テンプレートを作成する」を参照してください。

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

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

  2. ナビゲーションペインで、[起動テンプレート]、[起動テンプレートの作成] の順に選択します。

  3. [起動テンプレート名] に、起動テンプレートのわかりやすい名前を入力します。

  4. [Template version description] (テンプレートバージョンの説明) に、起動テンプレートバージョンの短い説明を入力します。

  5. [Auto Scaling guidance] (Auto Scaling ガイダンス) でチェックボックスをオンにすると、Auto Scaling で使用するテンプレートの作成に役立つガイダンスが Amazon EC2 により表示されるようになります。

  6. 必要に応じて起動パラメータを変更します。Auto Scaling ガイダンスを選択したため、一部のフィールドは必須で、一部のフィールドは使用できません。Amazon EC2 Auto Scaling の起動テンプレートの設定方法に関する詳細は、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling グループの起動テンプレートを作成する」および「詳細設定を使用して起動テンプレートを作成する」を参照してください。

  7. [起動テンプレートの作成] を選択します。

  8. (オプション) この起動テンプレートを使用して Auto Scaling グループを作成するには、[Next steps] (次のステップ) ページで [Create Auto Scaling group] (Auto Scaling グループの作成) を選択します。

AWS CLI を使って、さまざまなパラメータを組み合わせて起動テンプレートを作成する方法の例については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Examples for creating and managing launch templates with the AWS Command Line Interface (AWS CLI)」を参照してください。

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

起動テンプレートを使用した 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] (起動) を選択します。

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