跳至內容

如何在 EC2 執行個體上設定執行個體中繼資料並啟用標籤?

2 分的閱讀內容
0

我想在 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上設定執行個體中繼資料服務 (IMDS)。

簡短描述

您可以在所有 AWS 區域中,為 AWS 帳戶中的新執行個體設定預設 IMDS 功能。預設情況下,最新的執行個體類型使用執行個體中繼資料服務版本 2 (IMDSv2)。若要在這些執行個體類型上使用執行個體中繼資料服務版本 1 (IMDSv1),您必須在執行個體中手動啟用 IMDSv1。除非必須使用 IMDSv1,否則最佳做法是使用 IMDSv2 來確保安全。

**重要:**如果您在執行個體上設定 IMDSv2,則 IMDSv1 將無法在運作,並且使用 IMDSv1 的應用程式可能無法正常運作。在強制執行 IMDSv2 之前,請將使用 Amazon EC2 中繼資料的應用程式升級到支援 IMDSv2 的版本。如需 IMDSv1 和 IMDSv2 之間差異的詳細資訊,請參閱使用執行個體中繼資料服務存取執行個體中繼資料

預設情況下,Amazon EC2 不提供對執行個體中繼資料中,執行個體標籤的存取權。您必須在執行個體啟動時,或在正在執行或已停止的執行個體上啟動後,允許存取。

解決方法

**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本

您可以使用下列方法組合來設定執行個體中繼資料。不過,您必須在啟動執行個體時,設定中繼資料選項的階層優先順序

在 AMI 層級設定執行個體中繼資料

您可以設定現有或新的 Amazon Machine Image (AMI) 以使用 IMDSv2。當您使用已設定的 AMI 啟動執行個體時,Amazon EC2 會自動將執行個體中繼資料版本設定為 IMDSv2,並將躍點限制設為 2

**重要:**請務必確認您的 AMI 軟體是否支援 IMDSv2。將 imds-support 值設為 v2.0 後,您將無法將其復原。唯一重設 AMI 的方法是使用基礎快照建立新的 AMI。

若要設定新的 AMI 以使用 IMDSv2,請執行下列 register-image AWS CLI 命令:

aws ec2 register-image \
    --name my-image \
    --root-device-name /dev/xvda \
    --block-device-mappings DeviceName=/dev/xvda,Ebs={SnapshotId=snap-0123456789example} \
    --architecture x86_64 \
    --imds-support v2.0

**注意:**將 my-image 替換為您的 AMI 名稱,將 /dev/xvda 替換為您的根磁碟區裝置名稱,將 snap-0123456789example 替換為您的快照 ID,並將 x86_64 替換為您的架構。

若要將現有 AMI 設定為使用 IMDSv2,請執行以下 modify-image-attribute 命令:

aws ec2 modify-image-attribute \
    --image-id ami-0123456789example \
    --imds-support v2.0

**注意:**將 ami-0123456789example 替換為您現有的 AMI ID。

允許在啟動範本的中繼資料中使用標籤

您不能直接設定對 AMI 標籤的存取權。您必須建立 Amazon EC2 啟動範本。在 Advanced details (進階詳細資訊) 下,將 Allow tags in metadata (允許中繼資料中的標籤) 設定為 -。從此啟動範本啟動的執行個體,允許從執行個體中繼資料存取該執行個體的所有標籤。

在帳戶層級設定執行個體中繼資料

為您帳戶中的所有執行個體設定 IMDSv2。或者,若要允許 IMDSv1,請在 Metadata version (中繼資料版本) 中,選取 V1 and V2 (token optional) (V1 和 V2 (選用權杖))。若要允許在帳戶層級存取執行個體中繼資料中的標籤,請在 IMDS defaults (IMDS 預設值) 下將 Access to tags in metadata (存取中繼資料中的標籤) 設為 Enabled (啟用)。

**重要:**您必須為帳戶中的每個區域設定一次執行個體中繼資料。

在執行個體層級設定執行個體中繼資料

**注意:**AWS Identity and Access Management (IAM) 政策或服務控制政策 (SCP) 可能會限制您對執行個體設定所做的變更。

若要在新執行個體上設定對 IMDS 和中繼資料中標籤的存取權,請在啟動執行個體時展開 Advanced details (進階詳細資訊)。然後,設定以下設定:

  • Metadata accessible (中繼資料可存取) 中,選取 Enabled (啟用)。
  • Metadata version (中繼資料版本) 中,選取 V2 only (token required) (僅限 V2 (需要權杖)) 或 V1 and V2 (token optional) (V1 和 V2 (選用權杖))。
    **注意:**如果您使用容器環境,例如 Amazon Elastic Container Service (Amazon ECS) 或 Amazon Elastic Kubernetes Service (Amazon EKS),請在 Metadata response hop limit (中繼資料回應躍點限制) 中,選取 2
  • Access to tags in metadata (存取中繼資料中的標籤) 中,選取 Enabled (啟用)。

若要修改現有執行個體,請修改設定。若要使用 IMDSv1 或 IMDSv2,請為 IMDSv2 選取 Optional (選用)。若要強制執行 IMDSv2,請選取 Required (必要)。然後,在 Instance settings (執行個體設定) 下,選取 Allow tags in instance metadata (允許執行個體中繼資料中的標籤)。

相關資訊

預設情況下,Amazon EC2 執行個體中繼資料服務 IMDSv2

充分利用 IMDSv2 的優勢,並在您的 AWS 基礎架構中停用 IMDSv1

AWS 官方已更新 9 個月前