「起動設定を作成する」 - Amazon EC2 Auto Scaling

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

「起動設定を作成する」

重要

2022 年 12 月 31 日以降にリリースされた新しい Amazon EC2 インスタンスタイプで CreateLaunchConfiguration を呼び出すことはできません。また、2023 年 6 月 1 日以降に作成された新しいアカウントには、コンソールから新しい起動設定を作成することはできません。2024 年 10 月 1 日以降、新しいアカウントはコンソール、API、CLI、および を使用して新しい起動設定を作成できなくなります CloudFormation。起動テンプレートに移行して、現在または将来に新しい起動設定を作成する必要がないようにします。Auto Scaling グループを移行してテンプレートを起動する方法については、「Auto Scaling グループを起動テンプレートに移行する」を参照してください。

このトピックでは、起動設定を作成する方法について説明します。

起動設定を作成した後は、変更できません。代わりに、新しい起動設定を作成する必要があります。

新しい起動設定を既存の Auto Scaling グループに関連付けるには、「」を参照してくださいAuto Scaling グループの起動設定を変更する。新しい Auto Scaling グループを作成するには、「」を参照してください起動設定を使用して Auto Scaling グループを作成する

「起動設定を作成する」

起動設定を作成するには (コンソール)
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. 上部のナビゲーションバーで、 AWS リージョンを選択します。

  3. 左のナビゲーションペインの [Auto Scaling] で、[Auto Scaling グループ] を選択します。

  4. ページの上部付近にある [起動設定] を選択します。確認を求めるプロンプトが表示されたら、[起動設定を表示] を選択して、[起動設定] ページを表示することを確認します。

  5. [Create launch configuration (起動設定の作成)] を選択して、起動設定の名前を入力します。

  6. Amazon マシンイメージ (AMI) で、 AMI を選択します。特定の AMI を検索するには、[find a suitable AMI (適切な AMI を見つける)] をクリックし、その ID を書き留め、検索条件として ID を入力します。

    Amazon Linux 2 AMI の ID を取得するには:

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

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

    3. [Choose an Amazon Machine Image (Amazon Machine Image の選択)] ページの [クイックスタート] タブで、[Amazon Linux 2 AMI (HVM)] の横にある AMI の ID をメモします。

  7. [インスタンスタイプのタイプ] で、インスタンスのハードウェア設定を選択します。

  8. [Additional configuration (追加設定)] の下にある、次のフィールドに注意してください:

    1. (オプション) [Purchasing option (購入オプション)] で、[Request Spot Instances (スポットインスタンスのリクエスト)] を選択し、オンデマンド価格を上額とするスポット料金でスポットインスタンスをリクエストできます。オプションで、スポットインスタンスのインスタンス時間ごとに上限価格を指定できます。

      注記

      スポットインスタンスは、アプリケーションを実行する時間に柔軟性がある場合や、アプリケーションを中断できる場合に、オンデマンドインスタンスと比べて費用効率の高い選択肢です。詳細については、「耐障害性に優れた柔軟なアプリケーションのためにスポットインスタンスをリクエストする」を参照してください。

    2. (オプション) [IAM instance profile (IAM インスタンスプロファイル)] で、インスタンスに関連付けるロールを選択します。詳細については、「Amazon EC2 インスタンスで実行中のアプリケーション用の IAM ロール」を参照してください。

    3. (オプション) モニタリング で、詳細モニタリングを有効に CloudWatch して、インスタンスがメトリクスデータを 1 分間隔で Amazon に発行できるようにするかどうかを選択します。別途 料金がかかります。詳細については、「Auto Scaling インスタンスのモニタリングを設定する」を参照してください。

    4. (オプション) [Advanced details (詳細情報)]、[User data (ユーザーデータ)] で、起動中にインスタンスを設定するユーザーデータ、またはインスタンスの起動後に設定スクリプトを実行するユーザーデータを指定できます。

    5. (オプション) [Advanced details (詳細情報)]、[IP address type (IP アドレスタイプ)]で、パブリック IP アドレスをグループのインスタンスに割り当てるかどうか選択します。値を設定しない場合、デフォルトでは、インスタンスが起動されるサブネットの自動割り当てパブリック IP 設定が使用されます。

  9. (オプション) [Storage (volumes) (ストレージボリューム)] で、追加のストレージが必要ない場合、このセクションをスキップできます。それ以外の場合は、AMI で指定されたボリュームに加えてインスタンスにアタッチするボリュームを指定するには、[Add new volume (新しいボリュームの追加)] を選択します。次に、デバイススナップショットサイズボリュームタイプIOPSスループット終了時に削除、および暗号化に必要なオプションと関連する値を選択します。

  10. [Security groups (セキュリティグループ)] で、グループのインスタンスに関連付けるセキュリティグループを作成または選択します。選択した [Create a new security group (新しいセキュリティグループの作成)] オプションから離れる場合、Linux を実行する Amazon EC2 インスタンスのデフォルトの SSH ルールが設定されます。デフォルトの RDP ロールは、Windows を実行する Amazon EC2 インスタンスに対して設定されます。

  11. [Key pair (login) (キーペア (ログイン)] で、[Key pair options (キーペアのオプション)] の下にあるオプションを選択します。

    すでに Amazon EC2 インスタンスキーペアを設定している場合は、ここで選択できます。

    Amazon EC2 インスタンスのキーペアがまだない場合は、[Create a new key pair (新しいキーペアの作成)] を選択して、わかりやすい名前を付けます。[Download key pair (キーペアのダウンロード)] を選択し、コンピュータにダウンロードします。

    重要

    インスタンスに接続する必要がある場合は、[Proceed without a key pair (キーペアなしで続行する)] を選択しないでください。

  12. 確認チェックボックスをオンにし、[Create launch configuration (起動設定の作成) ] を選択します。

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

  2. 上部のナビゲーションバーで、 AWS リージョンを選択します。

  3. 左のナビゲーションペインの [Auto Scaling] で、[Auto Scaling グループ] を選択します。

  4. ページの上部付近にある [起動設定] を選択します。確認を求めるプロンプトが表示されたら、[起動設定を表示] を選択して、[起動設定] ページを表示することを確認します。

  5. 起動設定を選択し、[Actions]、[Copy launch configuration] の順に選択します。これにより、新しい起動設定は元の設定と同じオプションで設定されますが、名前に「コピー」が追加されます。

  6. [Copy Launch Configuration] ページで、必要に応じて設定オプションを編集し、[Create launch configuration] を選択します。

コマンドラインを使用して起動設定を作成するには

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

インスタンスメタデータオプションの設定

Amazon EC2 Auto Scaling は、起動設定のインスタンスメタデータサービス (IMDS) の設定をサポートしています。このオプションにより、起動設定を使用して、Auto Scaling グループ内の Amazon EC2 インスタンスを、インスタンスメタデータサービスバージョン 2 (IMDSv2) をリクエストするように設定できます。これは、インスタンスメタデータを要求するためのセッション指向の方法です。IMDSv2 の利点の詳細については、「EC2 インスタンスメタデータサービスに多層防御を追加する拡張機能についての AWS ブログ」の記事を参照してください。

IMDSv2 と IMDSv1 の両方をサポートするように (デフォルト)、または IMDSv2 の使用をリクエストするように IMDS を設定できます。 AWS CLI またはいずれかの SDKs を使用して IMDS を設定する場合は、最新バージョンの AWS CLI または SDK を使用して IMDSv2 の使用を要求する必要があります。

起動設定は次の設定を指定できます。

  • インスタンスメタデータをリクエストするときに IMDSv2 の使用を要求する

  • PUT レスポンスのホップ制限を指定する

  • インスタンスメタデータへのアクセスを無効にする

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

起動設定で IMDS オプションを設定するには、以下の手順を使用します。起動設定を作成したら、それを Auto Scaling グループに関連付けることができます。起動設定を既存の Auto Scaling グループに関連付けると、既存の起動設定と Auto Scaling グループとの関連付けが解除され、新しい起動設定で指定した IMDS オプションを使用するには、既存のインスタンスを置き換える必要があります。詳細については、「Auto Scaling グループの起動設定を変更する」を参照してください。

起動設定で IMDS を設定するには (コンソール)
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. 上部のナビゲーションバーで、 AWS リージョンを選択します。

  3. 左のナビゲーションペインの [Auto Scaling] で、[Auto Scaling グループ] を選択します。

  4. ページの上部付近にある [起動設定] を選択します。確認を求めるプロンプトが表示されたら、[起動設定を表示] を選択して、[起動設定] ページを表示することを確認します。

  5. [Create launch configuration (起動設定の作成)] を選択し、通常の方法で起動設定を作成します。Amazon Machine Image (AMI) の ID、インスタンスタイプ、オプションでキーペア、1 つ以上のセキュリティグループ、およびインスタンス用の追加の EBS ボリュームまたはインスタンスストアボリュームなどがあります。

  6. この起動設定に関連付けられているすべてのインスタンスのインスタンスメタデータオプションを設定するには、[Additional configuration (追加設定)] の下にある [Advanced details (詳細情報)] で次の作業を行います。

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

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

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

  7. 完了したら、[Create launch configuration (起動設定の作成)] を選択します。

起動設定で IMDSv2 の使用をリクエストするには、 AWS CLIを使用します。

--metadata-optionsに設定して、次のcreate-launch-configurationコマンドを使用しますHttpTokens=requiredHttpTokens の値を指定する場合は、HttpEndpoint も有効にする必要があります。メタデータの取得リクエストではセキュリティで保護されたトークンヘッダーが必須と設定されるため、インスタンスメタデータをリクエストするときに IMDSv2 の使用をリクエストするようにインスタンスが設定されます。

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc-with-imdsv2 \ --image-id ami-01e24be29428c15b2 \ --instance-type t2.micro \ ... --metadata-options "HttpEndpoint=enabled,HttpTokens=required"
インスタンスメタデータへのアクセスを無効にするには

インスタンスメタデータへのアクセスを無効にするには、次のcreate-launch-configurationコマンドを使用します。modify-instance-metadata-options コマンドを使用して、後でアクセスを再度有効にすることができます。

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc-with-imds-disabled \ --image-id ami-01e24be29428c15b2 \ --instance-type t2.micro \ ... --metadata-options "HttpEndpoint=disabled"

EC2 インスタンスを使用した起動設定の作成

実行中の EC2 インスタンスの属性を使用して起動設定を作成するオプションもあります。

起動設定を新しく作成することと、既存の EC2 インスタンスから起動設定を作成することには違いがあります。起動設定をゼロから作成するときは、イメージ ID、インスタンスタイプ、オプションリソース(ストレージデバイスなど)、オプション設定(モニタリングなど)を指定します。実行中のインスタンスから起動設定を作成すると、Amazon EC2 Auto Scaling は指定されたインスタンスから起動設定の属性を取得します。属性は、インスタンスが起動された AMI のブロックデバイスマッピングからも取得されますが、起動後に追加されたブロックデバイスは無視されます。

実行中のインスタンスを使用して起動設定を作成するときは、同じリクエストの一部としてそれらを指定することによって、次の属性を変更できます。AMI、ブロックデバイス、キーペア、インスタンスプロファイル、インスタンスタイプ、カーネル、インスタンスのモニタリング、プレイスメントテナンシー、ラムディスク、セキュリティグループ、スポット (最大) 料金、ユーザーデータ、インスタンスにパブリック IP アドレスがあるか、インスタンスが EBS で最適化されているかどうか。

注記

指定されたインスタンスに起動設定で現在サポートされていないプロパティがある場合、Auto Scaling グループによって起動されるインスタンスは、元の EC2 インスタンスと同じにならない場合があります。

重要

指定したインスタンスを起動するために使用される AMI がまだ存在する必要があります。

EC2 インスタンスから起動設定を作成する (AWS CLI)

インスタンスと同じ属性を使用してインスタンスから起動設定を作成するには、次のcreate-launch-configurationコマンドを使用します。起動後に追加されたブロックデバイスはすべて無視されます。

aws autoscaling create-launch-configuration --launch-configuration-name my-lc-from-instance --instance-id i-a8e09d9c

次のdescribe-launch-configurationsコマンドを使用して起動設定を記述し、その属性がインスタンスの属性と一致することを確認できます。

aws autoscaling describe-launch-configurations --launch-configuration-names my-lc-from-instance

以下に、応答の例を示します。

{ "LaunchConfigurations": [ { "UserData": null, "EbsOptimized": false, "LaunchConfigurationARN": "arn", "InstanceMonitoring": { "Enabled": false }, "ImageId": "ami-05355a6c", "CreatedTime": "2014-12-29T16:14:50.382Z", "BlockDeviceMappings": [], "KeyName": "my-key-pair", "SecurityGroups": [ "sg-8422d1eb" ], "LaunchConfigurationName": "my-lc-from-instance", "KernelId": "null", "RamdiskId": null, "InstanceType": "t1.micro", "AssociatePublicIpAddress": true } ] }

インスタンスから起動設定を作成し、ブロックデバイスをオーバーライドする (AWS CLI)

Amazon EC2 Auto Scaling は、デフォルトで、指定された EC2 インスタンスの属性を使用して起動設定を作成します。ただし、インスタンスではなく、インスタンスの起動に使用された AMI のブロックデバイスが使用されます。起動設定にブロックデバイスを追加するには、起動設定のブロックデバイスマッピングをオーバーライドします。

次のcreate-launch-configurationコマンドを使用して、EC2 インスタンスを使用して起動設定を作成しますが、カスタムブロックデバイスマッピングを使用します。

aws autoscaling create-launch-configuration --launch-configuration-name my-lc-from-instance-bdm --instance-id i-a8e09d9c \ --block-device-mappings "[{\"DeviceName\":\"/dev/sda1\",\"Ebs\":{\"SnapshotId\":\"snap-3decf207\"}},{\"DeviceName\":\"/dev/sdf\",\"Ebs\":{\"SnapshotId\":\"snap-eed6ac86\"}}]"

次のdescribe-launch-configurationsコマンドを使用して起動設定を記述し、カスタムブロックデバイスマッピングを使用していることを確認します。

aws autoscaling describe-launch-configurations --launch-configuration-names my-lc-from-instance-bdm

以下の応答例は、起動設定の詳細を表しています。

{ "LaunchConfigurations": [ { "UserData": null, "EbsOptimized": false, "LaunchConfigurationARN": "arn", "InstanceMonitoring": { "Enabled": false }, "ImageId": "ami-c49c0dac", "CreatedTime": "2015-01-07T14:51:26.065Z", "BlockDeviceMappings": [ { "DeviceName": "/dev/sda1", "Ebs": { "SnapshotId": "snap-3decf207" } }, { "DeviceName": "/dev/sdf", "Ebs": { "SnapshotId": "snap-eed6ac86" } } ], "KeyName": "my-key-pair", "SecurityGroups": [ "sg-8637d3e3" ], "LaunchConfigurationName": "my-lc-from-instance-bdm", "KernelId": null, "RamdiskId": null, "InstanceType": "t1.micro", "AssociatePublicIpAddress": true } ] }

起動設定を作成し、インスタンスタイプをオーバーライドする (AWS CLI)

Amazon EC2 Auto Scaling は、デフォルトで、指定された EC2 インスタンスの属性を使用して起動設定を作成します。要件によっては、インスタンスの属性をオーバーライドし、必要な値を使用する場合があります。たとえば、インスタンスタイプをオーバーライドできます。

次のcreate-launch-configurationコマンドを使用して、EC2 インスタンスを使用して起動設定を作成しますが、インスタンス ( などt2.medium) とは異なるインスタンスタイプ ( など) を使用しますt2.micro

aws autoscaling create-launch-configuration --launch-configuration-name my-lc-from-instance-changetype \ --instance-id i-a8e09d9c --instance-type t2.medium

次のdescribe-launch-configurationsコマンドを使用して起動設定を記述し、インスタンスタイプが上書きされたことを確認します。

aws autoscaling describe-launch-configurations --launch-configuration-names my-lc-from-instance-changetype

以下の応答例は、起動設定の詳細を表しています。

{ "LaunchConfigurations": [ { "UserData": null, "EbsOptimized": false, "LaunchConfigurationARN": "arn", "InstanceMonitoring": { "Enabled": false }, "ImageId": "ami-05355a6c", "CreatedTime": "2014-12-29T16:14:50.382Z", "BlockDeviceMappings": [], "KeyName": "my-key-pair", "SecurityGroups": [ "sg-8422d1eb" ], "LaunchConfigurationName": "my-lc-from-instance-changetype", "KernelId": "null", "RamdiskId": null, "InstanceType": "t2.medium", "AssociatePublicIpAddress": true } ] }