Amazon ECS 蓝/绿部署 - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon ECS 蓝/绿部署

蓝绿部署是一种发布方法,通过运行两个相同的生产环境(称为蓝色和绿色)来减少停机时间并降低风险。借助 Amazon ECS 蓝绿部署,可以在将生产流量定向到新的服务修订之前对其进行验证。此方法提供了一种更安全的部署更改方式,并且能够根据需要快速回滚。

优势

使用蓝绿部署具有以下优势:

  • 通过切换生产环境前的生产流量测试降低风险。在将生产流量定向到新部署之前,可以使用测试流量对其进行验证。

  • 实现零停机时间部署。生产环境在整个部署过程中始终可用,从而确保持续的服务可用性。

  • 检测到问题时轻松回滚。如果绿色部署出现问题,则可以快速恢复到蓝色部署,而不会造成长时间的服务中断。

  • 受控的测试环境。绿色环境提供了独立空间,可以在全面部署之前使用真实流量模式测试新功能。

  • 可预测的部署过程。结构化方法具有明确定义的生命周期阶段,使得部署更加可靠一致。

  • 通过生命周期挂钩进行自动验证。可在部署的各个阶段实施自动测试以验证功能。

术语

以下是 Amazon ECS 蓝绿部署术语:

  • 烘焙时间:生产流量转移后,蓝色服务修订和绿色服务修订同时运行的持续时间。

  • 蓝色部署:要被替换的当前生产服务修订。

  • 绿色部署:要部署的新服务修订。

  • 生命周期阶段:部署操作中的一系列事件,例如“生产流量转移后”。

  • 生命周期挂钩:一个 Lambda 函数,用于在特定生命周期阶段验证部署。

  • 侦听器:一种 Elastic Load Balancing 资源,可通过所配置的协议和端口检查连接请求。为侦听器定义的规则决定了 Amazon ECS 如何将请求路由到其注册的目标。

  • 规则:与侦听器关联的 Elastic Load Balancing 资源。规则定义了请求的路由方式,由操作、条件和优先级组成。

  • 目标组:一种 Elastic Load Balancing 资源,用于将请求路由到一个或多个已注册目标(例如 EC2 实例)。创建侦听器时,您为其默认操作指定目标组。流量将转发到在侦听器规则中指定的目标组。

  • 流量转移:Amazon ECS 用于将流量从蓝色部署转移到绿色部署的过程。对于 Amazon ECS 蓝绿部署,所有流量都会同时从蓝色服务转移到绿色服务。

注意事项

选择部署类型时,请考虑以下因素:

  • 资源使用量:蓝绿部署会暂时同时运行蓝色服务修订和绿色服务修订,这可能会使部署期间的资源使用量翻一番。

  • 部署监控:蓝绿部署会提供更详细的部署状态信息,支持您监控部署过程的每个阶段。

  • 回滚:如果检测到问题,蓝绿部署可以更轻松地回滚到先前版本,因为蓝色修订版会一直运行直到烘焙时间到期。