本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
修改現有執行個體的執行個體中繼資料選項
您可以修改現有執行個體的執行個體中繼資料選項。
您也可以建立 IAM 政策,以防止使用者修改現有執行個體上的執行個體中繼資料選項。若要控制哪些使用者可以修改執行個體中繼資料選項,請指定一個政策,以防止具有指定角色的使用者以外的所有使用者使用 ModifyInstanceMetadataOptions API。如需 IAM 政策範例,請參閱使用執行個體中繼資料。
如果使用宣告式政策來設定執行個體中繼資料選項,則您無法直接在帳戶內進行修改。如需詳細資訊,請參閱「AWS Organizations 使用者指南」中的宣告式政策。
需要使用 IMDSv2
使用下列其中一種方法來修改現有執行個體上的執行個體中繼資料選項,以便在請求執行個體中繼資料時要求 IMDSv2。當要求 IMDSv2 時,就無法使用 IMDSv1。
在要求使用 IMDSv2 之前,請確定執行個體並未進行 IMDSv1 呼叫。MetadataNoToken
CloudWatch 指標會追蹤 IMDSv1 呼叫。當 MetadataNoToken
將執行個體的 IMDSv1 使用量記錄為零時,則執行個體準備好需要 IMDSv2。
- Console
-
要求在現有執行個體上使用 IMDSv2
在 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。
-
在導覽窗格中,選擇 Instances (執行個體)。
-
選取執行個體。
-
選擇動作、執行個體設定、修改執行個體中繼資料選項。
-
在修改執行個體中繼資料選項對話方塊中,執行下列動作:
-
針對執行個體中繼資料服務,請選取啟用。
-
針對 IMDSv2,請選擇必要。
-
選擇 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
在 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。
-
在導覽窗格中,選擇 Instances (執行個體)。
-
選取執行個體。
-
選擇動作、執行個體設定、修改執行個體中繼資料選項。
-
在修改執行個體中繼資料選項對話方塊中,執行下列動作:
-
針對執行個體中繼資料服務,請確定已選取啟用。
-
針對 IMDSv2,請選擇選用。
-
選擇 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 端點。
目前只有 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
-
開啟對執行個體中繼資料的存取
在 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。
-
在導覽窗格中,選擇 Instances (執行個體)。
-
選取執行個體。
-
選擇動作、執行個體設定、修改執行個體中繼資料選項。
-
在修改執行個體中繼資料選項對話方塊中,執行下列動作:
-
針對執行個體中繼資料服務,請選取啟用。
-
選擇 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
-
關閉對執行個體中繼資料的存取
在 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。
-
在導覽窗格中,選擇 Instances (執行個體)。
-
選取執行個體。
-
選擇動作、執行個體設定、修改執行個體中繼資料選項。
-
在修改執行個體中繼資料選項對話方塊中,執行下列動作:
-
針對執行個體中繼資料服務,清除啟用。
-
選擇 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
您可以允許存取執行中或已停止執行個體上執行個體中繼資料中的標籤。對於每個執行個體,您必須明確允許存取。如果允許存取,則執行個體標籤金鑰必須符合特定字元限制,否則將收到錯誤訊息。如需詳細資訊,請參閱允許存取執行個體中繼資料中的標籤。