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

起動設定を作成する

重要

起動設定は使用しないことを強くお勧めします。Amazon EC2 Auto Scaling または Amazon EC2 には完全な機能を提供していません。起動設定に関する情報は、起動設定から起動テンプレートにまだ移行していないお客様向けに提供しています。起動設定が新しいインスタンスタイプをサポートする期間と、コンソールを使用して起動テンプレートに移行する方法の詳細については、AWS コンピューティングブログの「Amazon EC2 Auto Scaling will no longer add support for new EC2 features to Launch Configurations」(Amazon EC2 Auto Scaling が新しい EC2 機能に対するサポートの起動設定への追加を終了します) を参照してください。

起動設定を作成する場合は、起動する EC2 インスタンスに関する情報を指定する必要があります。Amazon マシンイメージ (AMI)、インスタンスタイプ、キーペア、セキュリティグループ、ブロックデバイスマッピングなどがあります。または、実行中の EC2 インスタンスの属性を使用して起動設定を作成できます。詳細については、「EC2 インスタンスを使用した起動設定の作成」を参照してください。

起動設定を作成したら、Auto Scaling グループを作成できます。詳しくは、「起動設定を使用して Auto Scaling グループを作成する」を参照してください。

一度に Auto Scaling グループに関連付けできる起動設定は 1 つだけであり、グループを作成した後で起動設定を変更することはできません。したがって、既存の Auto Scaling グループで起動設定を変更する場合は、新しい起動設定で設定を更新する必要があります。詳細については、「Auto Scaling グループの起動設定を変更する」を参照してください。

起動設定を作成する (コンソール)

起動設定を作成するには (コンソール)

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

  2. ナビゲーションペインの [Auto Scaling] で、[Launch Configurations (起動設定)] を選択します。

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

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

  5. 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. ナビゲーションペインで、[Instances] の下にある、[Instances] を選択して、[Launch Instances] を選択します。

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

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

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

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

      注記

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

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

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

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

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

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

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

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

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

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

    重要

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

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

起動設定を作成する (AWS CLI)

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

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

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

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

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

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

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

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

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

次のトピック、Linux インスタンス用 Amazon EC2 ユーザーガイドの「インスタンスメタデータサービスの設定」からインスタンスメタデータサービスの設定の詳細を参照してください。

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

起動設定で IMDS を設定するには (コンソール)

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

  2. ナビゲーションペインの [Auto Scaling] で、[Launch Configurations (起動設定)] を選択します。

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

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

  5. この起動設定に関連付けられているすべてのインスタンスのインスタンスメタデータオプションを設定するには、[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 です。

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

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

HttpTokens=required に設定されている --metadata-options と使用して、次の create-launch-configurationコマンドを使用します。HttpTokens の値を指定する場合は、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"