起動テンプレートの作成 - Amazon Elastic Compute Cloud

起動テンプレートの作成

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

パラメータから起動テンプレートを作成する

起動テンプレートを作成する際には、そのテンプレートの名と、少なくとも 1 つのインスタンス設定パラメーターを指定する必要があります。

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

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

  3. 起動テンプレートのパラメータはグループ化されています。各グループの詳細については、以下のセクションを参照してください。

  4. [概要] パネルから起動テンプレートの設定を確認します。リンクを選択して任意のセクションに移動し、必要な変更を加えることができます。

  5. 起動テンプレートを作成する準備ができたら、[Create launch template] (起動テンプレートの作成) をクリックします。

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

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

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

    注記

    インスタンスの起動時に作成されるリソースにタグを付けるには、[Resource tags] (リソースタグ) のタグを指定する必要があります。詳細については、「リソースタグ」を参照してください。

Amazon マシンイメージ (AMI) には、インスタンスの作成に必要な情報が含まれています。例えば、ある AMI には、ウェブサーバーとして動作するために必要なソフトウェア (Linux、Apache、ウェブサイトなど) が含まれています。

適切な AMI は、次の手順で確認できます。AMI を検索する各オプションで、右上にある [Cancel] (キャンセル) をクリックすると、AMI を選択せずに起動テンプレートに戻ることができます。

検索バー

利用可能なすべての AMI を検索するには、AMI 検索バーにキーワードを入力し、[Enter] キーを押します。AMI を選択するには、[Select] (選択) を選択します。

Recents (最新情報)

最近使用した AMI が表示されます。

[Recently launched] (最近の起動) または [Currently in use] (現在使用中) を選択し、[Amazon Machine Image (AMI)] (Amazon マシンイメージ (AMI)) から AMI を選択します。

マイ AMI

お客様が所有しているプライベート AMI、またはお客様が共有しているプライベート AMI。

[Owned by me] (ユーザーによる所有) または [Shared with me] (共有されている) を選択し、[Amazon Machine Image (AMI)] (Amazon マシンイメージ (AMI)) から AMI を選択します。

クイックスタート

AMI はオペレーティングシステム (OS) ごとにグループ化されているため、すぐに作業を開始できます。

まず、必要な OS を選択し、次に [Amazon Machine Image (AMI)] (Amazon マシンイメージ (AMI)) で、AMI を選択します。無料利用枠の対象となる AMI を選択するには、AMI が [Free tier eligible] (無料利用枠の対象) とマークされていることを確認してください。

Browse more AMIs (AMI をさらに表示する)

AMI カタログ全体を表示するには、[Browse more AMIs] (AMI をさらに表示する) を選択します。

  • 利用可能な AMI すべてを検索するには、検索バーにキーワードを入力し、[Enter] キーを押します。

  • Systems Manager パラメータを使用して AMI を検索するには、検索バーの右側にある矢印ボタンを選択し、[Search by Systems Manager parameter] (Systems Manager パラメータで検索) を選択します。詳細については、「Systems Manager パラメータを使用した AMI の検索」を参照してください。

  • 起動テンプレートからインスタンスが起動されたときに AMI に変換される Systems Manager パラメータを指定するには、検索バーの右側にある矢印を選択し、[カスタム値/Systems Manager パラメータを指定する] を選択します。詳細については、「AMI ID のかわりに Systems Manager パラメータを使用する」を参照してください。

  • カテゴリで検索するには、[Quickstart AMIs] (AMI のクイックスタート)、[My AMIs] (私の AMI)、[AWS Marketplace AMIs]、または [Community AMIs] (コミュニティ AMI) を選択します。

    AWS Marketplace は、AMI を含む AWS 上で動作するソフトウェアを購入することができるオンラインストアです。AWS Marketplace からのインスタンスの起動の詳細については、AWS Marketplace インスタンスの起動 を参照してください。[Community AMIs] (コミュニティ AMI) では、AWS のコミュニティのメンバーが他の人が利用可能とした AMI を見つけることができます。Amazon または検証済みパートナーからの AMI は、[Verified provider] (検証済みプロバイダー) のマークが付されます。

  • AMI のリストをフィルターするには、画面左の [Refine results] (結果を絞り込む) で 1 つまたは複数のチェックボックスをオンにします。フィルターオプションは、選択した検索カテゴリに応じて異なります。

  • 各 AMI の [Root device type] を確認します。必要なタイプはどの AMI かに注意してください。タイプは [ebs] (Amazon EBS でバックアップ) または [instance-store] (インスタンスストアでバックアップ) です。詳細については、ルートデバイスのストレージ を参照してください。

  • 各 AMI の [Virtualization type] を確認します。必要なタイプはどの AMI かに注意してください。タイプは [hvm] または [paravirtual] です。例えば、一部のインスタンスタイプには HVM が必要です。詳細については、「Linux AMI 仮想化タイプ」を参照してください。

  • 各 AMI に記載された [Boot Mode] (起動モード) を確認します。必要なブートモードがどの AMI を使用するのか注意してください。必要なブートモードは [legacy-bios][uefi]、または [uefi-preferred] です。詳細については、「ブートモード」を参照してください。

  • ニーズを満たす AMI を選択し、[Select] を選択します。

インスタンスタイプは、インスタンスのハードウェア設定とサイズを定義します。インスタンスタイプが大きくなると、CPU およびメモリも増えます。詳細については、「Amazon EC2 インスタンスタイプ」を参照してください。

[Instance type] (インスタンスタイプ) では、インスタンスタイプを選択します。あるいは、インスタンス属性を指定することで、それらの属性を持つインスタンスタイプを Amazon EC2 により識別させることも可能です。

注記

インスタンス属性の指定がサポートされるのは、Auto Scaling グループ、EC2 フリート、およびスポットフリートを使用してインスタンスを起動する場合のみです。詳細については、「属性ベースのインスタンスタイプの選択を使用して Auto Scaling グループを作成する」、「EC2 フリートの属性ベースのインスタンスタイプの選択」、および「スポットフリートの属性ベースのインスタンスタイプの選択」を参照してください。

インスタンス起動ウィザードまたは RunInstances API で起動テンプレートを使用する予定がある場合は、インスタンスタイプを選択する必要があります。

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

  • [Compare instance types] (インスタンスタイプの比較): vCPU の数、アーキテクチャ、メモリ量 (GiB)、ストレージ量 (GB)、ストレージタイプ、ネットワークパフォーマンスなどの属性ごとにさまざまなインスタンスタイプを比較できます。

  • [アドバイスの取得]: インスタンスタイプに関するガイダンスやアドバイスは、Amazon Q EC2 インスタンスタイプセレクターから入手できます。詳細については、「新しいワークロードのインスタンスタイプに関する推奨事項の取得」を参照してください。

  • [Advanced] (アドバンスト): インスタンス属性を指定し、Amazon EC2 がそれらの属性を持つインスタンスタイプを識別できるようにするには、[Advanced] (アドバンスト) を選択してから、[Specify instance type attributes] (インスタンスタイプの属性を指定する) を選択します。

    • [Number of vCPUs] (vCPU の数): コンピューティングの要件に応じて、vCPU の最小数と最大数を入力します。制限がないことを示すには、最小値に 0 を入力し、最大値を空白のままにします。

    • [Amount of memory (MiB)] (メモリの量 (MiB)): コンピューティング要件に対応する最小メモリ量と最大メモリ量を MiB 単位で入力します。制限がないことを示すには、最小値に 0 を入力し、最大値を空白のままにします。

    • コンピューティング要件をより詳細に表現するには、[Optional instance type attributes] (オプションのインスタンスタイプ属性) を展開し、[Add attribute] (属性の追加) を選択します。各属性の詳細については、「Amazon EC2 API リファレンス」の「InstanceRequirementsRequest」を参照してください。

    • [Resulting instance types] (インスタンスタイプの結果): 指定した属性に一致するインスタンスタイプをプレビューできます。インスタンスタイプを除外するには、[Add attribute] (属性の追加) を選択し、[Attribute] (属性) リストから [Excluded instance types] (インスタンスタイプの除外) を選択します。[Attribute value] (属性値) リストから、除外したいインスタンスタイプを選択します。

インスタンスのキーペア。

[Key pair name] (キーペア名) には、既存のキーペアを選択するか、[Create new key pair] (新しいキーペアを作成) を選択して新しいキーペアを作成します。詳細については、Amazon EC2 のキーペアと Amazon EC2 インスタンス を参照してください。

必要に応じて、ネットワーク設定を設定します。

  • [サブネット]: インスタンスは、アベイラビリティーゾーン、ローカルゾーン、Wavelength Zone、Outpost のいずれかに関連付けられたサブネットで起動できます。

    アベイラビリティーゾーンでインスタンスを起動するには、インスタンスを起動するサブネットを選択します。新しいサブネットを作成するには、[Create new subnet] を選択して Amazon VPC コンソールに移動します。終了したらウィザードに戻り、[Refresh] (更新) アイコンを選択して一覧にサブネットを読み込みます。

    ローカルゾーンでインスタンスを起動するには、ローカルゾーン内に作成したサブネットを選択します。

    アウトポストでインスタンスを起動するには、アウトポストに関連付けられた VPC 内のサブネットを選択します。

  • [Firewall (security groups)] (ファイアウォール (セキュリティグループ)): 1 つもしくは複数のセキュリティグループを使用して、インスタンスのファイアウォールルールを定義します。このルールでは、どの着信ネットワークトラフィックをインスタンスに配信するかを指定します。他のトラフィックはすべて無視されます。セキュリティグループの詳細については、Linux インスタンス用の Amazon EC2 Amazon セキュリティグループ を参照してください。

    ネットワークインターフェイスを追加する場合、そのネットワークインターフェイスにも、同じセキュリティグループを指定する必要があります。

    次のようにセキュリティグループを選択または作成します。

    • 既存のセキュリティグループを選択するには、[Select existing security group] (既存のセキュリティグループを選択) を選択し、[Common security groups] (共通セキュリティグループ) からセキュリティグループを選択します。

    • 新しいセキュリティグループを作成するには、[Create security group] (セキュリティグループの作成) を選択します。

      ニーズに応じたルールを追加できます。例えば、ウェブサーバーとしてインスタンスを使用する場合には、ポート 80 (HTTP) とポート 443 (HTTPS) を開いて、インターネットトラフィックを許可します。

      ルールを追加するには、[Add security group rule] (セキュリティグループルールの追加) を選択します。[Type] (タイプ) で、ネットワークトラフィックタイプを選択します。[Protocol] (プロトコル) フィールドには、ネットワークトラフィックの送信を可能とするため、プロトコルが自動的に入力されます。[Source type] (送信元タイプ) で送信元のタイプを選択します。[My IP] (マイ IP) を選択し、起動テンプレートによりコンピュータのパブリック IP アドレスを追加させます。ただし、ISP 経由で、またはファイアウォールの内側から静的な IP アドレスなしで接続している場合は、クライアントコンピュータで使用されている IP アドレスの範囲を見つける必要があります。

      警告

      すべての IP アドレス (0.0.0.0/0) から SSH や RDP でインスタンスにアクセスできるようにするルールは、テスト用のインスタンスを短時間で立ち上げ、すぐに停止または終了させる場合には許容されますが、本番環境では危険です。特定の IP アドレスまたは特定のアドレス範囲にのみ、インスタンスへのアクセスを限定してください。

  • 高度なネットワーク設定

    ネットワークインターフェイス

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

    • [Network Interface] (ネットワークインターフェイス): [New interface] (新しいインターフェイス) を選択して Amazon EC2 によって新しいインターフェイスを作成するか、既存の使用できるネットワークインターフェイスを選択します。

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

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

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

    • [Auto-assign Public IP] (自動割り当てパブリック IP): インスタンスがパブリック IPv4 アドレスを受け取るかどうかを指定します。デフォルトで、デフォルトのサブネットにあるインスタンスはパブリック IPv4 アドレスを受け取り、デフォルト以外のサブネットにあるインスタンスは受け取りません。[Enable] または [Disable] を選択すると、これがサブネットのデフォルト設定より優先されます。詳細については、パブリック IPv4 アドレス を参照してください。

    • [プライマリ IP]: サブネットの範囲からの プライマリプライベート IPv4 アドレス。Amazon EC2 によって自動的にプライベート IPv4 アドレスが選択されるようにするには、空白のままにします。

    • [Secondary IP] (セカンダリ IP): サブネットの範囲内にある 1 つまたは複数の追加のプライベート IPv4 アドレス。[Manually assign] (手動割り当て) を選択し、IP アドレスを入力します。別の IP アドレスを追加するには、[Add IP] (IP の追加) を選択します。または、Amazon EC2 により自動で割り当てるようにするには、[Automatically assign] (自動割り当て) を選択し、追加する IP アドレスの数を入力します。

    • (IPv6 のみ) [IPv6 IP]: サブネットの範囲の IPv6 アドレス。[Manually assign] (手動割り当て) を選択し、IP アドレスを入力します。別の IP アドレスを追加するには、[Add IP] (IP の追加) を選択します。または、Amazon EC2 により自動で割り当てるようにするには、[Automatically assign] (自動割り当て) を選択し、追加する IP アドレスの数を入力します。

    • [IPv4 Prefixes] (IPv4 プレフィクス): ネットワークインターフェイスの IPv4 プレフィクス。

    • [IPv6 Prefixes] (IPv6 プレフィクス): ネットワークインターフェイスの IPv6 プレフィクス。

    • (オプション)プライマリ IPv6 IP の割り当て: デュアルスタックまたは IPv6 専用のサブネットでインスタンスを起動する場合、[プライマリ IPv6 IP を割り当て]を選択できます。  プライマリ IPv6 アドレスを割り当てると、インスタンスまたは ENI へのトラフィックの中断を回避できます。このインスタンスが IPv6 アドレスが変更されないことに依存する場合、[有効化] を選択します。インスタンスを起動すると、AWS ではアタッチされている ENI に関連付けられた IPv6 アドレスがインスタンスにプライマリ IPv6 アドレスとして自動的に割り当てられます。IPv6 GUA アドレスをプライマリ IPv6 として有効にすると、無効にすることはできません。IPv6 GUA アドレスをプライマリ IPv6 にすることを有効にすると、インスタンスが終了するか、ネットワークインターフェースがデタッチされるまで、最初の IPv6 GUA がプライマリ IPv6 アドレスになります。インスタンスに複数の IPv6 アドレスがアタッチされていて、プライマリ IPv6 アドレスを有効にすると、ENI に関連付けられた最初の IPv6 GUA アドレスがプライマリ IPv6 アドレスになります。

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

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

    • ネットワークカードインデックス: ネットワークカードのインデックス。プライマリネットワークインターフェイスは、ネットワークカードインデックス 0 に割り当てる必要があります。インスタンスタイプによっては、複数のネットワークカードがサポートされているものもあります。

    • ENA Express: ENA Express は、AWS Scalable Reliable Datagram (SRD) テクノロジーを搭載しています。SRD テクノロジーは、パケットスプレーメカニズムを使用して負荷を分散し、ネットワークの混雑を回避します。ENA Express を有効にすると、サポートされているインスタンスは、可能な場合は通常の TCP トラフィックに加えて SRD を使用して通信できるようになります。[有効化] または [無効化] を選択しない限り、起動テンプレートにはインスタンスの ENA Express 設定は含まれません。

    • [ENA Express UDP]: ENA Express を有効にしている場合は、オプションで UDP トラフィックに使用できます。[有効化] または [無効化] を選択しない限り、起動テンプレートにはインスタンスの ENA Express 設定は含まれません。

    さらにネットワークインターフェイスを追加するには、[Add network interface] (ネットワークインターフェイスを追加) を選択します。追加できるネットワークインターフェイスの数は、選択したインスタンスタイプでサポートされている数によって異なります。追加のネットワークインターフェイスは、同じ VPC の別のサブネット、または所有している別の VPC のサブネットに配置できます (サブネットがインスタンスと同じアベイラビリティーゾーンにある場合)。別の VPC でサブネットを選択すると、追加したネットワークインターフェイスの横に [マルチ VPC] ラベルが表示されます。これにより、ネットワークとセキュリティの設定が異なる VPC にまたがるマルチホームインスタンスを作成できます。別の VPC から追加の ENI をアタッチする場合は、その VPC から ENI のセキュリティグループを選択する必要があります。

    詳細については、「Elastic Network Interface」を参照してください。複数のネットワークインターフェイスを指定した場合、インスタンスはパブリック IPv4 アドレスを受け取ることはできません。さらに、eth0 に既存のネットワークインターフェイスを指定した場合、[Auto-assign Public IP] を使用してサブネットのパブリック IPv4 設定をオーバーライドする操作は禁止されます。詳細については、インスタンス起動時のパブリック IPv4 アドレスの割り当て を参照してください。

起動テンプレートのために AMI を指定した場合、その AMI には、ルートボリュームである [Volume 1 (AMI Root)] (ボリューム 1 (AMI Root) を含む、1 つまたは複数のストレージボリュームが含まれます。インスタンスにアタッチする追加のボリュームを指定できます。

[Simple] (シンプル) または [Advanced] (アドバンスト) ビューを使用できます。[Simple] (シンプル) ビューでは、ボリュームのサイズとタイプを指定します。すべてのボリュームパラメータを指定するには、[Advanced] (アドバンスト) ビュー (カードの右上) を選択します。

新しいボリュームを追加するには、[Add new volume] を選択します。

[Advanced] (アドバンスト) ビューでは、各ボリュームを以下のように設定できます。

  • [Storage type] (ストレージタイプ): インスタンスと関連付けるボリュームのタイプ (EBS またはエフェメラル) です。インスタンスストア (エフェメラル) ボリュームタイプは、それをサポートするインスタンスタイプを選択した場合にのみ使用できます。詳細については、「Amazon EC2 インスタンスストア」および「Amazon EBS ボリューム」を参照してください。

  • [Device name] (デバイス名): ボリュームで利用できるデバイス名の一覧から選択します。

  • [Snapshot] (スナップショット): ボリュームの作成元となるスナップショットを選択します。[Snapshot] (スナップショット) フィールドにテキストを入力して、利用できる共有スナップショットとパブリックスナップショットを検索することもできます。

  • [Size (GiB)] (サイズ (GiB)): EBS ボリュームの場合、ストレージサイズを指定できます。無料利用枠の対象となる AMI とインスタンスを選択した場合でも、無料利用枠内に収めるには、合計ストレージを 30 GiB 以下に維持する必要があることに注意してください。

  • [Volume type] (ボリュームタイプ): EBS ボリュームの場合、ボリュームタイプを選択します。詳細については、「Amazon EBS ユーザーガイド」の「Amazon EBS ボリュームの種類」を参照してください。

  • [IOPS]: プロビジョンド IOPS SSD (io1io2) あるいは汎用 SSD (gp3) ボリュームタイプを選択した場合、そのボリュームでサポートが可能な 1 秒あたりの I/O オペレーション数 (IOPS) を入力します。これは、io1、io2、gp3 ボリュームに必要です。gp2、st1、sc1、またはスタンダードボリュームではサポートされていません。起動テンプレートでこのパラメータを省略した場合は、起動テンプレートからインスタンスを起動するときに、パラメータの値を指定する必要があります。

  • [Delete on termination] (終了時に削除): Amazon EBS ボリュームで、インスタンスの終了時にボリュームを削除する場合は [Yes] (はい) を選択し、ボリュームを保持する場合は [No] (いいえ) を選択します。詳細については、インスタンスの終了時にデータを保持する を参照してください。

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

  • [KMS Key] (KMS キー): [Encrypted] (暗号化) で [Yes] (はい) を選択し、ボリュームで暗号化を使用する場合には、カスタマーマネージド型キーを選択する必要があります。このリージョンでデフォルトの暗号化を有効にした場合は、自動的にデフォルトのカスタマーマネージド型キーが選択されます。別のキーを選択するか、作成したカスタマーマネージド型キーの ARN を指定できます。

インスタンスの起動時に作成されるリソースにタグを付けるには、[Resource tags] (リソースタグ) で、[Add tag] (タグの追加) を選択し、タグのキーと値のペアを入力します。[Resource types] (リソースタイプ) で、作成時にタグを付けるリソースを指定します。すべてのリソースに同じタグを指定することも、リソースごとに異なるタグを指定することもできます。追加するタグごとに [Add tag] (タグを追加) を選択します。

起動テンプレートの使用時に作成される次のリソースにタグを指定できます。

  • インスタンス

  • ボリューム

  • スポットインスタンスリクエスト

  • ネットワークインターフェイス

注記

起動テンプレート自体にタグを付けるには、[Template tags] (テンプレートタグ) でタグを指定する必要があります。詳細については、「起動テンプレートの名前、説明およびタグ」を参照してください。

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

  • [Purchasing option] (購入オプション): [Request Spot Instances] (スポットインスタンスのリクエスト) を選択して、オンデマンド価格を上限とするスポット料金でスポットインスタンスをリクエストし、[Customize] (カスタマイズ) を選択して、スポットインスタンスのデフォルト設定を変更します。上限料金を設定し (非推奨)、リクエストタイプ、リクエスト期間、中断動作を変更できます。スポットインスタンスをリクエストしない場合、EC2 はデフォルトでオンデマンドインスタンスを起動します。詳細については、スポットインスタンス を参照してください。

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

  • [Hostname type] (ホスト名タイプ): インスタンスのゲスト OS ホスト名をリソース名または IP 名に含めるかどうかを選択します。詳細については、Amazon EC2 インスタンスのホスト名タイプ を参照してください。

  • [DNS Hostname] (DNS ホスト名): リソース名または IP 名への DNS クエリが、([Hostname type] (ホスト名タイプ) に何を選択したのかによって) IPv4 アドレス (A レコード)、IPv6 アドレス (AAAA レコード)、またはその両方で応答するかどうかを決定します。詳細については、Amazon EC2 インスタンスのホスト名タイプ を参照してください。

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

  • [Stop - Hibernate behavior] (停止 – 休止動作): 休止を有効にするには、[Enable] (有効) を選択します。このフィールドは、休止の前提条件を満たすインスタンスにのみ有効です。詳細については、Amazon EC2 インスタンスの休止 を参照してください。

  • [Termination protection] (終了の保護): 偶発的な終了を防ぐには、[Enable] (有効) を選択します。詳細については、「終了保護を有効化する」を参照してください。

  • 停止保護: 偶発的な停止を防ぐには、[Enable] (有効化) を選択します。詳細については、「停止保護を有効にします」を参照してください。

  • [Detailed CloudWatch monitoring] (詳細な CloudWatch モニタリング): Amazon CloudWatch によるインスタンスの詳細モニタリングを許可する場合、[Enable] (有効) を選択します。別途 料金がかかります。詳細については、「CloudWatch を使用したインスタンスのモニタリング」を参照してください。

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

    注記

    2023 年 4 月 15 日以降、AWS では Amazon Elastic Inference (EI) への新規顧客のオンボーディングは行わず、既存の顧客がより価格とパフォーマンスの良いオプションにワークロードを移行できるよう支援します。2023 年 4 月 15 日以降、新規顧客は Amazon SageMaker、Amazon ECS、または Amazon EC2 の Amazon EI アクセラレータを使用してインスタンスを起動できなくなります。ただし、過去 30 日間に Amazon EI を少なくとも 1 回使用した顧客は、現在の顧客と見なされ、サービスを引き続き使用できます。

  • [Credit specification] (クレジット指定): アプリケーションがベースラインを越えて必要なだけバーストできることを有効にするには、[Unlimited] (無制限) を選択します。このフィールドは、T インスタンスでのみ有効です。追加料金が適用される場合があります。詳細については、バーストパフォーマンスインスタンス を参照してください。

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

  • [EBS-optimized instance] (EBS 最適化インスタンス): Amazon EBS I/O 専用の追加キャパシティーを利用する場合は、[Enable] (有効) を選択します。すべてのインスタンスタイプがこの機能をサポートしているわけではありません。別途 料金がかかります。詳細については、「Amazon EBS 最適化インスタンスを使用する」を参照してください。

  • [Capacity Reservation] (キャパシティ予約): インスタンスを起動するキャパシティ予約を指定します。任意のキャパシティ予約 ([Open] (オープン))、特定のキャパシティ予約 ([Target by ID] (ID を対象とする))、またはキャパシティ予約グループ ([Target by group] (グループを対象とする)) のいずれかから選択します。キャパシティ予約を使用しないように指定するには、[None] (なし) を選択します。詳細については、既存の キャパシティーの予約 へのインスタンスの起動 を参照してください。

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

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

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

  • [Nitro Enclaves]: Amazon EC2 インスタンスから、エンクレーブと呼ばれる分離された実行環境を作成することを許可します。AWS Nitro Enclaves のインスタンスを有効にするには、[Enable] (有効) を選択します。詳細については、「AWS Nitro Enclaves ユーザーガイド」の「AWS Nitro Enclaves とは」を参照してください。

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

  • [Specify CPU options] (CPU オプションを指定): 起動中に [Specify CPU options] をクリックすることで、vCPU 数をカスタムで指定します。CPU コアの数とコアごとのスレッド数を設定します。詳細については、「CPU オプションの最適化」を参照してください。

  • [メタデータのトランスポート]: インスタンスの IP アドレスのタイプ (IPv4、IPv6、または IPv4 と IPv6) に基づいて、この EC2 インスタンスで使用できるインスタンスメタデータサービス (IMDS) へのアクセス方法を有効または無効にすることができます。詳細については、「インスタンスメタデータの取得」を参照してください。

  • [メタデータトークンの応答ホップ制限]: インスタンスメタデータへのアクセスを有効または無効にできます。詳細については、「新規インスタンスのインスタンスメタデータオプションの設定」を参照してください。

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

  • [メタデータレスポンスのホップ制限]: IMDS を有効にする場合、メタデータトークンに許容されるネットワークホップ数を設定できます。詳細については、「新規インスタンスのインスタンスメタデータオプションの設定」を参照してください。

  • [Allow tags in metadata] (メタデータ内のタグを許可する): [Enable] (有効) を選択した場合、インスタンスはメタデータ内のすべてのタグへのアクセスを許可します。テンプレートにこの設定を含めない場合、インスタンスのメタデータに含まれるタグへのアクセスは、デフォルトで無効になります。詳細については、インスタンスメタデータのタグへのアクセスを許可する を参照してください。

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

次の例では、create-launch-template コマンドを使用して、指定された名前とインスタンス設定を使用して起動テンプレートを作成します。

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

インスタンス設定の起動テンプレートデータを指定する JSON の例を以下に示します。コマンド例に示すように、JSON をファイルに保存して --launch-template-data パラメータに含めます。

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

次の例では、New-EC2LaunchTemplate cmdlet を使用して、指定された名前とインスタンス設定で起動テンプレートを作成します。

$launchTemplateData = [Amazon.EC2.Model.RequestLaunchTemplateData]@{ ImageId = 'ami-8c1be5f6' InstanceType = 'r4.4xlarge' NetworkInterfaces = @( [Amazon.EC2.Model.LaunchTemplateInstanceNetworkInterfaceSpecificationRequest]@{ AssociatePublicIpAddress = $true DeviceIndex = 0 Ipv6AddressCount = 1 SubnetId = 'subnet-7b16de0c' } ) TagSpecifications = @( [Amazon.EC2.Model.LaunchTemplateTagSpecificationRequest]@{ ResourceType = 'instance' Tags = [Amazon.EC2.Model.Tag]@{ Key = 'Name' Value = 'webserver' } } ) CpuOptions = [Amazon.EC2.Model.LaunchTemplateCpuOptionsRequest]@{ CoreCount = 4 ThreadsPerCore = 2 } } $tagSpecificationData = [Amazon.EC2.Model.TagSpecification]@{ ResourceType = 'launch-template' Tags = [Amazon.EC2.Model.Tag]@{ Key = 'purpose' Value = 'production' } } New-EC2LaunchTemplate -LaunchTemplateName 'TemplateForWebServer' -VersionDescription 'WebVersion1' -LaunchTemplateData $launchTemplateData -TagSpecification $tagSpecificationData

以下は出力例です。

CreatedBy : arn:aws:iam::123456789012:root CreateTime : 9/19/2023 16:57:55 DefaultVersionNumber : 1 LatestVersionNumber : 1 LaunchTemplateId : lt-01238c059eEXAMPLE LaunchTemplateName : TemplateForWebServer Tags : {purpose}

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

既存の起動テンプレートをクローンして、新しい起動テンプレートを作成するようにパラメータを調整できます。ただし、これを行えるのは、Amazon EC2 コンソールを使用している場合のみです。AWS CLI は、テンプレートのクローンをサポートしていません。

Console
既存の起動テンプレートから起動テンプレートを作成するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

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

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

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

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

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

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

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

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

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

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

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

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

    注記

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

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

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
起動テンプレートデータを使用して起動テンプレートを作成するには

AMI ID のかわりに Systems Manager パラメータを使用する

起動テンプレートで AMI ID を指定する代わりに、AWS Systems Manager パラメータを指定できます。AMI ID が変更された場合は、Systems Manager パラメータストアの Systems Manager パラメータを更新することで、AMI ID を一箇所で更新できます。パラメータは、他の AWS アカウント と共有することもできます。AMI パラメータは、1 つのアカウントで一元的に保存および管理し、これを参照する必要がある他のすべてのアカウントに共有することができます。Systems Manager パラメータを使用すると、すべての起動テンプレートを 1 回のアクションで更新できます。

Systems Manager パラメータは、Systems Manager パラメータストアで作成できるユーザー定義のキーと値のペアです。パラメータストアは、アプリケーションの設定値を保存するための一元的な場所を提供します。詳細については、「AWS Systems Manager ユーザーガイド」の「AWS Systems Manager パラメータストア」を参照してください。

次の図では、golden-ami パラメータは最初にパラメータストア内の元の AMI ami-aabbccddeeffgghhi にマッピングされます。起動テンプレートの AMI ID の値は golden-ami です。この起動テンプレートを使用してインスタンスを起動するとき、AMI ID は ami-aabbccddeeffgghhi に変換されます。その後、AMI が更新され、新しい AMI ID が取得されます。パラメータストアでは、golden-ami パラメータが新しい ami-00112233445566778 パラメータにマッピングされます。起動テンプレートは変更されずに引き継がれます。この起動テンプレートを使用してインスタンスを起動するとき、AMI ID は新しい ami-00112233445566778 に変換されます。

パラメータストアの Systems Manager パラメータを使用して起動テンプレートを更新します。

AMI ID の Systems Manager パラメータ形式

起動テンプレートを AMI ID の代わりに使用する場合、ユーザー定義の Systems Manager パラメータを次の形式に従う必要があります。

  • パラメータ型: String

  • パラメータデータ型: aws:ec2:image - これにより、パラメータストアは入力した値が AMI ID の適切な形式であることを検証します。

AMI ID での有効なパラメータの作成方法については、「AWS Systems Manager ユーザーガイド」の「Systems Manager パラメータを作成する」を参照してください。

起動テンプレートの Systems Manager パラメータ形式

起動テンプレートの AMI ID の代わりに Systems Manager パラメータを使用するには、起動テンプレートでパラメータを指定するときに次のいずれかの形式を使用する必要があります。

パブリックパラメータを参照するには:

  • resolve:ssm:public-parameter

同じアカウントに保存されているパラメータを参照するには:

  • resolve:ssm:parameter-name

  • resolve:ssm:parameter-name:version-number - バージョン番号自体がデフォルトのラベルです

  • resolve:ssm:parameter-name:label

別の AWS アカウント から共有されたパラメータを参照するには:

  • resolve:ssm:parameter-ARN

  • resolve:ssm:parameter-ARN:version-number

  • resolve:ssm:parameter-ARN:label

パラメータバージョン

Systems Manager パラメータはバージョニングされたリソースです。パラメータを更新すると、そのパラメータの新しいバージョンが連続して作成されます。Systems Manager は、特定のバージョンのパラメータにマッピングできるパラメータラベルをサポートしています。

例えば、golden-ami パラメータには、12 および 3 の 3 つのバージョンがあります。バージョン 2 にマッピングするパラメータラベル beta と、バージョン 3 にマップするパラメータラベル prod を作成できます。

起動テンプレートでは、次のいずれかの形式を使用して golden-ami パラメータのバージョン 3 を指定できます。

  • resolve:ssm:golden-ami:3

  • resolve:ssm:golden-ami:prod

バージョンまたはラベルの指定は任意です。バージョンやパラメータを指定しない場合は最新バージョンのパラメータが使用されます。

起動テンプレートの Systems Manager パラメータを指定する

起動テンプレートまたは起動テンプレートの新しいバージョンを作成するときに、起動テンプレートで AMI ID の代わりに Systems Manager パラメータを指定できます。

Console
起動テンプレートの Systems Manager パラメータを指定するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

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

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

  4. [Application and OS Images (Amazon Machine Image)] (アプリケーションおよび OS イメージ (Amazon マシンイメージ)) で、[Browse more AMIs] (その他の AMI を閲覧する) を選択します。

  5. 検索バーの右側にある矢印ボタンを選択したら、[カスタム値を指定 / Systems Manager パラメータ] を選択します。

  6. [カスタム値または Systems Manager のパラメータを指定] ダイアログボックスで、次の手順を実行します。

    1. [AMI ID または Systems Manager パラメータ文字列] の場合、次の形式のいずれかを使用して Systems Manager パラメータ名を入力します。

      パブリックパラメータを参照するには:

      • resolve:ssm:public-parameter

      同じアカウントに保存されているパラメータを参照するには:

      • resolve:ssm:parameter-name

      • resolve:ssm:parameter-name:version-number

      • resolve:ssm:parameter-name:label

      別の AWS アカウント から共有されたパラメータを参照するには:

      • resolve:ssm:parameter-ARN

      • resolve:ssm:parameter-ARN:version-number

      • resolve:ssm:parameter-ARN:label

    2. [Save] を選択します。

  7. 必要に応じて他の起動テンプレートパラメータを指定し、その後に [起動テンプレートの作成] を選択します。

詳細については、「パラメータから起動テンプレートを作成する」を参照してください。

AWS CLI
起動テンプレートの Systems Manager パラメータを指定するには
  • create-launch-template コマンドを使用して、起動テンプレートを作成します。使用する AMI を指定するには、次のいずれかの形式を使用して Systems Manager パラメータ名を入力します。

    パブリックパラメータを参照するには:

    • resolve:ssm:public-parameter

    同じアカウントに保存されているパラメータを参照するには:

    • resolve:ssm:parameter-name

    • resolve:ssm:parameter-name:version-number

    • resolve:ssm:parameter-name:label

    別の AWS アカウント から共有されたパラメータを参照するには:

    • resolve:ssm:parameter-ARN

    • resolve:ssm:parameter-ARN:version-number

    • resolve:ssm:parameter-ARN:label

    次の例では、以下を指定する起動テンプレートを作成します。

    • 起動テンプレートの名前 (TemplateForWebServer)

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

    • JSON ファイルで指定された、インスタンス設定のデータ。

      • 使用する AMI (resolve:ssm:golden-ami)

      • 起動するインスタンスタイプ (m5.4xlarge)

      • インスタンスに付けるタグ (Name=webserver)

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

    インスタンスを設定するための起動テンプレートデータを含む、JSON ファイルの例を以下に示します。ImageId の値は Systems Manager パラメータ名で、必要な形式 resolve:ssm:golden-ami で入力されます。

    {"LaunchTemplateData": { "ImageId": "resolve:ssm:golden-ami", "InstanceType": "m5.4xlarge", "TagSpecifications": [{ "ResourceType": "instance", "Tags": [{ "Key":"Name", "Value":"webserver" }] }] } }

起動テンプレートが正しい AMI ID を取得していることを確認する

Systems Manager のパラメータを実際の AMI ID に変換するには

describe-launch-template-versions コマンドを使用して、--resolve-alias パラメータを含めます。

aws ec2 describe-launch-template-versions \ --launch-template-name my-launch-template \ --versions $Default \ --resolve-alias

レスポンスには、ImageId の AMI ID が含まれます。この例では、この起動テンプレートを使用してインスタンスを起動すると、AMI ID は ami-0ac394d6a3example に変換されます。

{ "LaunchTemplateVersions": [ { "LaunchTemplateId": "lt-089c023a30example", "LaunchTemplateName": "my-launch-template", "VersionNumber": 1, "CreateTime": "2022-12-28T19:52:27.000Z", "CreatedBy": "arn:aws:iam::123456789012:user/Bob", "DefaultVersion": true, "LaunchTemplateData": { "ImageId": "ami-0ac394d6a3example", "InstanceType": "t3.micro", } } ] }

Systems Manager パラメータの使用に関する詳細は、Systems Manager のドキュメントの次のリファレンス資料を参照してください。

  • Amazon EC2 でサポートされている AMI パブリックパラメータを検索する方法については、「Calling AMI public parameters」を参照してください。

  • パラメータを他の AWS アカウントと共有する方法、または AWS Organizations を介して共有する方法については、「Working with shared parameters」を参照してください。

  • パラメータが正常に作成されたかどうかをモニタリングする方法については、「Native parameter support for Amazon Machine Image IDs」を参照してください。

制限事項

  • 現在、EC2 フリートとスポットフリートは、AMI ID の代わりに Systems Manager パラメータが指定されている起動テンプレートの使用をサポートしていません。EC2 フリートとスポットフリートの場合、起動テンプレートに AMI を指定する場合、AMI ID を指定する必要があります。

  • Amazon EC2 Auto Scaling には、その他の制限があります。詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Use AWS Systems Manager parameters instead of AMI IDs in launch templates」を参照してください。