View a markdown version of this page

在计算环境中管理 AMI 版本 - AWS Batch

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

在计算环境中管理 AMI 版本

AWS Batch 提供对您的计算环境使用的 Amazon 系统映像 (AMIs) 的可见性。

查看 AMI 状态

您可以通过 AWS Batch 控制台或 AMIs 使用describe-compute-environments命令查看计算环境中使用的状态。

Console

在 AWS Batch 控制台中,AMI 状态信息显示在两个位置,其状态值如下:

  • 最@@ -使用支持的最新 AMI AWS Batch。

  • 更新可用-有更新可用。

注意

仅显示 AWS Batch托管 AMIs的 AMI 状态信息。在imageId(已弃用)、或默认启动模板中指定图像时imageIdOverride,状态不会出现。当计算环境有启动模板覆盖时,该状态不会出现。有关 AMI 选择的更多信息,请参阅AMI 选择顺序

计算环境页面

计算环境页面显示一个 B atch 映像状态列,其中显示了每个计算环境batchImageStatus的总体情况。如果一个计算环境有多个 AMIs 且任何一个 AMI 有可用的更新,则控制台会显示整个计算环境都可以使用更新

注意

该状态将在计算环境开始缩放任何图像类型后出现。

计算环境详情页面

在计算环境详细信息页面上,计算资源选项卡的 Ec 2 配置部分显示了计算环境中每种映像类型的批处理映像状态。如果一种图像类型有多个, AMIs 并且任何一个 AMI 有可用的更新,则控制台会显示该图像类型的更新可用

注意

只有在计算环境开始缩放该特定图像类型的实例之后,才会显示每种图像类型的状态。

CLI

在您调用时 describe-compute-environments,响应中包含可提供 AMI 可见性的batchImageStatus字段,其值如下:

  • LATEST— 使用支持的最新 AMI AWS Batch。

  • UPDATE_AVAILABLE— 有更新可用。

注意

batchImageStatus字段仅针对 AWS Batch-managed 出现。 AMIs在imageId(已弃用)、或默认启动模板中指定自定义 AMIs 时imageIdOverride,它不会出现。当计算环境有启动模板覆盖时,该状态不会出现。有关如何 AWS Batch 选择的更多信息 AMIs,请参阅AMI 选择顺序

每个字段都独立显示,Ec2Configuration并且仅在计算环境开始使用该字段扩展实例之后imageType

{ "computeEnvironments": [ { "computeEnvironmentName": "my-compute-environment", "computeResources": { "ec2Configuration": [ { "imageType": "ECS_AL2023" }, { "imageType": "ECS_AL2023_NVIDIA", "batchImageStatus": "UPDATE_AVAILABLE" } ] } } ] }

更新 AMI 版本

当 AWS Batch 表示有 AMI 更新可用时,您可以 AMIs 通过将 AMI 更新到最新版本设置为 true 来更新计算环境来更新计算环境以使用更新的版本

您无需指定新的 AMI,当您将 “更新 AMI IDs ” 设置为最新版本 AMIs 时, AWS Batch 会自动选择支持的最新版本

重要

更新 AMIs 会触发基础架构更新,而不是扩展更新。这意味着 AWS Batch 用使用更新后的 AMI 的新实例替换现有实例。更新过程比扩展更新需要更长的时间,并且可能会中断正在运行的作业,具体取决于您的更新策略配置。

重要

如果您的分配策略是BEST_FIT,则必须执行蓝/绿更新

Console

要 AMIs 使用 AWS Batch 控制台进行更新,请执行以下操作:

  1. 打开 AWS Batch 控制台,网址为https://console.aws.amazon.com/batch/

  2. 在导航窗格中,选择环境

  3. 选择显示有更新的 AMI 状态的计算环境。

  4. 选择 “立即更新”(按 AMI 状态)或 “操作” > “编辑” 以打开更新模式。

  5. 在 AMI 更新模式中,查看当前 AMI 版本及其状态。

  6. 选择 “确认” 或 “保存” 开始基础架构更新。

在基础架构更新UPDATING期间,计算环境的状态会更改为。您可以在 控制台中监控进度。

CLI

要 AMIs 使用 AWS CLI 进行更新,请使用update-compute-environment命令。

aws batch update-compute-environment \ --compute-environment my-compute-environment \ --compute-resources updateToLatestImageVersion=true

此命令会触发基础设施更新,使用 AWS Batch支持 AMIs的最新实例将实例替换为新实例。

自定义 AMI 注意事项

如果您的计算环境使用自定义 AMIs,即在ComputeResources.imageId(已弃用)中 AMIs 指定Ec2Configuration.imageIdOverride,则默认启动模板或启动模板会被覆盖, AWS Batch 则无法提供这些模板的状态信息。 AMIs

  • 状态可见性 — 在控制台中为其 Batc h 图像状态自定义 AMIs 显示 “-”,并且不在 API 响应中包含该batchImageStatus字段。

  • 手动管理-您负责维护和更新自定义 AMIs。随时了解您的 AMI 提供商提供的安全和软件补丁,并 AMIs 相应地更新您的自定义补丁。

  • EC2 管理 — 使用 Amazon EC2 控制台或 APIs 管理自定义 AMI 生命周期,包括创建新版本和弃用旧版本。

有关管理自定义的更多信息 AMIs,请参阅计算资源 AMIs

AMI 更新的最佳实践

本节适用于自定义和默认 AMIs。

  • 定期监控-定期检查计算环境的 AMI 状态,以确定何时有更新可用。默认情况下 AMIs,batchImageStatus将在有更新可用时显示。对于自定义 AMIs,您需要使用其他资源,例如 AWS 安全公告。

  • 维护时段 — 在可以接受任务中断的情况下,在维护时段内安排 AMI 更新,因为基础架构更新会取代现有实例。

  • Job 重试策略 — 配置作业重试策略以处理在基础架构更新期间可能中断的作业。有关更多信息,请参阅 自动作业重试

  • 更新策略配置-配置适当的更新策略以控制在基础架构更新期间如何处理正在运行的作业。有关更多信息,请参阅 执行基础设施更新

  • 测试 — 在将 AMI 更新应用于生产计算环境之前,先在开发环境中对其进行测试。