实例元数据服务(IMDS)配置
实例元数据服务(IMDS)向在 EC2 实例上运行的应用程序提供有关该等实例的元数据。使用 IMDSv2 处理所有新工作负载,并将现有工作负载从 IMDSv1 迁移到 IMDSv2 以提高安全性。有关 IMDS 和配置 IMDS 的更多信息,请参阅《Amazon EC2 用户指南》中的使用实例元数据管理 EC2 实例和为新实例配置实例元数据选项。
配置方案
根据计算环境设置选择适当的配置方法:
没有启动模板的默认 AMI
当您使用默认 Amazon Batch AMI 但未指定启动模板时,请选择以下选项之一:
-
使用Amazon Linux 2023 的默认 AMI:Amazon Linux 2023 默认要求使用 IMDSv2。创建计算环境时,对于映像类型请选择 Amazon Linux 2023。
-
设置账户级别 IMDSv2 配置:将您的 Amazon 账户配置为要求所有新实例使用 IMDSv2。此设置会影响您在该账户中启动的所有新实例。有关说明,请参阅 《Amazon EC2 用户指南》中的将 IMDSv2 设置为账户默认设置。
注意
启动模板或 AMI 配置可能会覆盖账户级别 IMDS 配置。启动模板设置的优先级高于账户级别设置。
没有启动模板的自定义 AMI
当您在没有启动模板的情况下使用自定义 AMI 时,请选择以下选项之一:
-
以 Amazon Linux 2023 为基础:将 Amazon Linux 2023 作为基础映像来构建自定义 AMI。有关创建适用于 Batch 的自定义 AMI 的更多信息,请参阅教程:创建计算资源 AMI。
-
在自定义 AMI 中配置 IMDSv2:创建自定义 AMI 时,将其配置为要求使用 IMDSv2。有关操作说明,请参阅《Amazon EC2 用户指南》中的为自定义实例配置实例元数据选项。
-
设置账户级别 IMDSv2 配置:将您的 Amazon 账户配置为要求所有新实例使用 IMDSv2。此设置会影响您在该账户中启动的所有新实例。有关说明,请参阅 《Amazon EC2 用户指南》中的将 IMDSv2 设置为账户默认设置。
注意
启动模板或 AMI 配置可能会覆盖账户级别 IMDS 配置。启动模板设置的优先级高于账户级别设置。
使用启动模板
在计算环境中使用启动模板时,请在启动模板中添加元数据选项以要求使用 IMDSv2。有关将启动模板与 Batch 结合使用的更多信息,请参阅将 Amazon EC2 启动模板与 Amazon Batch 结合使用。
{ "LaunchTemplateName": "batch-imdsv2-template", "VersionDescription": "IMDSv2 only template for Batch", "LaunchTemplateData": { "MetadataOptions": { "HttpTokens": "required" } } }
使用 Amazon CLI 创建启动模板:
aws ec2 create-launch-template --cli-input-json file://imds-template.json