为现有实例修改实例元数据选项 - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

为现有实例修改实例元数据选项

您可以修改现有实例的元数据选项。您还可以创建 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-limit 3 \ --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,请参阅 使用实例元数据