

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

# 实例元数据服务（IMDS）配置
<a name="imds-compute-environments"></a>

实例元数据服务（IMDS）向在 EC2 实例上运行的应用程序提供有关该等实例的元数据。使用 IMDSv2 处理所有新工作负载，并将现有工作负载从 IMDSv1 迁移到 IMDSv2 以提高安全性。有关 IMDS 和配置 IMDS 的更多信息，请参阅《Amazon EC2 用户指南》中的[使用实例元数据管理 EC2 实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)和[为新实例配置实例元数据选项](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-IMDS-new-instances.html)**。

## 配置方案
<a name="imds-configuration-scenarios"></a>

根据计算环境设置选择适当的配置方法：

### 没有启动模板的默认 AMI
<a name="imds-default-ami-no-lt"></a>

当您使用默认 AWS Batch AMI 但未指定启动模板时，请选择以下选项之一：

1. **使用Amazon Linux 2023 的默认 AMI**：Amazon Linux 2023 默认要求使用 IMDSv2。创建计算环境时，对于映像类型请选择 **Amazon Linux 2023**。

1. **设置账户级别 IMDSv2 配置**：将您的 AWS 账户配置为要求所有新实例使用 IMDSv2。此设置会影响您在该账户中启动的所有新实例。有关说明，请参阅 《Amazon EC2 用户指南》中的[将 IMDSv2 设置为账户默认设置](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-IMDS-new-instances.html#set-imdsv2-account-defaults)**。
**注意**  
启动模板或 AMI 配置可能会覆盖账户级别 IMDS 配置。启动模板设置的优先级高于账户级别设置。

### 没有启动模板的自定义 AMI
<a name="imds-custom-ami-no-lt"></a>

当您在没有启动模板的情况下使用自定义 AMI 时，请选择以下选项之一：

1. **以 Amazon Linux 2023 为基础**：将 Amazon Linux 2023 作为基础映像来构建自定义 AMI。有关创建适用于 Batch 的自定义 AMI 的更多信息，请参阅[教程：创建计算资源 AMI](create-batch-ami.md)。

1. **在自定义 AMI 中配置 IMDSv2**：创建自定义 AMI 时，将其配置为要求使用 IMDSv2。有关操作说明，请参阅《Amazon EC2 用户指南》中的[为自定义实例配置实例元数据选项](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-IMDS-new-instances.html#configure-IMDS-new-instances-ami-configuration)**。

1. **设置账户级别 IMDSv2 配置**：将您的 AWS 账户配置为要求所有新实例使用 IMDSv2。此设置会影响您在该账户中启动的所有新实例。有关说明，请参阅 《Amazon EC2 用户指南》中的[将 IMDSv2 设置为账户默认设置](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-IMDS-new-instances.html#set-imdsv2-account-defaults)**。
**注意**  
启动模板或 AMI 配置可能会覆盖账户级别 IMDS 配置。启动模板设置的优先级高于账户级别设置。

### 使用启动模板
<a name="imds-launch-template"></a>

在计算环境中使用启动模板时，请在启动模板中添加元数据选项以要求使用 IMDSv2。有关将启动模板与 Batch 结合使用的更多信息，请参阅[使用 Amazon EC2 启动模板和 AWS Batch](launch-templates.md)。

```
{
    "LaunchTemplateName": "batch-imdsv2-template",
    "VersionDescription": "IMDSv2 only template for Batch",
    "LaunchTemplateData": {
        "MetadataOptions": {
            "HttpTokens": "required"
        }
    }
}
```

使用 AWS CLI 创建启动模板：

```
aws ec2 create-launch-template --cli-input-json file://imds-template.json
```