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

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

インスタンスを起動するための設定情報を含む起動テンプレートを作成できます。起動テンプレートにより起動パラメータを格納でき、インスタンスを起動するたびに指定する必要がなくなります。たとえば、AMI ID やインスタンスタイプ、通常インスタンスの起動に使用しているネットワーク設定を起動テンプレートに含めることができます。Amazon EC2 コンソール、AWS SDK、またはコマンドラインツールを使用してインスタンスを起動する場合、使用する起動テンプレートを指定できます。

各起動テンプレートについて、1 つ以上の番号付きの起動テンプレートのバージョンを作成できます。各バージョンに異なる起動パラメータを指定できます。起動テンプレートからインスタンスを起動する際、起動テンプレートのいずれかのバージョンを使用できます。バージョンを指定しない場合は、デフォルトバージョンが使用されます。いずれかの起動テンプレートをデフォルトバージョンとして設定できます — デフォルトでは、起動テンプレートの最初のバージョンです。

以下の図は、3 つのバージョンの起動テンプレートを示しています。最初のバージョンでは、インスタンスの起動に使用するインスタンスタイプ、AMI ID、サブネット、およびキーペアが指定されています。2 番目のバージョンは最初のバージョンに基づいており、インスタンスのセキュリティグループも指定しています。3 番目のバージョンは、パラメータの一部に異なる値を使用しています。バージョン 2 がデフォルトバージョンとして設定されています。この起動テンプレートからインスタンスを起動すると、他のバージョンを指定しない限りバージョン 2 の起動パラメータが使用されます。


            起動テンプレート

起動テンプレートの制限

起動テンプレートおよび起動テンプレートのバージョンには次のルールが適用されます。

  • 1 つのリージョンあたり 5,000 の起動テンプレート、1 つの起動テンプレートあたり 10,000 のバージョンに作成が制限されています。

  • 起動テンプレートのパラメータはオプションです。ただし、テンプレートには、インスタンス起動のためのリクエストに必要なすべてのパラメータが含まれている必要があります。たとえば、起動テンプレートに AMI ID が含まれていない場合、インスタンスの起動時に起動テンプレートと AMI ID の両方を指定する必要があります。

  • 起動テンプレートパラメータは、起動テンプレート作成の際には完全には検証されません。パラメータに誤った値を指定した場合、またはサポートされているパラメータの組み合わせを使用しない場合、この起動テンプレートを使用してインスタンスは起動できません。パラメータに正しい値を指定したか、およびサポートされているパラメータの組み合わせを使用しているかを確認します。たとえば、プレイスメントグループ内でインスタンスを起動するには、サポートされているインスタンスタイプを指定する必要があります。

  • 起動テンプレートにはタグ付けできますが、起動テンプレートのバージョンにはタグ付けできません。

  • 起動テンプレートのバージョンには、作成された順序で番号が付けられます。起動テンプレートのバージョンを作成する場合、自分でバージョン番号を指定することはできません。

起動テンプレートを使用して起動パラメータを制御する

起動テンプレートには、インスタンスを起動するためのパラメータすべてまたは一部を含めることができます。起動テンプレートを使用してインスタンスを起動するときは、起動テンプレートで指定されたパラメータを上書きできます。または、起動テンプレートにない追加のパラメータを指定できます。

注記

起動時に起動テンプレートパラメータを削除することはできません (たとえば、パラメータに null 値を指定することはできません)。パラメータを削除するには、起動テンプレートの新しいバージョンをパラメータなしで作成し、そのバージョンを使用してインスタンスを起動します。

インスタンスを起動するには、IAM ユーザーは ec2:RunInstances アクションを使用するためのアクセス許可が必要です。また、インスタンスに作成または関連付けられたリソースを作成または使用するアクセス許可が必要です。ec2:RunInstances アクションのリソースレベルのアクセス権限を使用して、ユーザーが指定できる起動パラメータを管理できます。または、起動テンプレートを使用してインスタンスを起動するアクセス権限をユーザーに付与することもできます。これにより、IAM ポリシーではなくむしろ起動テンプレートで起動パラメータを管理できるようになり、インスタンス起動の権限を付与するための手段として起動テンプレートを使用できます。たとえば、ユーザーがインスタンスの起動に必ず起動テンプレートを使用し、また特定の起動テンプレートだけを使用するように指定できます。また、ユーザーが起動テンプレートで上書きする起動パラメータを制御することもできます。エンドポイントポリシーの例については、「起動テンプレート」を参照してください。

起動テンプレートの使用の管理

デフォルトでは、IAM ユーザーには起動テンプレートを使用するためのアクセス許可がありません。IAM ユーザーポリシーを作成して、起動テンプレートと起動テンプレートのバージョンの作成、変更、記述、削除を行うアクセス許可をユーザーに付与することができます。一部の起動テンプレートアクションにリソースレベルのアクセス許可を適用して、ユーザーがこれらのアクションに対する特定のリソースを使用する機能を制御することもできます。詳細については、「例: 起動テンプレートの使用」のポリシー例を参照してください。

ユーザーに ec2:CreateLaunchTemplate および ec2:CreateLaunchTemplateVersion のアクションを使用するアクセス許可を付与するには注意が必要です。リソースレベルのアクセス許可を使用して、ユーザーが起動テンプレートで指定できるリソースを制御することはできません。インスタンス起動のために使用されるリソースを制限するには、起動テンプレートと起動テンプレートのバージョンを作成するアクセス許可を、適切な管理者のみに付与していることを確認してください。

起動テンプレートの作成

ユーザー定義のパラメータを使用して新しい起動テンプレートを作成するか、既存の起動テンプレートまたはインスタンスをベースにして新しい起動テンプレートを作成します。

定義したパラメータを使用した新しい起動テンプレートの作成

新しいコンソール

定義されたパラメータを使用して新しい起動テンプレートを作成するには (コンソールを使用)

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

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

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

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

  5. 作成時に起動テンプレートにタグを付けるには、[Template tags] を展開し、[タグの追加] を選択して、タグキーと値のペアを入力します。

  6. [起動テンプレートの内容] で、次の情報を指定します。

    • [AMI]: インスタンスを起動する AMI ID。利用可能な AMI すべてを検索するには、[Search for AMI (AMI を検索)] を選択します。一般的に使用される AMI を選択するには、[クイックスタート] を選択します。または、[AWS Marketplace] か [コミュニティ AMI] を選択します。所有している AMI を使用するか 適切な AMI を検索します。

    • [インスタンスタイプ]: インスタンスタイプが、指定した AMI と互換性があることを確認します。詳細については、「インスタンスタイプ」を参照してください。

    • [キーペア名]: インスタンスのキーペア。詳細については、「Amazon EC2 キーペアと Linux インスタンス」を参照してください。

    • [ネットワークプラットフォーム]: 該当する場合は、インスタンスを VPC または EC2-Classic 内のどちらに起動するか。VPC を選択した場合は、[ネットワークインターフェイス] セクションでサブネットを指定します。[Classic] を選択した場合、指定のインスタンスタイプが EC2-Classic でサポートされていることを確認し、インスタンスのアベイラビリティーゾーンを指定します。

    • [セキュリティグループ]: インスタンスに関連付ける 1 つ以上のセキュリティグループ。詳細については、「Linux インスタンスの Amazon EC2 セキュリティグループ」を参照してください。

  7. [ストレージ (ボリューム)] で、AMI (Volume 1 (AMI Root)) によって指定されるボリューム以外に、インスタンスにアタッチするボリュームを指定します。新しいボリュームを追加するには、[Add new volume] を選択します。

    • [ボリュームタイプ]: インスタンスと関連付けるインスタンスストアまたは Amazon EBS ボリューム。ボリュームの種類は、選択したインスタンスタイプに応じて異なります。詳細については、「Amazon EC2 インスタンスストア」および「Amazon EBS ボリューム」を参照してください。

    • [デバイス名]: ボリュームのデバイス名。

    • [スナップショット]: ボリュームを作成するスナップショットの ID。

    • [サイズ]: Amazon EBS ボリュームの場合は、ストレージサイズ。

    • [ボリュームタイプ]: Amazon EBS ボリュームについては、ボリュームタイプを指定します。詳細については、「Amazon EBS ボリュームの種類」を参照してください。

    • [IOPS]: プロビジョンド IOPS SSD ボリュームタイプの場合、ボリュームがサポートできる 1 秒あたりの入力/出力オペレーションの数 (IOPS)。

    • [終了時に削除]: Amazon EBS ボリュームの場合、インスタンスの終了時にボリュームを削除するかどうか。詳細については、「インスタンスの削除で Amazon EBS ボリュームを保持する」を参照してください。

    • [Encrypted (暗号化)]: インスタンスタイプが EBS 暗号化をサポートしている場合、ボリュームの暗号化を有効にできます。このリージョンでデフォルトで暗号化を有効にした場合、暗号化は有効になります。詳細については、「Amazon EBS 暗号化」を参照してください。

    • [Key (キー)]: EBS 暗号化に使用する CMK。AWS Key Management Service を使用して作成したカスタマーマスターキー (CMK) の ARN を指定できます。CMK を指定する場合は、[Encrypted (暗号化)] を使用して暗号化を有効にする必要もあります。

  8. [Instance tags (インスタンスタグ)] で、キーと値の組み合わせをタグとして指定します。インスタンス、ボリューム、またはその両方にタグ付けできます。

  9. [ネットワークインターフェイス] で、インスタンスに対して最大 2 つのネットワークインターフェイスを指定できます。

    • [デバイスインデックス]: ネットワークインターフェイスのデバイス番号。たとえば、プライマリネットワークインターフェイスなら eth0 です。フィールドに何も指定しない場合、AWS がプライマリネットワークインターフェイスを作成します。

    • [ネットワークインターフェイス]: ネットワークインターフェイス ID。または、空白のままにして AWS により新しいネットワークインターフェイスを作成します。

    • [説明]: (オプション) 新しいネットワークインターフェイスの説明。

    • [サブネット]: 新しいネットワークインターフェイスを作成するサブネット。プライマリネットワークインターフェイス (eth0) の場合、これはインスタンスが起動する先のサブネットです。eth0 に既存のネットワークインターフェイスを入力すると、インスタンスはネットワークインターフェイスが存在するサブネット内で起動します。

    • [自動割り当てパブリック IP]: eth0 のデバイスインデックスを持つネットワークインターフェイスに、自動的にパブリック IP アドレスを割り当てるかどうか。この設定は、1 つの新しいネットワークインターフェイスにのみ有効にすることができます。

    • [プライマリ IP]: サブネットの範囲からの プライマリプライベート IPv4 アドレス。AWS で自分用のプライベート IPv4 を選択するには、空白のままにします。

    • [セカンダリ IP]: サブネットの範囲からのセカンダリプライベート IPv4 アドレス。AWS で選択するには、空白のままにします。

    • (IPv6 のみ) [IPv6 IP]: サブネットの範囲の IPv6 アドレス。

    • [セキュリティ グループ ID]: ネットワークインターフェイスに関連付ける VPC のセキュリティグループの ID。

    • [終了時に削除]: インスタンス終了時にネットワークインターフェイスを削除するかどうか。

    • Elastic Fabric Adapter: ネットワークインターフェイスが Elastic Fabric Adapter かどうかを示します。詳細については、「Elastic Fabric Adapter」を参照してください。

  10. [Advanced details] で、セクションを開いてフィールドを表示し、インスタンスの追加パラメータを指定します。

    • [購入のオプション]: 購入モデル。[スポットインスタンスのリクエスト] を選択して、オンデマンド価格を上限とするスポット料金で スポットインスタンス をリクエストし、[Customize] を選択して、デフォルトの スポットインスタンス 設定を変更します。スポットインスタンス をリクエストしない場合、EC2 はデフォルトで オンデマンドインスタンス を起動します。詳細については、「スポットインスタンス」を参照してください。

    • [IAM インスタンスプロファイル]: インスタンスに関連付ける AWS Identity and Access Management (IAM) インスタンスプロファイル。詳細については、「Amazon EC2 の IAM ロール」を参照してください。

    • [Shutdown behavior]: シャットダウン時にインスタンスを停止するか終了するかどうか。詳細については、「インスタンスによって起動されたシャットダウン動作の変更」を参照してください。

    • [Stop - Hibernate behavior (停止 - 休止動作)]: インスタンスに対して休止を有効にできたかどうか。このフィールドは、休止の前提条件を満たすインスタンスにのみ有効です。詳細については、「Linux インスタンスの休止」を参照してください。

    • [終了保護]: 偶発的な終了を防ぐかどうか。詳細については、「終了保護の有効化」を参照してください。

    • [Detailed CloudWatch monitoring]: Amazon CloudWatch を使用したインスタンスの詳細モニタリングを有効にするかどうか。追加の変更が適用されます。詳細については、「CloudWatch を使用したインスタンスのモニタリング」を参照してください。

    • [Elastic inference]: EC2 CPU インスタンスにアタッチする Elastic Inference アクセラレータ。詳細については、Amazon Elastic Inference 開発者ガイドの「Working with Amazon Elastic Inference の使用」を参照してください。

    • [T2/T3 Unlimited (T2/T3 無制限)]: アプリケーションがベースラインを越えて必要なだけバーストできるかどうか。このフィールドは、T2、T3、および T3a インスタンスに対してのみ有効です。追加料金が適用される場合があります。詳細については、「バーストパフォーマンスインスタンス」を参照してください。

    • [プレイスメントグループ名]: インスタンスを起動する先のプレイスメントグループを指定します。すべてのインスタンスタイプがプレイスメントグループ内で起動できるわけではありません。詳細については、「プレイスメントグループ」を参照してください。

    • [EBS 最適化インスタンス]: Amazon EBS I/O 専用の追加容量を提供します。すべてのインスタンスタイプがこの機能をサポートしているわけではなく、追加料金が適用されます。詳細については、「Amazon EBS 最適化インスタンス」を参照してください。

    • キャパシティーの予約: インスタンスを特定の キャパシティーの予約 (キャパシティーの予約 ID を指定) に起動するか、属性が一致するオープン キャパシティーの予約 に起動するか ([Open])、一致するインスタンスがある場合でも キャパシティーの予約 でインスタンスが実行されないようにするか ([None]) を指定します。詳細については、「既存の キャパシティーの予約 へのインスタンスの起動」を参照してください。

    • [テナンシー]: インスタンスを共有ハードウェア ([共有])、独立した専有ハードウェア ([専有])、あるいは Dedicated Host ([Dedicated host (専有ホスト)])で実行するかを選択します。Dedicated Host でインスタンスを起動する場合は、インスタンスをホストリソースグループ内で起動するかどうかを指定できます。または、特定の Dedicated Host をターゲットとして設定できます。追加料金が適用される場合があります。詳細については、「ハードウェア専有インスタンス」および「Dedicated Hosts」を参照してください。

    • [RAM ディスク ID]: (準仮想化 (PV) AMI に対してのみ有効) インスタンスの RAM ディスク。カーネルを指定した場合は、サポートするドライバーとともに特定の RAM ディスクを指定する必要がある可能性があります。

    • [カーネル ID]: (準仮想化 (PV) AMI に対してのみ有効) インスタンスのカーネル。

    • [License Manager]: 指定したライセンス設定に対してインスタンスを起動して、ライセンスの使用状況を追跡できます。詳細については、AWS License Manager ユーザーガイドの「ライセンス設定を作成する」を参照してください。

    • [アクセス可能なメタデータ]: インスタンスメタデータへのアクセスを有効にするか無効にするか。詳細についてはインスタンスメタデータサービスの設定を参照してください。

    • [Metadata version]: インスタンスメタデータへのアクセスを有効にする場合、インスタンスメタデータをリクエストするときに インスタンスメタデータサービスバージョン 2 の使用を必須にすることができます。詳細については、「新規インスタンスのインスタンスメタデータオプションの設定」を参照してください。

    • [Metadata token response hop limit]: インスタンスメタデータを有効にする場合、メタデータトークンに許容されるネットワークホップ数を設定できます。詳細についてはインスタンスメタデータサービスの設定を参照してください。

    • [ユーザーデータ]: 起動時にインスタンスを設定するユーザーデータ、または設定スクリプトを実行するユーザーデータを指定できます。詳細については、「起動時に Linux インスタンスでコマンドを実行する」を参照してください。

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

古いコンソール

定義されたパラメータを使用して新しい起動テンプレートを作成するには (コンソールを使用)

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

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

  3. [起動テンプレート名] に、起動テンプレートのわかりやすい名前を入力します。作成時に起動テンプレートにタグを付けるには、[Show Tags]、[タグの追加] の順に選択し、タグキーと値のペアを入力します。

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

  5. [起動テンプレートの内容] で、次の情報を指定します。

    • [AMI ID]: インスタンスを起動する AMI ID。利用可能な AMI すべてを検索するには、[Search for AMI (AMI を検索)] を選択します。一般的に使用される AMI を選択するには、[クイックスタート] を選択します。または、[AWS Marketplace] か [コミュニティ AMI] を選択します。所有している AMI を使用するか 適切な AMI を検索します。

    • [インスタンスタイプ]: インスタンスタイプが、指定した AMI と互換性があることを確認します。詳細については、「インスタンスタイプ」を参照してください。

    • [キーペア名]: インスタンスのキーペア。詳細については、「Amazon EC2 キーペアと Linux インスタンス」を参照してください。

    • [ネットワークタイプ]: 該当する場合は、インスタンスを VPC または EC2-Classic 内のどちらに起動するか。VPC を選択した場合は、[ネットワークインターフェイス] セクションでサブネットを指定します。[Classic] を選択した場合、指定のインスタンスタイプが EC2-Classic でサポートされていることを確認し、インスタンスのアベイラビリティーゾーンを指定します。

    • [セキュリティグループ]: インスタンスに関連付ける 1 つ以上のセキュリティグループ。詳細については、「Linux インスタンスの Amazon EC2 セキュリティグループ」を参照してください。

  6. [ネットワークインターフェイス] で、インスタンスに対して最大 2 つのネットワークインターフェイスを指定できます。

    • [デバイス]: ネットワークインターフェイスのデバイス番号。たとえば、プライマリネットワークインターフェイスなら eth0 です。フィールドに何も指定しない場合、AWS がプライマリネットワークインターフェイスを作成します。

    • [ネットワークインターフェイス]: ネットワークインターフェイス ID。または、空白のままにして AWS により新しいネットワークインターフェイスを作成します。

    • [説明]: (オプション) 新しいネットワークインターフェイスの説明。

    • [サブネット]: 新しいネットワークインターフェイスを作成するサブネット。プライマリネットワークインターフェイス (eth0) の場合、これはインスタンスが起動する先のサブネットです。eth0 に既存のネットワークインターフェイスを入力すると、インスタンスはネットワークインターフェイスが存在するサブネット内で起動します。

    • [自動割り当てパブリック IP]: eth0 のデバイスインデックスを持つネットワークインターフェイスに、自動的にパブリック IP アドレスを割り当てるかどうか。この設定は、1 つの新しいネットワークインターフェイスにのみ有効にすることができます。

    • [プライマリ IP]: サブネットの範囲からの プライマリプライベート IPv4 アドレス。AWS で自分用のプライベート IPv4 を選択するには、空白のままにします。

    • [セカンダリ IP]: サブネットの範囲からのセカンダリプライベート IPv4 アドレス。AWS で選択するには、空白のままにします。

    • (IPv6 のみ) [IPv6 IP]: サブネットの範囲の IPv6 アドレス。

    • [セキュリティ グループ ID]: ネットワークインターフェイスに関連付ける VPC のセキュリティグループの ID。

    • [終了時に削除]: インスタンス終了時にネットワークインターフェイスを削除するかどうか。

    • Elastic Fabric Adapter: ネットワークインターフェイスが Elastic Fabric Adapter かどうかを示します。詳細については、「Elastic Fabric Adapter」を参照してください。

  7. [ストレージ (ボリューム)] で、AMI によって指定されるボリューム以外に、インスタンスにアタッチするボリュームを指定します。

    • [ボリュームタイプ]: インスタンスと関連付けるインスタンスストアまたは Amazon EBS ボリューム。ボリュームの種類は、選択したインスタンスタイプに応じて異なります。詳細については、「Amazon EC2 インスタンスストア」および「Amazon EBS ボリューム」を参照してください。

    • [デバイス名]: ボリュームのデバイス名。

    • [スナップショット]: ボリュームを作成するスナップショットの ID。

    • [サイズ]: Amazon EBS ボリュームの場合は、ストレージサイズ。

    • [ボリュームタイプ]: Amazon EBS ボリュームについては、ボリュームタイプを指定します。詳細については、「Amazon EBS ボリュームの種類」を参照してください。

    • [IOPS]: プロビジョンド IOPS SSD ボリュームタイプの場合、ボリュームがサポートできる 1 秒あたりの入力/出力オペレーションの数 (IOPS)。

    • [終了時に削除]: Amazon EBS ボリュームの場合、インスタンスの終了時にボリュームを削除するかどうか。詳細については、「インスタンスの削除で Amazon EBS ボリュームを保持する」を参照してください。

    • [Encrypted (暗号化)]: インスタンスタイプが EBS 暗号化をサポートしている場合、ボリュームの暗号化を有効にできます。このリージョンでデフォルトで暗号化を有効にした場合、暗号化は有効になります。詳細については、「Amazon EBS 暗号化」を参照してください。

    • [Key (キー)]: EBS 暗号化に使用する CMK。AWS Key Management Service を使用して作成したカスタマーマスターキー (CMK) の ARN を指定できます。CMK を指定する場合は、[Encrypted (暗号化)] を使用して暗号化を有効にする必要もあります。

  8. [Instance tags (インスタンスタグ)] で、キーと値の組み合わせをタグとして指定します。インスタンス、ボリューム、またはその両方にタグ付けできます。

  9. [Advanced Details] で、セクションを開いてフィールドを表示し、インスタンスの追加パラメータを指定します。

    • [購入のオプション]: 購入モデル。[スポットインスタンスのリクエスト] を選択して、オンデマンド価格を上限とするスポット料金で スポットインスタンス をリクエストし、[Customize Spot parameters (スポットパラメータのカスタマイズ)] を選択して、デフォルトの スポットインスタンス 設定を変更します。スポットインスタンス をリクエストしない場合、EC2 はデフォルトで オンデマンドインスタンス を起動します。詳細については、「スポットインスタンス」を参照してください。

    • [IAM インスタンスプロファイル]: インスタンスに関連付ける AWS Identity and Access Management (IAM) インスタンスプロファイル。詳細については、「Amazon EC2 の IAM ロール」を参照してください。

    • [Shutdown behavior]: シャットダウン時にインスタンスを停止するか終了するかどうか。詳細については、「インスタンスによって起動されたシャットダウン動作の変更」を参照してください。

    • [Stop - Hibernate behavior (停止 - 休止動作)]: インスタンスに対して休止を有効にできたかどうか。このフィールドは、休止の前提条件を満たすインスタンスにのみ有効です。詳細については、「Linux インスタンスの休止」を参照してください。

    • [終了保護]: 偶発的な終了を防ぐかどうか。詳細については、「終了保護の有効化」を参照してください。

    • [モニタリング]: Amazon CloudWatch を使用したインスタンスの詳細モニタリングを有効にするかどうか。追加の変更が適用されます。詳細については、「CloudWatch を使用したインスタンスのモニタリング」を参照してください。

    • [T2/T3 Unlimited (T2/T3 無制限)]: アプリケーションがベースラインを越えて必要なだけバーストできるかどうか。このフィールドは、T2 および T3 インスタンスでのみ有効です。追加料金が適用される場合があります。詳細については、「バーストパフォーマンスインスタンス」を参照してください。

    • [プレイスメントグループ名]: インスタンスを起動する先のプレイスメントグループを指定します。すべてのインスタンスタイプがプレイスメントグループ内で起動できるわけではありません。詳細については、「プレイスメントグループ」を参照してください。

    • [EBS 最適化インスタンス]: Amazon EBS I/O 専用の追加容量を提供します。すべてのインスタンスタイプがこの機能をサポートしているわけではなく、追加料金が適用されます。詳細については、「Amazon EBS 最適化インスタンス」を参照してください。

    • [テナンシー]: インスタンスを共有ハードウェア ([共有])、独立した専有ハードウェア ([専有])、あるいは Dedicated Host ([Dedicated host (専有ホスト)])で実行するかを選択します。Dedicated Host でインスタンスを起動する場合は、インスタンスをホストリソースグループ内で起動するかどうかを指定できます。または、特定の Dedicated Host をターゲットとして設定できます。追加料金が適用される場合があります。詳細については、「ハードウェア専有インスタンス」および「Dedicated Hosts」を参照してください。

    • [RAM disk ID]: インスタンスの RAM ディスク。カーネルを指定した場合は、サポートするドライバーとともに特定の RAM ディスクを指定する必要がある可能性があります。準仮想化 (PV) AMI にのみ有効。

    • [Kernel ID]: インスタンスのカーネル。準仮想化 (PV) AMI にのみ有効。

    • [ユーザーデータ]: 起動時にインスタンスを設定するユーザーデータ、または設定スクリプトを実行するユーザーデータを指定できます。詳細については、「起動時に Linux インスタンスでコマンドを実行する」を参照してください。

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

AWS CLI

AWS CLI を使用して起動テンプレートを作成するには

  • create-launch-template コマンドを使用します。次の例では、以下を指定する起動テンプレートを作成します。

    • 起動テンプレートのタグ (purpose=production)

    • 起動するインスタンスタイプ (r4.4xlarge) と AMI (ami-8c1be5f6)

    • 合計 8 vCPU (4 コア x 2 スレッド) のコア数 (4) とコアごとのスレッド数 (2)

    • インスタンスを起動するサブネット (subnet-7b16de0c)

    テンプレートは、パブリック IP アドレスと IPv6 アドレスをインスタンスに割り当て、インスタンスのタグ (Name=webserver) を作成します。

    aws ec2 create-launch-template \ --launch-template-name TemplateForWebServer \ --version-description WebVersion1 \ --tag-specifications 'ResourceType=launch-template,Tags=[{Key=purpose,Value=production}]' \ --launch-template-data file://template-data.json

    次は、template-data.json ファイルの例です。

    { "NetworkInterfaces": [{ "AssociatePublicIpAddress": true, "DeviceIndex": 0, "Ipv6AddressCount": 1, "SubnetId": "subnet-7b16de0c" }], "ImageId": "ami-8c1be5f6", "InstanceType": "r4.4xlarge", "TagSpecifications": [{ "ResourceType": "instance", "Tags": [{ "Key":"Name", "Value":"webserver" }] }], "CpuOptions": { "CoreCount":4, "ThreadsPerCore":2 } }

    出力例を次に示します。

    { "LaunchTemplate": { "LatestVersionNumber": 1, "LaunchTemplateId": "lt-01238c059e3466abc", "LaunchTemplateName": "TemplateForWebServer", "DefaultVersionNumber": 1, "CreatedBy": "arn:aws:iam::123456789012:root", "CreateTime": "2017-11-27T09:13:24.000Z" } }

既存の起動テンプレートから起動テンプレートを作成する

新しいコンソール

コンソールを使用して既存の起動テンプレートから起動テンプレートを作成するには

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

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

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

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

  5. 作成時に起動テンプレートにタグを付けるには、[Template tags] を展開し、[タグの追加] を選択して、タグキーと値のペアを入力します。

  6. [ソーステンプレート] を展開し、[起動テンプレート名] で、新しい起動テンプレートのベースとなる起動テンプレートを選択します。

  7. [ソーステンプレートのバージョン] で、新しい起動テンプレートのベースとなる起動テンプレートのバージョンを選択します。

  8. 必要に応じて起動パラメータを調整し、[起動テンプレートの作成] を選択します。

古いコンソール

コンソールを使用して既存の起動テンプレートから起動テンプレートを作成するには

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

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

  3. [起動テンプレートの作成] を選択します。起動テンプレートの名前、説明、およびタグを指定します。

  4. [ソーステンプレート] で、新しい起動テンプレートのベースとなる起動テンプレートを選択します。

  5. [ソーステンプレートのバージョン] で、新しい起動テンプレートのベースとなる起動テンプレートのバージョンを選択します。

  6. 必要に応じて起動パラメータを調整し、[起動テンプレートの作成] を選択します。

AWS CLI

AWS CLI を使用してインスタンスから起動テンプレートデータを取得するには

  • get-launch-template-data コマンドを使用して、インスタンス ID を指定します。出力をベースとして使用して、新しい起動テンプレートや起動テンプレートのバージョンを作成できます。デフォルトでは、起動テンプレートデータで指定できない最上位レベルの LaunchTemplateData オブジェクトが出力に含まれています。このオブジェクトを除外するには、--query オプションを使用します。

    aws ec2 get-launch-template-data \ --instance-id i-0123d646e8048babc \ --query "LaunchTemplateData"

    出力例を次に示します。

    { "Monitoring": {}, "ImageId": "ami-8c1be5f6", "BlockDeviceMappings": [ { "DeviceName": "/dev/xvda", "Ebs": { "DeleteOnTermination": true } } ], "EbsOptimized": false, "Placement": { "Tenancy": "default", "GroupName": "", "AvailabilityZone": "us-east-1a" }, "InstanceType": "t2.micro", "NetworkInterfaces": [ { "Description": "", "NetworkInterfaceId": "eni-35306abc", "PrivateIpAddresses": [ { "Primary": true, "PrivateIpAddress": "10.0.0.72" } ], "SubnetId": "subnet-7b16de0c", "Groups": [ "sg-7c227019" ], "Ipv6Addresses": [ { "Ipv6Address": "2001:db8:1234:1a00::123" } ], "PrivateIpAddress": "10.0.0.72" } ] }

    出力を次のようにファイルに直接書き込むことができます。

    aws ec2 get-launch-template-data \ --instance-id i-0123d646e8048babc \ --query "LaunchTemplateData" >> instance-data.json

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

コンソールを使用してインスタンスから起動テンプレートを作成するには

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

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

  3. インスタンスを選び、[アクション]、[Create Template From Instance (インスタンスからテンプレートを作成)] の順に選択します。

  4. 名前、説明、およびタグを入力し、必要に応じて起動パラメータを調整します。

    注記

    インスタンスから起動テンプレートを作成するとき、そのインスタンスのネットワークインターフェイス ID と IP アドレスはテンプレートに含まれません。

  5. [Create template from instance (インスタンスからテンプレートを作成)] を選択します。

起動テンプレートのバージョンの管理

特定の起動テンプレートの起動テンプレートのバージョンを作成し、デフォルトバージョンを設定し、不要になったバージョンを削除することができます。

起動テンプレートのバージョンの作成

起動テンプレートのバージョンを作成する際、新しいバージョンに新しい起動パラメータを指定するか、または既存のバージョンをベースとして使用できます。起動パラメーターの詳細については、「起動テンプレートの作成」を参照してください。

新しいコンソール

コンソールを使用して起動テンプレートのバージョンを作成するには

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

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

  3. 起動テンプレートを選択し、[アクション]、[Modify template (Create new version)] の順に選択します。

  4. [テンプレートバージョンの説明] に、起動テンプレートバージョンの説明を入力します。

  5. (オプション) [ソーステンプレート] を展開し、新しい起動テンプレートバージョンのベースとして使用する起動テンプレートのバージョンを選択します。新しい起動テンプレートバージョンは、この起動テンプレートバージョンから起動パラメータを継承します。

  6. 必要に応じて起動パラメータを変更し、[起動テンプレートの作成] を選択します。

古いコンソール

コンソールを使用して起動テンプレートのバージョンを作成するには

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

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

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

  4. [What would you like to do (該当するものを選択してください。)] で、[新規テンプレートバージョンの作成] を選択します。

  5. [起動テンプレート名] で、リストから既存の起動テンプレートの名前を選択します。

  6. [テンプレートバージョンの説明] に、起動テンプレートバージョンの説明を入力します。

  7. (オプション) 新しい起動テンプレートバージョンのベースとして使用する起動テンプレートのバージョン、または別の起動テンプレートのバージョンを選択します。新しい起動テンプレートバージョンは、この起動テンプレートバージョンから起動パラメータを継承します。

  8. 必要に応じて起動パラメータを変更し、[起動テンプレートの作成] を選択します。

AWS CLI

AWS CLIを使用して起動テンプレートのバージョンを作成するには

  • create-launch-template-version コマンドを使用します。新しいバージョンのベースとなるソースバージョンを指定できます。新しいバージョンはこのバージョンの起動パラメータを継承し、--launch-template-data を使用してパラメータを上書きできます。次の例では、起動テンプレートのバージョン 1 に基づいて新しいバージョンを作成し、異なる AMI ID を指定します。

    aws ec2 create-launch-template-version \ --launch-template-id lt-0abcd290751193123 \ --version-description WebVersion2 \ --source-version 1 \ --launch-template-data "ImageId=ami-c998b6b2"

デフォルトの起動テンプレートのバージョンの設定

起動テンプレートにデフォルトバージョンを設定できます。起動テンプレートからインスタンスを起動し、バージョンを指定しない場合、インスタンスはデフォルトバージョンのパラメータを使用して起動されます。

新しいコンソール

コンソールを使用してデフォルトの起動テンプレートのバージョンを設定するには

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

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

  3. 起動テンプレートを選択し、[アクション]、[デフォルトバージョンの設定] を選択します。

  4. [テンプレートバージョン] で、デフォルトバージョンとして設定するバージョン番号を選択し、[デフォルトバージョンとして設定] を選択します。

古いコンソール

コンソールを使用してデフォルトの起動テンプレートのバージョンを設定するには

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

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

  3. 起動テンプレートを選択し、[アクション]、[デフォルトバージョンの設定] を選択します。

  4. [デフォルトバージョン] でバージョン番号を選択し、[デフォルトバージョンとして設定] を選択します。

AWS CLI

AWS CLIを使用してデフォルトの起動テンプレートのバージョンを設定するには

  • modify-launch-template コマンドを使用して、デフォルトとして設定するバージョンを指定します。

    aws ec2 modify-launch-template \ --launch-template-id lt-0abcd290751193123 \ --default-version 2

起動テンプレートのバージョンの表示

コンソールを使用して、選択した起動テンプレートのすべてのバージョンを表示したり、特定のバージョン番号と一致する最新バージョンやデフォルトバージョンの起動テンプレートを一覧表示したりできます。AWS CLI を使用すると、指定した起動テンプレートのすべてのバージョン、各バージョン、特定範囲のバージョンを表示できます。

新しいコンソール

コンソールを使用して起動テンプレートのバージョンを表示するには

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

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

  3. 特定の起動テンプレートのバージョンを表示したり、特定のバージョン番号と一致する最新バージョンやデフォルトバージョンの起動テンプレートを一覧表示したりできます。

    • 起動テンプレートのバージョンを表示するには、起動テンプレートを選択します。[バージョン] タブの [バージョン] から、詳細を表示するバージョンを選択します。

    • 特定のバージョン番号と一致する最新バージョンの起動テンプレートを一覧表示するには、検索バーから [最新バージョン] を選択し、バージョン番号を選択します。

    • 特定のバージョン番号と一致するデフォルトバージョンの起動テンプレートを一覧表示するには、検索バーから [デフォルトバージョン] を選択し、バージョン番号を選択します。

AWS CLI

AWS CLI を使用して起動テンプレートのバージョンを表示するには

  • delete-launch-template-versions コマンドを使用して、バージョン番号を指定します。次の例では、バージョン 1 と 3 を指定しています。

    aws ec2 describe-launch-template-versions \ --launch-template-id lt-0abcd290751193123 \ --versions 1 3

起動テンプレートのバージョンの削除

起動テンプレートのバージョンが不要になった場合には、それを削除することができます。削除後にバージョン番号を置き換えることはできません。起動テンプレートのデフォルトバージョンは削除できません。まずデフォルトとして別のバージョンを割り当てる必要があります。

新しいコンソール

コンソールを使用して起動テンプレートのバージョンを削除するには

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

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

  3. 起動テンプレートを選択し、[アクション]、[テンプレートのバージョンの削除] を選択します。

  4. 削除するバージョンを選択し、[削除] を選択します。

古いコンソール

コンソールを使用して起動テンプレートのバージョンを削除するには

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

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

  3. 起動テンプレートを選択し、[アクション]、[テンプレートのバージョンの削除] を選択します。

  4. 削除するバージョンを選択し、[起動テンプレートのバージョンの削除] を選択します。

AWS CLI

AWS CLIを使用して起動テンプレートのバージョンを削除するには

  • delete-launch-template-versions コマンドを使用して、削除するバージョン番号を指定します。

    aws ec2 delete-launch-template-versions \ --launch-template-id lt-0abcd290751193123 \ --versions 1

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

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

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

新しいコンソール

コンソールを使用して起動テンプレートからインスタンスを起動するには

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

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

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

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

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

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

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

古いコンソール

コンソールを使用して起動テンプレートからインスタンスを起動するには

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

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

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

  4. 使用する起動テンプレートのバージョンを選択します。

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

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

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

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

Amazon EC2 Auto Scaling を使用して起動テンプレートを使用する

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

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

コンソールを使用して Auto Scaling で使用する起動テンプレートを作成するには

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

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

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

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

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

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

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

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

AWS CLIを使用して Amazon EC2 Auto Scaling グループを作成または更新するには

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

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

詳細については、「EC2 フリートを作成する」を参照してください。

EC2 フリート を使用して起動テンプレートを持つ AWS CLI を作成するには

  • create-fleet コマンドを使用します。--launch-template-configs パラメータを使用して、起動テンプレートと起動テンプレートの上書きを指定します。

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

スポットフリート リクエストを作成して、インスタンス設定で起動テンプレートを指定できます。Amazon EC2 は、スポットフリート リクエストを満たす際、関連する起動テンプレートで定義された起動パラメータを使用します。起動テンプレートで指定されたパラメータの一部を上書きすることができます。

詳細については、「スポットフリートリクエストでオプションで指定するパラメータです。」を参照してください。

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

  • request-spot-fleet コマンドを使用します。LaunchTemplateConfigs パラメータを使用して、起動テンプレートと起動テンプレートの上書きを指定します。

起動テンプレートの削除

起動テンプレートが不要になった場合には、それを削除することができます。起動テンプレートを削除すると、すべてのバージョンが削除されます。

起動テンプレートを削除するには (コンソール)

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

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

  3. 起動テンプレートを選択し、[アクション]、[テンプレートの削除] を選択します。

  4. [起動テンプレートの削除] を選択します。

起動テンプレートを削除するには (AWS CLI)

  • delete-launch-template (AWS CLI) コマンドを使用して、起動テンプレートを指定します。

    aws ec2 delete-launch-template --launch-template-id lt-01238c059e3466abc