翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Elastic Beanstalk 環境のインスタンスでの IMDS の設定
このトピックでは、インスタンスメタデータサービス (IMDS) について説明します。
インスタンスメタデータは、アプリケーションが実行中のインスタンスを設定または管理するために使用できる Amazon Elastic Compute Cloud (Amazon EC2) インスタンスに関連するデータです。インスタンスメタデータサービス (IMDS) は、インスタンス上のコードによって、インスタンスメタデータに安全にアクセスするために使用されるインスタンス上のコンポーネントです。このコードは、環境インスタンスの Elastic Beanstalk プラットフォームコード、アプリケーションが使用している AWS SDK、またはアプリケーション独自のコードです。詳細については「アマゾン EC2 ユーザーガイド」の「Instance metadata and user data」(インスタンスメタデータとユーザーデータ) を参照してください。
コードは、手法としてインスタンスメタデータサービスバージョン 1 (IMDSv1) またはインスタンスメタデータサービスバージョン 2 (IMDSv2) のいずれかを使用して、実行中のインスタンスからインスタンスメタデータにアクセスできます。IMDSv2 はセッション指向のリクエストを使用し、IMDS へのアクセス試行に利用される可能性があるいくつかのタイプの脆弱性を軽減します。これら 2 つの方法については、「Amazon EC2 ユーザーガイド」のインスタンスメタデータサービスの設定に関するページを参照してください。
トピック
IMDSのプラットフォームサポート
Amazon Linux 2、Amazon Linux 2023、および Windows サーバーで実行されている Elastic Beanstalk プラットフォームはすべて IMDSv1 と IMDSv2 の両方をサポートしています。詳細については、「Elastic Beanstalk コンソールを使用した IMDS の設定」を参照してください
IMDS 手法の選択
ご使用の環境でサポートする IMDS 手法を決定する際には、次のユースケースについて考慮してください。
-
AWS SDK – アプリケーションで AWS SDK を使用している場合は、最新バージョンの SDK を使用してください。 AWS SDKs IMDS 呼び出しを行い、新しい SDK バージョンは可能な限り IMDSv2 を使用します。IMDSv1 を無効にすると、アプリケーションで以前の SDK バージョンが使用されている場合に、IMDS 呼び出しが失敗することがあります。
-
アプリケーションコード – アプリケーションが IMDS 呼び出しを行う場合は、直接 HTTP リクエストを行う代わりに AWS SDK を使用して呼び出しを行うことを検討してください。このようにすると、異なる IMDS 手法間で切り替えるためにコードを変更する必要はありません。 AWS SDK は可能な限り IMDSv2 を使用します。
-
Elastic Beanstalk プラットフォームコード – このコードは AWS SDK を介して IMDS 呼び出しを行うため、サポートされているすべてのプラットフォームバージョンで IMDSv2 を使用します。コードがup-to-date AWS SDK を使用していて、SDK を介してすべての IMDS 呼び出しを行う場合は、IMDSv1 を安全に無効にできます。
Elastic Beanstalk コンソールを使用した IMDS の設定
Elastic Beanstalk コンソールで、Elastic Beanstalk 環境の Amazon EC2 インスタンス設定を変更できます。
重要
DisableIMDSv1
オプション設定により、Elastic Beanstalk が起動テンプレートを使用して環境を作成したり、起動設定から起動テンプレートに既存の環境を更新したりできます。これを行うには、起動テンプレートを管理するために必要なアクセス許可が必要です。これらのアクセス許可は、 マネージドポリシーに含まれています。管理ポリシーの代わりにカスタムポリシーを使用すると、環境のスポットインスタンスを有効にすると、環境の作成または更新が失敗することがあります。詳細およびその他の考慮事項については、「」を参照してくださいElastic Beanstalk 環境の起動テンプレート。
Elastic Beanstalk コンソールで Amazon EC2 インスタンスの IMDS を設定するには
Elastic Beanstalk コンソール
を開き、リージョンリストで を選択します AWS リージョン。 -
ナビゲーションペインで、[環境] を選択し、リストから環境の名前を選択します。
注記
環境が多数ある場合は、検索バーを使用して環境リストをフィルタリングします。
ナビゲーションペインで、[設定] を選択します。
-
[Instance traffic and scaling] (インスタンスのトラフィックおよびスケーリング) 設定カテゴリで、[Edit] (編集) を選択します。
-
IMDSv2 を適用するには、[Disable IMDSv1 (IMDSv1 の無効化)] を設定します。IMDSv1 と IMDSv2 の両方を有効にするには、[Disable IMDSv1 (IMDSv1 の無効化)] をオフにします。
-
ページの最下部で [適用] を選択し変更を保存します。
aws:autoscaling:launchconfiguration 名前空間
aws:autoscaling:launchconfiguration
名前空間の設定オプションを使用して、環境のインスタンスで IMDS を設定します。
重要
DisableIMDSv1
オプション設定により、Elastic Beanstalk が起動テンプレートを使用して環境を作成したり、起動設定から起動テンプレートに既存の環境を更新したりできます。これを行うには、起動テンプレートを管理するために必要なアクセス許可が必要です。これらのアクセス許可は、 マネージドポリシーに含まれています。管理ポリシーの代わりにカスタムポリシーを使用すると、環境のスポットインスタンスを有効にすると、環境の作成または更新が失敗することがあります。詳細およびその他の考慮事項については、「」を参照してくださいElastic Beanstalk 環境の起動テンプレート。
次に示す設定ファイル例では、DisableIMDSv1
オプションを使用して IMDSv1 を無効にしています。
option_settings:
aws:autoscaling:launchconfiguration:
DisableIMDSv1: true
IMDSv1 を無効にして IMDSv2 が適用されるようにするには、DisableIMDSv1 を true
に設定します。
IMDSv1 と IMDSv2 の両方を有効にするには、DisableIMDSv1 を false
に設定します。