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

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

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

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

查詢現有執行個體的執行個體中繼資料選項

您可以使用下列其中一種方法,查詢現有執行個體的執行個體中繼資料選項。

Console
若要查詢現有執行個體的執行個體中繼資料選項,請使用 AWS Management Console
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

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

  3. 選取執行個體。

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

  5. 在「修改執行個體中繼資料選項」對話方塊中,檢閱目前執行個體中繼資料選項。

AWS CLI
若要查詢現有執行個體的執行個體中繼資料選項,請使用 AWS CLI

使用 describe-instances CLI 命令。

aws ec2 describe-instances \ --instance-id i-1234567898abcdef0 \ --query 'Reservations[].Instances[].MetadataOptions'
PowerShell
若要查詢現有執行個體的執行個體中繼資料選項,請使用 Tools for PowerShell

使用 Get-EC2Instance Cmdlet。

(Get-EC2Instance ` -InstanceId i-1234567898abcdef0).Instances.MetadataOptions

需要使用 IMDSv2

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

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 SDK 支援變更 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

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

依預設,停用 IPv6 端點。即使您已將執行個體啟動至僅限 IPv6 的子網,也是如此。IMDS 的 IPv6 端點只能在 建置在 Nitro 系統上的執行個體 上存取。

目前只有 AWS CLI 和 AWS SDK 支援為您的執行個體啟用 IPv6 端點。

AWS CLI
為您的執行個體啟用 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
為您的執行個體啟用 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