修改現有執行個體的執行個體中繼資料選項 - Amazon Elastic Compute Cloud

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

修改現有執行個體的執行個體中繼資料選項

您可以修改現有執行個體的執行個體中繼資料選項。

您也可以建立 IAM 政策,以防止使用者修改現有執行個體上的執行個體中繼資料選項。若要控制哪些使用者可以修改執行個體中繼資料選項,請指定一個政策,以防止具有指定角色的使用者以外的所有使用者使用 ModifyInstanceMetadataOptions API。如需 IAM 政策範例,請參閱使用執行個體中繼資料

注意

如果使用宣告式政策來設定執行個體中繼資料選項,則您無法直接在帳戶內進行修改。如需詳細資訊,請參閱「AWS Organizations 使用者指南」中的宣告式政策

需要使用 IMDSv2

使用下列其中一種方法來修改現有執行個體上的執行個體中繼資料選項,以便在請求執行個體中繼資料時要求 IMDSv2。當要求 IMDSv2 時,就無法使用 IMDSv1。

注意

在要求使用 IMDSv2 之前,請確定執行個體並未進行 IMDSv1 呼叫。MetadataNoToken CloudWatch 指標會追蹤 IMDSv1 呼叫。當 MetadataNoToken 將執行個體的 IMDSv1 使用量記錄為零時,則執行個體準備好需要 IMDSv2。

Console
要求在現有執行個體上使用 IMDSv2
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Instances (執行個體)。

  3. 選取執行個體。

  4. 選擇動作執行個體設定修改執行個體中繼資料選項

  5. 修改執行個體中繼資料選項對話方塊中,執行下列動作:

    1. 針對執行個體中繼資料服務,請選取啟用

    2. 針對 IMDSv2,請選擇必要

    3. 選擇 Save (儲存)。

AWS CLI
要求在現有執行個體上使用 IMDSv2

使用 modify-instance-metadata-options CLI 命令,並將 http-tokens 參數設定為 required。當您為 http-tokens 指定值時,您也必須將 http-endpoint 設定為 enabled

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567898abcdef0 \ --http-tokens required \ --http-endpoint enabled
PowerShell
要求在現有執行個體上使用 IMDSv2

使用 Edit-EC2InstanceMetadataOption Cmdlet,並將 HttpTokens 參數設定為 required。當您為 HttpTokens 指定值時,您也必須將 HttpEndpoint 設定為 enabled

(Edit-EC2InstanceMetadataOption ` -InstanceId i-1234567898abcdef0 ` -HttpTokens required ` -HttpEndpoint enabled).InstanceMetadataOptions

還原使用 IMDSv1

當要求 IMDSv2 時,在請求執行個體中繼資料時,IMDSv1 將無法運作。當 IMDSv2 為選用時,IMDSv2 和 IMDSv1 都可以運作。因此,若要還原 IMDSv1,請使用下列其中一種方法,將 IMDSv2 設為選用。

Console
在執行個體上還原使用 IMDSv1
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Instances (執行個體)。

  3. 選取執行個體。

  4. 選擇動作執行個體設定修改執行個體中繼資料選項

  5. 修改執行個體中繼資料選項對話方塊中,執行下列動作:

    1. 針對執行個體中繼資料服務,請確定已選取啟用

    2. 針對 IMDSv2,請選擇選用

    3. 選擇 Save (儲存)。

AWS CLI
在執行個體上還原使用 IMDSv1

您可使用 modify-instance-metadata-options CLI 命令並將 http-tokens 設定為 optional,以在要求執行個體中繼資料時還原使用 IMDSv1。

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567898abcdef0 \ --http-tokens optional \ --http-endpoint enabled
PowerShell
在執行個體上還原使用 IMDSv1

您可以在要求執行個體中繼資料時,使用 Edit-EC2InstanceMetadataOption Cmdlet 且將 HttpTokens 設定為 optional,以還原 IMDSv1 的使用。

(Edit-EC2InstanceMetadataOption ` -InstanceId i-1234567898abcdef0 ` -HttpTokens optional ` -HttpEndpoint enabled).InstanceMetadataOptions

變更 PUT 回應跳轉限制

對於現有執行個體,您可以變更 PUT 回應跳轉限制的設定。

目前只有 AWS CLI 和 AWS SDKs 支援變更 PUT 回應跳轉限制。

AWS CLI
如何變更 PUT 回應跳轉限制

使用 modify-instance-metadata-options CLI 命令,並將 http-put-response-hop-limit 參數設定為必要的跳轉數目。在下列範例中,跳轉限制設定為 3。請注意,為 http-put-response-hop-limit 指定數值時,您還必須將 http-endpoint 設定為 enabled

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567898abcdef0 \ --http-put-response-hop-limit 3 \ --http-endpoint enabled
PowerShell
如何變更 PUT 回應跳轉限制

使用 Edit-EC2InstanceMetadataOption Cmdlet,並將 HttpPutResponseHopLimit 參數設定為所需的躍點數量。在下列範例中,跳轉限制設定為 3。請注意,為 HttpPutResponseHopLimit 指定數值時,您還必須將 HttpEndpoint 設定為 enabled

(Edit-EC2InstanceMetadataOption ` -InstanceId i-1234567898abcdef0 ` -HttpPutResponseHopLimit 3 ` -HttpEndpoint enabled).InstanceMetadataOptions

啟用 IMDS IPv4 和 IPv6 端點

IMDS 在執行個體上有兩個端點:IPv4 (169.254.169.254) 和 IPv6 ([fd00:ec2::254])。當您啟用 IMDS 時,IPv4 端點會自動啟用。即使您在僅限 IPv6 的子網路中啟動執行個體,IPv6 端點仍會保持停用狀態。若要啟用 IPv6 端點,則需要明確啟用。當您啟用 IPv6 端點時,IPv4 端點會保持啟用狀態。

您可以在執行個體啟動時或啟動之後啟用 IPv6 端點。

啟用 IPv6 端點的需求

目前只有 AWS CLI 和 AWS SDKs支援在執行個體啟動後啟用 IMDS IPv6 端點。

AWS CLI
為您的執行個體啟用 IMDS IPv6 端點

使用 modify-instance-metadata-options CLI 命令,並將 http-protocol-ipv6 參數設定為 enabled。請注意,為 http-protocol-ipv6 指定數值時,您還必須將 http-endpoint 設定為 enabled

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567898abcdef0 \ --http-protocol-ipv6 enabled \ --http-endpoint enabled
PowerShell
為您的執行個體啟用 IMDS IPv6 端點

使用 Edit-EC2InstanceMetadataOption Cmdlet,並將 HttpProtocolIpv6 參數設定為 enabled。請注意,為 HttpProtocolIpv6 指定數值時,您還必須將 HttpEndpoint 設定為 enabled

(Edit-EC2InstanceMetadataOption ` -InstanceId i-1234567898abcdef0 ` -HttpProtocolIpv6 enabled ` -HttpEndpoint enabled).InstanceMetadataOptions

開啟對執行個體中繼資料的存取

無論使用哪個版本的 IMDS,都可以啟用執行個體上 IMDS 的 HTTP 端點,來開啟對執行個體中繼資料的存取。您可以停用 HTTP 端點,以隨時反轉這項變更。

使用下列其中一種方法來開啟對執行個體上執行個體中繼資料的存取。

Console
開啟對執行個體中繼資料的存取
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Instances (執行個體)。

  3. 選取執行個體。

  4. 選擇動作執行個體設定修改執行個體中繼資料選項

  5. 修改執行個體中繼資料選項對話方塊中,執行下列動作:

    1. 針對執行個體中繼資料服務,請選取啟用

    2. 選擇 Save (儲存)。

AWS CLI
開啟對執行個體中繼資料的存取

使用 modify-instance-metadata-options CLI 命令,並將 http-endpoint 參數設定為 enabled

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567898abcdef0 \ --http-endpoint enabled
PowerShell
開啟對執行個體中繼資料的存取

使用 Edit-EC2InstanceMetadataOption Cmdlet,並將 HttpEndpoint 參數設定為 enabled

(Edit-EC2InstanceMetadataOption ` -InstanceId i-1234567898abcdef0 ` -HttpEndpoint enabled).InstanceMetadataOptions

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

無論使用哪個版本的 IMDS,都可以停用執行個體上 IMDS 的 HTTP 端點,來關閉對執行個體中繼資料的存取。您可以啟用 HTTP 端點,以隨時反轉這項變更。

使用下列其中一種方法來關閉對執行個體上執行個體中繼資料的存取。

Console
關閉對執行個體中繼資料的存取
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Instances (執行個體)。

  3. 選取執行個體。

  4. 選擇動作執行個體設定修改執行個體中繼資料選項

  5. 修改執行個體中繼資料選項對話方塊中,執行下列動作:

    1. 針對執行個體中繼資料服務,清除啟用

    2. 選擇 Save (儲存)。

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

使用 modify-instance-metadata-options CLI 命令,並將 http-endpoint 參數設定為 disabled

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567898abcdef0 \ --http-endpoint disabled
PowerShell
關閉對執行個體中繼資料的存取

使用 Edit-EC2InstanceMetadataOption Cmdlet,並將 HttpEndpoint 參數設定為 disabled

(Edit-EC2InstanceMetadataOption ` -InstanceId i-1234567898abcdef0 ` -HttpEndpoint disabled).InstanceMetadataOptions

允許存取執行個體中繼資料中的標籤

您可以允許存取執行中或已停止執行個體上執行個體中繼資料中的標籤。對於每個執行個體,您必須明確允許存取。如果允許存取,則執行個體標籤金鑰必須符合特定字元限制,否則將收到錯誤訊息。如需詳細資訊,請參閱允許存取執行個體中繼資料中的標籤