Auto Scaling グループの起動テンプレートの作成 - Amazon EC2 Auto Scaling (日本語)

Auto Scaling グループの起動テンプレートの作成

起動テンプレートを使用して Auto Scaling グループを作成するには、EC2 インスタンスの起動に必要なパラメータを含む起動テンプレート (例: Amazon マシンイメージ (AMI) の ID とインスタンスタイプ) を作成する必要があります。

起動テンプレートは、Amazon EC2 Auto Scaling の全機能と、現在の世代の EBS プロビジョンド IOPS ボリューム (io2)、EBS ボリュームへのタグ付け、T2 Unlimited インスタンス、Elastic Inference、Dedicated Hosts などの Amazon EC2 の新しい機能を提供します。

次の手順は、新しい起動テンプレートを作成するためのものです。起動テンプレートを作成したら、「起動テンプレートを使用して Auto Scaling グループを作成する」の手順に従って、Auto Scaling グループを作成できます。

注記

起動テンプレートの作成の詳細については、以下を参照してください。

起動テンプレートの作成 (コンソール)

次の手順に従って、起動テンプレートを次のように設定します。

  • インスタンスを起動する Amazon マシンイメージ (AMI) を選択します。

  • 指定した AMI と互換性のあるインスタンスタイプを選択します。

  • インスタンスへの接続時 (SSH を使用) に使用するキーペアを指定します。

  • 外部ネットワークからのインスタンスへの関連するアクセスを許可するには、1 つまたは複数のセキュリティグループを追加します。

  • 各インスタンスに追加の EBS ボリュームまたはインスタンスストアボリュームをアタッチするかどうかを指定します。

  • インスタンスおよびボリュームにカスタムタグ (キーバリューペア) を追加する。

起動テンプレートを作成するには

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

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

  3. [起動テンプレートの作成] を選択します。名前を入力し、起動テンプレートの最初のバージョンの説明を加えます。

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

  5. [Launch template contents (軌道テンプレートのコンテンツ)] で、各必須フィールドと、インスタンス起動仕様として使用するオプションフィールドに入力します。

    1. [Amazon マシンイメージ (AMI)]: インスタンスを起動する AMI の ID を選択します。使用可能なすべての AMI を検索するか、[クイックスタート] リストから、リスト内でよく使用される AMI の 1 つを選択します。必要な AMI が見つからない場合は、適切な AMI を見つけて、その ID を書き留め、カスタム値として指定することができます。

    2. インスタンスタイプ: インスタンスタイプを選択します。

    3. (オプション) キーペア (ログイン): キーペアを指定します。

  6. (オプション) [ネットワーク設定] で、次の操作を行います:

    1. [Networking platform (ネットワークプラットフォーム)] で、インスタンスを VPC か EC2-Classic のどちらに起動するかを選択します(該当する場合)。ただし、Auto Scaling グループの設定が優先されるため、Amazon EC2 Auto Scaling に対して起動テンプレートのネットワークタイプとアベイラビリティーゾーンの設定は無視されます。

    2. [セキュリティグループ]: 1 つ以上のセキュリティグループを選択するか、ネットワークインターフェイスの一部として 1 つ以上のセキュリティグループを設定するには空白のままにします。各セキュリティグループは、Auto Scaling グループがインスタンスを起動する VPC 用に設定する必要があります。EC2-Classic を使用している場合、EC2-Classic 用に作成したセキュリティグループを使用する必要があります。

      起動テンプレートでセキュリティグループを指定していない場合、Amazon EC2 はデフォルトのセキュリティグループを使用します。デフォルトでは、このセキュリティグループは外部ネットワークからのインバウンドトラフィックを許可しません。

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

    1. [ボリュームの種類]: ボリュームの種類は、選択したインスタンスタイプに応じて異なります。各インスタンスタイプには、Amazon EBS ボリュームまたはインスタンスストアボリュームという、どちらかのルートデバイスボリュームが関連付けられています。詳細については、Amazon EC2 Linux インスタンス用ユーザーガイドの「Amazon EC2 インスタンスストア」および 「Amazon EBS ボリューム」を参照してください。

    2. [デバイス名]: ボリュームのデバイス名を指定します。

    3. [スナップショット]: ボリュームを作成するスナップショットの ID を入力します。

    4. [サイズ (GiB)]: Amazon EBS - Backed ボリュームについては、ストレージサイズを指定します。スナップショットからボリュームを作成しており、ボリュームサイズを指定しない場合のデフォルトはスナップショットサイズです。

    5. [ボリュームタイプ]: Amazon EBS ボリュームで、ボリュームタイプを選択します。

    6. IOPS: プロビジョンド IOPS の SSD ボリュームで、ボリュームでサポートする IOPS (1 秒あたりの入力/出力オペレーションの数) の最大数を入力します。

    7. [終了時に削除]: Amazon EBS ボリュームで、関連付けられたインスタンスの終了時にボリュームを削除するかどうかを選択します。

    8. [暗号化済み]: Amazon EBS ボリュームの暗号化状態を変更するには、[はい] を選択します。以下の表に示すように、このパラメータを設定した場合のデフォルトの効果は、選択したボリュームのソースによって異なります。いずれの場合も、指定した AWS KMS キーを使用するためのアクセス許可が必要です。指定した暗号化ボリュームの詳細については、Linux インスタンス用の Amazon EC2 ユーザーガイドの 「Amazon EBS 暗号化」を参照してください。

      暗号化の結果
      Encrypted パラメータの設定 ボリュームのソース デフォルトの暗号化状態 コメント
      いいえ 新しい (空の) ボリューム 暗号化されていない* 該当なし
      所有する暗号化されていないスナップショット 暗号化されていない*
      お客様が所有する暗号化されたスナップショット 同じキーで暗号化されている
      お客様と共有されている暗号化されていないスナップショット 暗号化されていない*
      お客様と共有されている暗号化されたスナップショット デフォルト KMS キーで暗号化
      はい 新しいボリューム デフォルト KMS キーで暗号化 デフォルト以外の KMS キーを使用するには、[Key (キー)] パラメータの値を指定します。
      所有する暗号化されていないスナップショット デフォルト KMS キーで暗号化
      お客様が所有する暗号化されたスナップショット 同じキーで暗号化されている
      お客様と共有されている暗号化されていないスナップショット
      お客様と共有されている暗号化されたスナップショット デフォルト KMS キーで暗号化

      * デフォルトの暗号化が有効な場合、新しく作成されたすべてのボリュームは ([Encrypted (暗号化済み)] パラメータが [Yes (はい)] に設定されているかどうかに関係なく)、デフォルトの KMS キーを使用して暗号化されます。[Encrypted] および [Key] パラメータの両方を設定すると、デフォルト以外の KMS キーを指定できます。

    9. [Key (キー)]: 前のステップで [Yes (はい)] を選択した場合は、オプションでボリュームの暗号化時に使用するKMS キーを入力します。前に AWS Key Management Service を使用して作成した KMS キーを入力します。アクセス許可のある任意のキーの完全な ARN を貼り付けることができます。カスタマー管理型キーのキーポリシーの設定について詳しくは、AWS Key Management Serviceデベロッパーガイド暗号化されたボリュームで使用するのに必要な AWS KMS キーポリシーを参照してください。

      注記

      [暗号化済み] パラメータも設定せずに KMS キーを指定するとエラーが発生します。

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

  9. デフォルトのネットワークインターフェースを変更するには、デフォルトのネットワークインターフェースの変更を参照してください。デフォルトのネットワークインターフェイス (プライマリネットワークインターフェイス) を保持する場合は、この手順を省略します。

  10. 詳細設定を指定するには、「起動テンプレートの詳細設定の設定」を参照してください。または、[起動テンプレートの作成] を選択します。

  11. Auto Scaling グループを作成するには、[confirmation (確認)] ページで[Auto Scaling グループの作成] を選択します。

デフォルトのネットワークインターフェースの変更

このセクションでは、デフォルトのネットワークインターフェイスを変更する方法について説明します。これにより、たとえば、サブネット上の自動割り当てパブリック IP 設定をデフォルトにするのではなく、パブリック IP アドレスを各インスタンスに割り当てるかどうかを定義できます。

考慮事項と制約事項

ネットワークインターフェースを指定する場合、次の考慮事項と制約事項に留意してください。

  • テンプレートの [セキュリティグループ] セクションではなく、ネットワークインターフェイスの一部としてセキュリティグループを設定する必要があります。両方の場所でセキュリティグループを指定することはできません。

  • Auto Scaling インスタンスに特定のプライベート IP アドレスを割り当てることはできません。インスタンスが起動されると、インスタンスが起動されたサブネットの CIDR 範囲からプライベートアドレスが割り当てられます。VPC またはサブネットの CIDR 範囲の指定の詳細については、「Amazon VPC ユーザーガイド」を参照してください。

  • 既存のネットワークインターフェイス ID を指定した場合、起動できるインスタンスは 1 つだけです。これを機能させるには、AWS CLIまたは SDK を使用して、Auto Scaling グループを作成します。グループを作成するときは、アベイラビリティーゾーンを指定する必要がありますが、サブネット ID は指定しないでください。また、デバイスインデックスが 0 の場合にのみ、既存のネットワークインターフェイスを指定できます。

  • 複数のネットワークインターフェイスを指定した場合、パブリック IP アドレスを自動割り当てすることはできません。また、ネットワークインターフェイス間で重複するデバイスインデックスを指定することもできません。プライマリとセカンダリの両方のネットワークインターフェイスは、同じサブネットに存在することに注意してください。

デフォルトのネットワークインターフェイスを変更するには

  1. [ネットワークインターフェイス] で [ネットワークインターフェイスを追加] を選択します。

  2. 以下のフィールドに注意してプライマリネットワークインターフェースを指定します:

    1. デバイスインデックス: デバイスインデックスを指定します。0プライマリネットワークインターフェイス (eth0)を入力します。

    2. ネットワークインターフェイス: 空白のままにして、インスタンス起動時に新しいネットワークインターフェイスを作成するか、既存のネットワークインターフェイスの ID を入力します。ID を指定すると、Auto Scaling グループは 1 つのインスタンスに制限されます。

    3. 説明: わかりやすい名前を入力します。

    4. サブネット: サブネットを指定することはできますが、Auto Scaling グループの設定が優先されるため、Amazon EC2 Auto Scaling に対してサブネットは無視されます。

    5. [自動割り当てパブリック IP]: 0 のデバイスインデックスを持つネットワークインターフェイスに、自動的にパブリック IP アドレスを割り当てるかどうか選択します。この設定は、サブネットに設定した設定よりも優先されます。値を設定しない場合、デフォルトでは、インスタンスが起動されるサブネットの自動割り当てパブリック IP 設定が使用されます。

    6. [セキュリティグループ]: 1 つ以上のセキュリティグループを選択します。各セキュリティグループは、Auto Scaling グループがインスタンスを起動する VPC 用に設定する必要があります。

    7. 終了時に削除: Auto Scaling グループをスケールインし、ネットワークインターフェイスがアタッチされているインスタンスを終了するときに、ネットワークインターフェイスを削除するかどうかを選択します。

    8. Elastic Fabric Adapter: ネットワークインターフェイスが Elastic Fabric Adapter かどうかを示します。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「Elastic Fabric Adapter」を参照してください。

    9. ネットワークカードインデックス: 複数のネットワークカードをサポートするインスタンスタイプを使用する場合、特定のネットワークカードにネットワークインターフェイスをアタッチします。プライマリネットワークインターフェイス (eth0) をネットワークカードインデックス 0 に割り当てる必要があります。未指定の場合のデフォルト値は 0 です。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「Network Cards」をご参照ください。

  3. セカンダリネットワークインターフェイスを追加するには、ネットワークインターフェイスを追加するを選択します。

起動テンプレートの詳細設定の設定

Auto Scaling インスタンスが必要とする追加機能を定義できます。たとえば、アプリケーションが他のAWSリソースにアクセスするときに使用できる IAM ロールを選択できます。または、インスタンスの起動後に一般的な自動設定タスクを実行するために使用できるインスタンスユーザーデータを指定できます。

次の手順では、注意すべき最も便利な設定について説明します。[詳細設定] の設定の詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「起動テンプレートの作成」を参照してください。

詳細設定を設定するには

  1. [詳細設定] を使用する場合、セクションを展開してフィールドを表示します。

  2. 購入オプションでは、[スポットインスタンスのリクエスト] を選択して、オンデマンド価格を上限とするスポット料金でスポットインスタンスをリクエストし、[カスタマイズ] を選択して、スポットインスタンスのデフォルト設定を変更します。Auto Scaling グループでは、終了日なしのワンタイムリクエストを指定する必要があります (デフォルト)。詳細については、「フォールトトレラントで柔軟性があるアプリケーションに対するスポットインスタンスのリクエスト」を参照してください。

    注記

    購入オプションを指定しない場合でも、後から Auto Scaling グループでスポットインスタンスをリクエストできます。これにより、複数のインスタンスタイプを指定することもできます。これにより、Amazon EC2 スポットサービスがスポットインスタンスを再利用する必要がある場合、別のスポットプールから代替インスタンスを起動できます。詳細については、「複数のインスタンスタイプと購入オプションを使用する Auto Scaling グループ」を参照してください。

  3. IAM インスタンスプロファイルで、インスタンスに関連付けるAWS Identity and Access Management(IAM) インスタンスプロファイルを指定することができます。インスタンスプロファイルを選択するとき、対応する IAM ロールを EC2 インスタンスに関連付けます。詳細については、「Amazon EC2 インスタンスで実行中のアプリケーション用の IAM ロール」を参照してください。

  4. Termination protection (終了保護)で、偶発的な終了からインスタンスを保護するかどうかを選択します。終了保護を有効にすると、追加の終了保護が提供されますが、Amazon EC2 Auto Scaling が開始した終了からは保護されません。Auto Scaling グループが特定のインスタンスを終了できるかどうかを制御するには、インスタンスのスケールイン保護の使用 を使用します。

  5. Detailed CloudWatch monitoring (CloudWatch の詳細モニタリング)で、インスタンスが 1 分間隔でメトリックスデータを Amazon CloudWatch に発行できるようにするかどうかを選択します。追加の変更が適用されます。詳細については、「Auto Scaling インスタンスのモニタリングを設定するには」を参照してください。

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

  7. プレイスメントグループ名で、インスタンスの起動先のプレイスメントグループを指定できます。すべてのインスタンスタイプがプレイスメントグループ内で起動できるわけではありません。別のプレイスメントグループを指定する CLI コマンドを使用して Auto Scaling グループを設定する場合、Auto Scaling グループで指定したものが優先され、この設定は無視されます。

  8. キャパシティーの予約で、インスタンスを共有キャパシティー、任意の open キャパシティーの予約、特定のキャパシティーの予約、またはキャパシティーの予約グループのどれに起動するかを指定できます。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「既存のキャパシティーの予約へのインスタンスの起動」を参照してください。

  9. テナンシーで、共有ハードウェア (共有)、専有ハードウェア (専有)、またはホストリソースグループを使用する場合は Dedicated Host (専有ホスト) でインスタンスを実行するように選択できます。追加料金が適用される場合があります。

    [専有ホスト] を選択した場合、次の情報を入力します:

    1. テナンシーホストリソースグループで、Dedicated Hosts で使用する BYOL AMI のホストリソースグループを指定できます。この機能を使用する前に、アカウントに Dedicated Hostsを割り当てる必要はありません。インスタンスは、Dedicated Hosts で自動的に起動します。ライセンス設定の関連付けに基づく AMI は、一度に 1 つのホストリソースグループにのみマッピングできます。詳細については、AWS License Managerユーザーガイドの「ホストリソースグループ」を参照してください。

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

  11. このバージョンの起動テンプレートに関連付けられているすべてのインスタンスに対してインスタンスメタデータオプションを設定するには、次の手順を実行します。

    1. Metadata accessible (アクセス可能なメタデータ)で、インスタンスメタデータサービスの HTTP エンドポイントへのアクセスを有効にするか無効にするかを選択します。デフォルトでは、HTTP エンドポイントは有効です。エンドポイントを無効にすると、インスタンスメタデータへのアクセスはオフになります。HTTP エンドポイントが有効になっている場合にのみ、IMDSv2 を要求する条件を指定できます。

    2. [Metadata version (メタバージョン)]で、インスタンスメタデータをリクエストするときに インスタンスメタデータサービスバージョン 2 (IMDSv2) の使用を必須に選択することができます。値を指定しない場合、デフォルトで IMDSv1 と IMDSv2 の両方がサポートされます。

    3. [Metadata token response hop limit] で、メタデータトークンに許容されるネットワークホップ数を設定できます。値を指定していない場合、デフォルトで 1 が適用されます。

    詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「インスタンスメタデータサービスの設定」を参照してください。

  12. [ユーザーデータ] で、起動時にインスタンスを設定するユーザーデータ、またはインスタンスのスタート後に設定スクリプトを実行するユーザーデータを指定できます。

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

  14. Auto Scaling グループを作成するには、[confirmation (確認)] ページで[Auto Scaling グループの作成] を選択します。

既存のインスタンスからの起動テンプレートの作成 (コンソール)

既存のインスタンスから起動テンプレートを作成するには

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

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

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

  4. 名前と説明を入力します。

  5. [Auto Scaling ガイダンス] で、[チェックボックス] を選択します。

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

  7. Auto Scaling グループを作成するには、[confirmation (確認)] ページで[Auto Scaling グループの作成] を選択します。

起動テンプレートの作成 (AWS CLI)

コマンドラインを使用して起動テンプレートを作成するには

以下のコマンドのいずれかを使用できます。

Limitations

  • 起動テンプレートを使用すると、ネットワークタイプ (VPC または EC2-Classic)、サブネット、アベイラビリティーゾーンを設定できます。ただし、これらの設定は無視され、Auto Scaling グループで指定されている内容が優先されます。

  • 起動テンプレートのサブネット設定は無視され、Auto Scaling グループで指定されているものが使用されるため、特定のインスタンスに対して作成されるすべてのネットワークインターフェイスは、インスタンスと同じサブネットに接続されます。ユーザー定義のネットワークインターフェースに関するその他の制限については、デフォルトのネットワークインターフェースの変更を参照してください。

  • 起動テンプレートを使用すると、Auto Scaling グループに追加の設定を設定して、複数のインスタンスタイプを起動し、オンデマンド購入オプションとスポット購入オプションを組み合わせることができます。詳細については、「複数のインスタンスタイプと購入オプションを使用する Auto Scaling グループ」を参照してください。次のような組み合わせでインスタンスを起動することはできません。

    • 起動テンプレートでスポットインスタンスリクエストを指定した場合

    • EC2-Classic 内

  • 占有ホスト (ホストテナンシー) のサポートは、ホストリソースグループを指定した場合にのみ使用できます。特定のホスト ID を対象にしたり、ホストプレイスメントアフィニティを使用することはできません。