設定新執行個體的執行個體中繼資料選項 - Amazon Elastic Compute Cloud

設定新執行個體的執行個體中繼資料選項

需要使用 IMDSv2

您可以如下所示,透過多種方式在啟動時要求在執行個體上使用 IMDSv2:

啟動時設定執行個體

啟動執行個體時,您可以設定下列欄位,將執行個體設定為需要使用 IMDSv2:

  • Amazon EC2 主控台:將 Metadata version (中繼資料版本) 設為 V2 only (token required) (僅 V2 (需要權杖))。

  • AWS CLI:將 HttpTokens 設為 required

當您指定需要 IMDSv2 時,也必須透過將 Metadata accessible (可存取中繼資料) 設定為 Enabled (已啟用) (主控台) 或將 HttpEndpoint 設為 enabled (AWS CLI) 來啟用執行個體中繼資料服務端點。

New console

要求在新執行個體上使用 IMDSv2

  • 在 Amazon EC2 主控台中啟動新執行個體時,展開 Advanced details (進階詳細資訊),並執行下列動作:

    • 針對 Metadata accessible (可存取中繼資料),選擇 Enabled (已啟用)。

    • 針對 Metadata version (中繼資料版本),選擇 V2 only (token required) (僅限 V2 (需要權杖))。

    如需詳細資訊,請參閱 進階詳細資訊

Old console

要求在新執行個體上使用 IMDSv2

  • 在 Amazon EC2 主控台中啟動新執行個體時,請在 Configure Instance Details (設定執行個體詳細資訊) 頁面上選取下列選項:

    • Advanced Details (進階詳細資訊) 下,針對 (可存取中繼資料),選取 Enabled (已啟用)

    • 針對 Metadata version (中繼資料版本),請選取 V2 (token required) (V2 (需要字符))

如需詳細資訊,請參閱 步驟 3:設定執行個體詳細資訊

AWS CLI

要求在新執行個體上使用 IMDSv2

下列 run-instances 範例會啟動 c3.large 設定為 --metadata-optionsHttpTokens=required 執行個體。當您為 HttpTokens 指定值時,您也必須將 HttpEndpoint 設定為 enabled。由於中繼資料擷取請求的安全權杖標頭設定為 required,因此在要求執行個體中繼資料時需要執行個體使用 IMDSv2。

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type c3.large \ ... --metadata-options "HttpEndpoint=enabled,HttpTokens=required"
AWS CloudFormation

若要使用 AWS CloudFormation 指定執行個體的中繼資料選項,請參閱 AWS CloudFormation 使用者指南中的 AWS::EC2::LaunchTemplate MetadataOptions 屬性。

設定 AMI

當您註冊 AMI 時,您可以將 imds-support 參數設為 v2.0。從此 AMI 啟動的執行個體會將 Metadata version (中繼資料版本) 設定為 V2 only (token required) (僅 V2 (需要權杖)) (主控台) 或將 HttpTokens 設為 required (AWS CLI)。透過這些設定,執行個體要求在請求執行個體中繼資料時使用 IMDSv2。

請注意,當您將 imds-support 設為 v2.0 時,從這個 AMI 啟動的執行個體也將有 Metadata response hop limit (中繼資料回應跳轉限制) (主控台) 或將 http-put-response-hop-limit (AWS CLI) 設為 2

設定適用於 IMDSv2 的 AMI

以下 register-image 範例使用指定的 EBS 根磁碟區快照作為裝置 /dev/xvda 來註冊 AMI。為 imds-support 參數指定 v2.0,以便將 AMI 設定為指定從其啟動的執行個體將需要使用 IMDSv2。

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

使用 IAM 政策

您也可以建立 IAM 政策,以防止 IAM 使用者啟動新執行個體,除非其在新執行個體上需要 IMDSv2。

透過使用 IAM 政策,在所有新執行個體上強制使用 IMDSv2

若要在請求執行個體中繼資料時,確保 IAM 使用者僅能啟動需要使用 IMDSv2 的執行個體,您可以指定必須符合需要 IMDSv2 的條件,才能啟動執行個體。如需 IAM 政策範例,請參閱使用執行個體中繼資料

設定 IPv4 和 IPv6 端點

依預設,停用 IPv6 端點。即使您將執行個體啟動到僅限 IPv6 的子網,也是如此。您可選擇在使用 AWS CLI 時在執行個體啟動時啟用 IPv6 端點。此選項在 Amazon EC2 主控台中無法使用。

執行個體中繼資料服務的 IPv6 端點只能在 建置在 Nitro 系統上的執行個體 上存取。

設定 IPv4 和 IPv6 端點

以下 run-instances 範例會啟動已啟用執行個體中繼資料服務 IPv6 端點的 t3.large 執行個體。若要啟用 IPv6 端點,對於 --metadata-options 參數,請指定 HttpProtocolIpv6=enabled。當您為 HttpProtocolIpv6 指定值時,您也必須將 HttpEndpoint 設定為 enabled

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type t3.large \ ... --metadata-options "HttpEndpoint=enabled,HttpProtocolIpv6=enabled"

關閉對執行個體中繼資料的存取

無論您使用的是哪個版本的執行個體中繼資料服務,您都可以確保關閉對執行個體中繼資料的存取。您稍後可以使用 modify-instance-metadata-options 命令開啟存取。

New console

關閉對執行個體中繼資料的存取

  • 在 Amazon EC2 主控台中啟動執行個體,並在 Advanced details (進階詳細資訊) 下指定以下內容:

    • 針對 Metadata accessible (可存取中繼資料),選擇 Disabled (已停用)。

如需詳細資訊,請參閱 進階詳細資訊

Old console

關閉對執行個體中繼資料的存取

  • 在 Amazon EC2 主控台中啟動執行個體時,請在 Configure Instance Details (設定執行個體詳細資訊) 頁面上選取下列選項:

    • Advanced Details (進階詳細資訊) 下,針對 (可存取中繼資料),選取 Disabled (已停用)

如需詳細資訊,請參閱 步驟 3:設定執行個體詳細資訊

AWS CLI

關閉對執行個體中繼資料的存取

--metadata-options 設為 HttpEndpoint=disabled 來啟動執行個體。

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type c3.large \ ... --metadata-options "HttpEndpoint=disabled"
AWS CloudFormation

若要使用 AWS CloudFormation 指定執行個體的中繼資料選項,請參閱 AWS CloudFormation 使用者指南中的 AWS::EC2::LaunchTemplate MetadataOptions 屬性。