翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Elastic Beanstalk 環境のインスタンスでの IMDS の設定
このトピックでは、インスタンスメタデータサービス (IMDS) について説明します。
インスタンスメタデータは、アプリケーションが実行中のインスタンスを設定または管理するために使用できる Amazon Elastic Compute Cloud (Amazon EC2) インスタンスに関連するデータです。インスタンスメタデータサービス (IMDS) は、インスタンス上のコードによって、インスタンスメタデータに安全にアクセスするために使用されるインスタンス上のコンポーネントです。このコードは、環境のインスタンスの Elastic Beanstalk プラットフォームのコード、アプリケーションが使用している可能性のある AWS SDK、あるいはアプリケーション自体のコードである可能性があります。詳細については、「Amazon 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 SDK では IMDS 呼び出しを行い、新しいバージョンの SDK では可能な限り IMDSv2 が使用されています。IMDSv1 を無効にすると、アプリケーションで以前の SDK バージョンが使用されている場合に、IMDS 呼び出しが失敗することがあります。
-
アプリケーションコード – アプリケーションで IMDS 呼び出しが行われる場合は、直接 HTTP リクエストを行うのではなく、AWS SDK を使用して呼び出しを行うことを検討してください。このようにすると、異なる IMDS 手法間で切り替えるためにコードを変更する必要はありません。AWS SDK では、可能な限り IMDSv2 が使用されています。
-
Elastic Beanstalk プラットフォームコード - このコードでは、AWS SDK を介して IMDS 呼び出しを行うため、すべてのサポート対象プラットフォームバージョンで IMDSv2 を使用します。最新の SDK を使用し、AWS SDK を介してすべての IMDS 呼び出しを行うコードでは、IMDSv1 を安全に無効にできます。
Elastic Beanstalk コンソールを使用した IMDS の設定
Elastic Beanstalk コンソールで、Elastic Beanstalk 環境の Amazon EC2 インスタンス設定を変更できます。
重要
DisableIMDSv1
オプション設定により、Elastic Beanstalk が起動テンプレートを使用して環境を作成したり、起動設定から起動テンプレートに既存の環境を更新したりできます。詳細については、テンプレートの起動 をご参照ください。
Elastic Beanstalk コンソールで Amazon EC2 インスタンスの IMDS を設定するには
Elastic Beanstalk コンソール
を開き、[Regions] (リージョン) リストで 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 が起動テンプレートを使用して環境を作成したり、起動設定から起動テンプレートに既存の環境を更新したりできます。詳細については、テンプレートの起動 をご参照ください。
次に示す設定ファイル例では、DisableIMDSv1
オプションを使用して IMDSv1 を無効にしています。
option_settings:
aws:autoscaling:launchconfiguration:
DisableIMDSv1: true
IMDSv1 を無効にして IMDSv2 が適用されるようにするには、DisableIMDSv1 を true
に設定します。
IMDSv1 と IMDSv2 の両方を有効にするには、DisableIMDSv1 を false
に設定します。