本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 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 SDK,以便您可以發出呼叫,而不是直接提出 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 使用啟動範本建立環境,或將現有環境從啟動組態更新為啟動範本。這樣做需要必要的許可來管理啟動範本。這些許可包含在我們的 受管政策中。如果您使用自訂政策,而不是我們的受管政策,當您為環境啟用 Spot 執行個體時,環境建立或更新可能會失敗。如需詳細資訊和其他考量事項,請參閱 啟動 Elastic Beanstalk 環境的範本。
在 Elastic Beanstalk 主控台中,於 Amazon EC2 執行個體上設定 IMDS
開啟 Elastic Beanstalk 主控台
,然後在區域清單中選取您的 AWS 區域。 -
在導覽窗格中,選擇環境,然後在清單中選擇您環境的名稱。
注意
如果您有許多環境,請使用搜尋列來篩選環境清單。
在導覽窗格中,選擇組態。
-
在 Instance traffic and scaling (執行個體流量和擴展) 組態類別中,選擇 Edit (編輯)。
-
設定 Disable IMDSv1 (停用 IMDSv1) 以強制執行 IMDSv2。清除 Disable IMDSv1 (停用 IMDSv1) 以同時啟用 IMDSv1 和 IMDSv2。
-
若要儲存變更,請選擇頁面底部的儲存變更。
aws:autoscaling:launchconfiguration 命名空間
您可以使用 aws:autoscaling:launchconfiguration
命名空間中的組態選項,以在您環境的執行個體上設定 IMDS。
重要
DisableIMDSv1
選項設定可能會導致 Elastic Beanstalk 使用啟動範本建立環境,或將現有環境從啟動組態更新為啟動範本。這樣做需要必要的許可來管理啟動範本。這些許可包含在我們的 受管政策中。如果您使用自訂政策,而不是我們的受管政策,當您為環境啟用 Spot 執行個體時,環境建立或更新可能會失敗。如需詳細資訊和其他考量事項,請參閱 啟動 Elastic Beanstalk 環境的範本。
下列組態檔案範例會使用 DisableIMDSv1
選項來停用 IMDSv1。
option_settings:
aws:autoscaling:launchconfiguration:
DisableIMDSv1: true
將 DisableIMDSv1 設為 true
以停用 IMDSv1 並強制執行 IMDSv2。
將 DisableIMDSv1 設定為 false
以啟用 IMDSv1 和 IMDSv2。