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

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

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

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

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

注記

Auto Scalingグループで使用する起動テンプレートを作成するときは、以下の情報に注意してください。

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

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

    • EC2-Classic 内

  • 起動テンプレートを作成すると、Dedicated Hosts Amazon EC2 などの の機能を活用することもできます。占有ホスト (ホストテナンシー) のサポートは、ホストリソースグループを指定した場合にのみ使用できます。特定のホスト ID をターゲットにしたり、ホストプレイスメントアフィニティを使用したりすることはできません。

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

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

以下の手順を実行して、以下の起動テンプレートを設定します。

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

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

  • インスタンスに接続するときに使用するキーペアを指定します (SSH を使用するなど)。

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

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

  • カスタムタグ (キーと値のペア) をインスタンスとボリュームに追加します。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    5. ボリュームタイプ: Amazon EBSボリュームの場合、ボリュームタイプを選択します

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

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

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

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

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

    9. キー: 前のステップで [Yes (はい)] を選択した場合は、必要に応じて、ボリュームの暗号化時に使用するカスタマーマスターキー (CMK) を入力します。前に AWS Key Management Service を使用して作成した CMK を入力します。アクセス許可のある任意のキーの完全な ARN を貼り付けることができます。詳細については、『AWS Key Management Service Developer Guide』およびこのガイドの「暗号化されたボリュームで使用するのに必要な CMK キーポリシー」トピックを参照してください。注意: Amazon EBS は非対称 をサポートしていませんCMKs。

      注記

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

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

  8. デフォルトのネットワークインターフェイスを変更するには、「」を参照してくださいデフォルトのネットワークインターフェイスの変更。デフォルトのネットワークインターフェイスを保持する場合は、このステップをスキップします。

  9. 詳細設定を指定するには、「起動テンプレートの詳細設定の設定」を参照してください。それ以外の場合は、[Create launch template (起動テンプレートの作成)] を選択します

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

Auto Scalingグループはプライマリネットワークインターフェイス (eth0) でのみネットワークに接続できます。次の手順に従って、デフォルトのプライマリネットワークインターフェイスを変更できます。これにより、サブネットの自動割り当てパブリック IP 設定にデフォルトを設定する代わりに、各インスタンスにパブリック IP アドレスを割り当てるかどうかなどを定義できます。

考慮事項と制約事項

デフォルトのネットワークインターフェイスを変更する場合は、以下の考慮事項と制限事項に留意してください。

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

  • 複数のネットワークインターフェイスを指定することはできません。

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

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

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

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

  2. 次のフィールドに注意して、プライマリネットワークインターフェイス (eth0) を指定します。

    1. デバイス: デバイス名eth0として指定します (デバイスインデックスが 0 のデバイス)。

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

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

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

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

    6. セキュリティグループ ID: 1 つ以上のIDsセキュリティグループの を入力します各セキュリティグループは、Auto Scaling グループがインスタンスを起動する VPC 用に設定する必要があります。エントリはカンマで区切ります。

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

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

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

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

詳細設定を指定するには

  1. [Advanced details (高度な詳細)] セクションを展開して、フィールドを表示します。

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

    注記

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

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

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

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

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

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

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

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

    Dedicated Hosts を選択した場合は、次の情報を入力します。

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

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

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

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

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

    3. メタデータトークンのレスポンスホップ制限の場合、メタデータトークンに許容されるネットワークホップ数を設定できます。値を指定しない場合、デフォルトは 1 になります。

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

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

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

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

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

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

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

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

  4. 名前と説明を入力します。必要に応じてその他の起動パラメータを調整し、[起動テンプレートの作成] を選択します

  5. Auto Scalingグループを作成するには、確認ページから Auto Scaling グループを選択します。

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

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

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

以下のように create-launch-template コマンドを使用して起動テンプレートを作成します。Auto Scaling グループがインスタンスを起動する VPC のセキュリティグループに対応する Groups の値を指定します。Auto Scaling グループのプロパティとして VPC とサブネットを指定します。

aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \ --launch-template-data '{"NetworkInterfaces":[{"DeviceIndex":0,"AssociatePublicIpAddress":true,"Groups":["sg-7c227019"],"DeleteOnTermination":true}],"ImageId":"ami-01e24be29428c15b2","InstanceType":"t2.micro","TagSpecifications": [{"ResourceType":"instance","Tags":[{"Key":"purpose","Value":"webserver"}]}]}'

次のコマンドを使用して起動テンプレートの詳細を表示しますdescribe-launch-templatesmy-template-for-auto-scaling.

aws ec2 describe-launch-templates --launch-template-names my-template-for-auto-scaling

指定された起動テンプレートのバージョンを表示するには、次のコマンドdescribe-launch-template-versionsを使用します。my-template-for-auto-scaling.

aws ec2 describe-launch-template-versions --launch-template-id lt-068f72b72934aff71

以下に、レスポンスの例を示します。

{ "LaunchTemplateVersions": [ { "VersionDescription": "version1", "LaunchTemplateId": "lt-068f72b72934aff71", "LaunchTemplateName": "my-template-for-auto-scaling", "VersionNumber": 1, "CreatedBy": "arn:aws:iam::123456789012:user/Bob", "LaunchTemplateData": { "TagSpecifications": [ { "ResourceType": "instance", "Tags": [ { "Key": "purpose", "Value": "webserver" } ] } ], "ImageId": "ami-01e24be29428c15b2", "InstanceType": "t2.micro", "NetworkInterfaces": [ { "DeviceIndex": 0, "DeleteOnTermination": true, "Groups": [ "sg-7c227019" ], "AssociatePublicIpAddress": true } ] }, "DefaultVersion": true, "CreateTime": "2019-02-28T19:52:27.000Z" } ] }