

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# `AWSSupport-ConfigureEC2Metadata`
<a name="automation-awssupport-configureec2metadata"></a>

 **描述** 

本运行手册可帮助您为亚马逊弹性计算云 (Amazon) 实例配置实例元数据服务 (IMDS EC2) 选项。使用此运行手册，您可以执行以下配置：
+  IMDSv2 例如，强制使用元数据。
+ 配置 `HttpPutResponseHopLimit` 值。
+ 允许或拒绝访问实例元数据。

有关实例元数据的更多信息，请参阅 *Amazon EC2 用户指南*中的[配置实例元数据服务](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html)。

[运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-ConfigureEC2Metadata)

**文档类型**

自动化

**所有者**

Amazon

**平台**

Linux，macOS, Windows

**参数**
+ AutomationAssumeRole

  类型：字符串

  描述：（可选）允许 Systems Manager Automation 代表您执行操作 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称（ARN）。如果未指定角色，Systems Manager Automation 将使用启动此运行手册的用户的权限。
+ 强制执行 IMDSv2

  类型：字符串

  有效值：必需 \$1 可选

  默认：可选

  描述：（可选）强制执行 IMDSv2。如果您愿意`required`，Amazon EC2 实例将仅使用 IMDSv2。如果您愿意`optional`，则可以在 IMDSv1 和之间进行选择， IMDSv2 以访问元数据。
**重要**  
如果强制执行 IMDSv2，使用的应用程序 IMDSv1 可能无法正常运行。在强制执行之前 IMDSv2，请确保使用 IMDS 的应用程序已升级到支持的 IMDSv2版本。有关实例元数据服务版本 2 (IMDSv2) 的信息，请参阅 *Amazon EC2 用户指南*中的[配置实例元数据服务](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html)。
+ HttpPutResponseHopLimit

  类型：整数

  有效值：0-64

  默认：0

  描述：（可选）实例元数据请求的所需 HTTP PUT 响应跃点限制值 (1-64)。此值控制 PUT 响应可以遍历的跳点数。为防止响应在实例之外传播，请为参数值指定 `1`。
+ InstanceId

  类型：字符串

  描述：（必填）您要配置其元数据设置的 Amazon EC2 实例的 ID。
+ MetadataAccess

  类型：字符串

  有效值：启用 \$1 禁用

  默认值：启用

  描述：（可选）允许或拒绝访问 Amazon 实例中的 EC2 实例元数据。如果您指定 `disabled`，则所有其他参数将被忽略，且实例的元数据访问将被拒绝。

**所需的 IAM 权限**

`AutomationAssumeRole` 参数需要执行以下操作才能成功使用运行手册。
+ `ec2:DescribeInstances`
+ `ec2:ModifyInstanceMetadataOptions`
+ `ssm:GetAutomationExecution`
+ `ssm:StartAutomationExecution`

 **文档步骤** 

1. branchOnMetadataAccess-根据`MetadataAccess`参数值进行分支自动化。

1. disableMetadataAccess -调用 ModifyInstanceMetadataOptions API 操作以禁用元数据端点访问权限。

1. branchOnHttpPutResponseHopLimit -根据`HttpPutResponseHopLimit`参数的值分支自动化。

1. maintainHopLimitAndConfigureImdsVersion -如果`HttpPutResponseHopLimit`为 0，则保持当前跳跃限制并更改其他元数据选项。

1. waitBeforeAssertingIMDSv2状态-在断言 IMDSv2状态之前等待 30 秒。

1. setHopLimitAndConfigureImdsVersion -如果大`HttpPutResponseHopLimit`于 0，则使用给定的输入参数配置元数据选项。

1. waitBeforeAssertingHopLimit -在断言元数据选项之前等待 30 秒。

1. assertHopLimit -断言该`HttpPutResponseHopLimit`属性已设置为您指定的值。

1. branchVerificationOnIMDSv2选项-根据`EnforceIMDSv2`参数的值进行分支验证。

1. 断言 IMDSv2 IsOptional -将`HttpTokens`值设置为。`optional`

1. 断言 IMDSv2 IsEnforced -将`HttpTokens`值设置为。`required`

1. waitBeforeAssertingMetadataState -等待 30 秒后才断言元数据状态已禁用。

1. assertMetadataIs已禁用-断言元数据为。`disabled`

1. describeMetadataOptions -在应用您指定的更改后获取元数据选项。

 **输出** 

describeMetadataOptions.State

describeMetadataOptions.MetadataAccess

describeMetadataOptions.IMDSv2

describeMetadataOptions.HttpPutResponseHopLimit