为现有实例修改实例元数据选项
您可以修改现有实例的元数据选项。您还可以创建 IAM policy 来阻止用户修改现有实例上的元数据选项。
您可以修改现有实例的下列元数据选项。
-
要求在现有实例上使用 IMDSv2。
-
更改
PUT
响应跃点限制。 -
关闭对现有实例上实例元数据的访问权限。
您无法使用 Amazon EC2 控制台修改实例元数据选项。目前只有 Amazon CLI 或 Amazon SDK 支持修改现有实例上的实例元数据选项。
要求使用 IMDSv2
您可以要求在请求实例元数据时使用 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
更改 PUT 响应跃点限制
对于现有的实例,您可以更改 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-limit3
\ --http-endpoint enabled
使用 IMDSv2 恢复在实例上使用 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
为您的实例启用 IPv6 端点
默认禁用 IPv6 端点。即使您已在仅 IPv6 子网中启动了实例,也是如此。实例元数据服务的 IP6 端点仅可通过 基于 Nitro 系统构建的实例 访问。
请使用 modify-instance-metadata-options CLI 命令,并将 http-endpoint
参数设置为 enabled
。
aws ec2 modify-instance-metadata-options \ --instance-id
i-1234567898abcdef0
\ --http-protocol-ipv6 enabled \ --http-endpoint enabled
关闭对实例元数据的访问
您可以通过禁用实例元数据服务的 HTTP 终端节点以禁用实例元数据访问,而无论使用的是哪种实例元数据服务版本。您可以随时通过启用 HTTP 端点来撤消此更改。
使用 modify-instance-metadata-options CLI 命令,并将 http-endpoint
参数设置为 disabled
aws ec2 modify-instance-metadata-options \ --instance-id
i-1234567898abcdef0
\ --http-endpoint disabled
控制 modify-instance-metadata-options 的使用
要控制哪些 IAM 用户可以修改实例元数据选项,请指定一个策略,阻止具有除指定角色的用户以外的所有用户使用 ModifyInstanceMetadataOptions API。有关示例 IAM policy,请参阅 使用实例元数据。