本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
更新中的计算环境 AWS Batch
AWS Batch 提供了多种更新计算环境的策略,每种策略都针对特定的更新场景和要求而设计。这些方法使用相同的底层更新 API,但代表了用于有效管理更新的不同规范方法。您可以使用 AWS Batch 控制台或管理这些更新 AWS CLI。了解这些策略可以帮助您选择最适合自己需求的方法,同时最大限度地减少对工作负载的干扰。
本主题概述了可用的更新策略,并提供了有关何时使用每种方法的指导。有关详细程序,请参阅每种更新策略的各个部分。
重要
AWS Batch 代表您并在您的账户中创建和管理多个 AWS 资源,包括亚马逊 EC2 启动模板、Amazon A  EC2  uto Scaling 群组、Amazon  EC2  Spot 队列和 Amazon ECS 集群。这些托管资源经过专门配置,以确保最佳 AWS Batch
运行。除非在 AWS Batch 文档中明确说明,否则手动修改这些 AWS Batch托管资源可能会导致意外行为,包括INVALID计算环境、实例扩展行为不佳、工作负载处理延迟或意外成本。该服务无法确定性地支持这些手动修改。 AWS Batch 请务必使用支持的控制台 AWS Batch APIs 或 AWS Batch 控制台来管理您的计算环境。
计算环境更新策略
当您使用扩展或基础架构更新时,您的计算环境就会更新到位。对于 blue/green 更新策略,您可以创建一个新的计算环境(绿色),然后将工作负载从旧计算环境(蓝色)迁移到新的计算环境(绿色)。
AWS Batch 为计算环境更新提供了三种不同的策略:
- 缩放更新
- 
          扩展更新通过添加或删除实例来调整计算环境的容量,而无需替换现有实例。这是最快的更新方案,不需要停机时间。需要更改容量设置时使用扩展更新 (vCPUs)。这些更新通常会在几分钟内完成。 Fargate 更新的执行过程与扩展更新相同。有关更多信息,请参阅 执行缩放更新。 
- 基础架构更新
- 
          基础设施更新将您的计算环境中的实例替换为设置更新的新实例。这些更新需要特定的服务角色和分配策略配置,但停机时间最短,运行的作业可能会中断。当您需要修改实例类型、AMI 配置、网络设置、服务角色、环境状态或其他基础设施组件时,请使用基础设施更新。根据任务完成情况,这些更新通常会在 10-30 分钟内完成。 有关更多信息,请参阅 执行基础架构更新。 
- 蓝/绿更新
- 
          Blue/green updates create a new compute environment alongside your existing environment, allowing gradual workload transition with zero downtime. This approach provides the safest update path but requires running two environments temporarily. Use blue/green在需要零停机时间、想要在完全部署之前测试更改、需要快速回滚功能或使用不支持的配置进行基础架构更新时进行更新。完成的时间是可变的,由您控制。 有关更多信息,请参阅 为计算环境执行 blue/green 更新。 
选择正确的更新策略
使用此决策指南来选择最适合您需求的更新策略:
在以下情况下选择缩放更新
当你只需要调整计算容量 (vCPUs) 时,选择扩展更新策略。当您需要快速更新且无需停机且无需更改基础架构配置时,扩展更新是理想的选择。
有关详细步骤,请参阅 执行缩放更新。
在何时选择基础架构更新
当您需要修改实例类型、AMI 设置、服务角色、环境状态或网络配置时,请选择基础设施更新策略。您的环境必须使用AWSServiceRoleForBatch服务相关角色和BEST_FIT_PROGRESSIVESPOT_CAPACITY_OPTIMIZED、或SPOT_PRICE_CAPACITY_OPTIMIZED的分配策略。如果更新期间可以接受某些任务中断,并且您希望自动更新到最新 Amazon ECS 优化的 AMI,则基础设施更新可以正常运行。
有关详细步骤,请参阅 执行基础架构更新。
在何时选择 blue/green 更新
如果您的工作负载需要零停机时间,或者您需要在过渡生产工作负载之前测试更改,请选择 blue/green 更新策略。当快速回滚功能很重要、您的环境使用BEST_FIT分配策略或者您的环境不使用AWSServiceRoleForBatch服务相关角色时,这种方法是必不可少的。  Blue/green 当您使用需要手动更新或需要进行重大配置更改 AMIs 的自定义版本时,更新也是最佳选择。
有关详细步骤,请参阅 为计算环境执行 blue/green 更新。
AMI 更新注意事项
AWS Batch 当满足所有这些条件时,可以在基础设施更新期间更新到最新 Amazon ECS 优化的 AMI:
注意
基础架构更新完成后设置updateToLatestImageVersion为false。要启动另一次更新updateToLatestImageVersion,必须将设置为true。
- 
          计算环境使用AWSServiceRoleForBatch服务相关角色 
- 
          分配策略设置为 BEST_FIT_PROGRESSIVESPOT_CAPACITY_OPTIMIZED、或SPOT_PRICE_CAPACITY_OPTIMIZED
- 
          在 imageId、imageIdOverride或启动模板中未明确指定 AMI ID
- 
          设置 updateToLatestImageVersion为true
AMI 使用 blue/green 部署进行更新
AMIs 在以下情况下,必须使用 blue/green 部署进行更新:
- 
          使用特定版本的 Amazon ECS 优化型 AMI 时 
- 
          当在以下任意一项中指定 AMI ID 时: - 
              启动模板(必须更新模板或将其删除) 
- 
              imageId参数
- 
              EC2 配置中的 imageIdOverride参数
 
- 
              
- 
          使用 BEST_FIT分配策略时(不支持基础架构更新)
- 
          不使用AWSServiceRoleForBatch服务相关角色时