View a markdown version of this page

在 Elastic Beanstalk 環境的執行個體上設定 IMDS - AWS Elastic Beanstalk

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 Elastic Beanstalk 環境的執行個體上設定 IMDS

本主題說明執行個體中繼資料服務 (IMDS)。

執行個體中繼資料是與 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體相關的資料,可供應用程式用來設定或管理執行中的執行個體。執行個體中繼資料服務 (IMDS) 是一種執行個體上的元件,可供執行個體上的程式碼用來安全地存取執行個體中繼資料。此程式碼可以是環境執行個體上的 Elastic Beanstalk 平台程式碼、應用程式可能正在使用的 AWS SDK,甚至是應用程式自己的程式碼。如需詳細資訊,請參閱《Amazon EC2 使用者指南》中的執行個體中繼資料與使用者資料。

程式碼可使用下列兩種方法之一,從執行中執行個體存取執行個體中繼資料:執行個體中繼資料服務第 1 版 (IMDSv1) 或執行個體中繼資料服務第 2 版 (IMDSv2)。IMDSv2 會使用工作階段導向的請求,並減緩可能用來嘗試存取 IMDS 的幾種漏洞類型。如需這兩種方法的資訊,請參閱《Amazon EC2 使用者指南》中的設定執行個體中繼資料服務。

IMDS 的平台支援

在 Amazon Linux 2 和 Amazon Linux 2023 和 Windows 伺服器上執行的 Elastic Beanstalk 平台都支援 IMDSv1 和 IMDSv2。如需詳細資訊,請參閱使用 Elastic Beanstalk 主控台來設定 IMDS。

選擇 IMDS 方法

在您決定要讓環境支援哪種 IMDS 方法時,請考慮下列使用案例:

  • AWS 開發套件 – 如果您的應用程式使用 AWS 開發套件,請務必使用最新版本的開發套件。 AWS SDKs 會發出 IMDS 呼叫,而較新的 SDK 版本會盡可能使用 IMDSv2。如果您曾停用 IMDSv1,或若您的應用程式使用舊版 SDK,IMDS 呼叫可能會失敗。

  • 您的應用程式程式碼 – 如果您的應用程式發出 IMDS 呼叫,請考慮使用 AWS 開發套件,以便您可以發出呼叫,而不是直接提出 HTTP 請求。如此一來,您就不需要變更程式碼以在 IMDS 方法之間切換。 AWS 開發套件會盡可能使用 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
  1. 開啟 Elastic Beanstalk 主控台,然後在區域清單中選取您的 AWS 區域。

  2. 在導覽窗格中,選擇環境,然後在清單中選擇您環境的名稱。

  3. 在導覽窗格中,選擇組態。

  4. 在 Instance traffic and scaling (執行個體流量和擴展) 組態類別中,選擇 Edit (編輯)。

  5. 設定 Disable IMDSv1 (停用 IMDSv1) 以強制執行 IMDSv2。清除 Disable IMDSv1 (停用 IMDSv1) 以同時啟用 IMDSv1 和 IMDSv2。

  6. 若要儲存變更,請選擇頁面底部的儲存變更。

aws:autoscaling:launchconfiguration 命名空間

您可以使用 aws:autoscaling:launchconfiguration 命名空間中的組態選項,以在您環境的執行個體上設定 IMDS。

重要

DisableIMDSv1 選項設定可能會導致 Elastic Beanstalk 遷移具有啟動組態的現有環境以啟動範本。這樣做需要必要的許可才能管理啟動範本。這些許可包含在我們的 受管政策中。如果您使用自訂政策,而不是我們的受管政策,當您更新環境組態時,環境建立或更新可能會失敗。如需詳細資訊和其他考量事項,請參閱 遷移 Elastic Beanstalk 環境以啟動範本。

下列組態檔案範例會使用 DisableIMDSv1 選項來停用 IMDSv1。

option_settings: aws:autoscaling:launchconfiguration: DisableIMDSv1: true

將 DisableIMDSv1 設定為 true以停用 IMDSv1 並強制執行 IMDSv2。

將 DisableIMDSv1 設定為 false以啟用 IMDSv1 和 IMDSv2。