写点什么

亚马逊云科技推出 ECS 内置蓝绿部署功能

作者:Matt Saunders

  • 2025-07-24
    北京
  • 本文字数:1522 字

    阅读完需:约 5 分钟

大小:762.06K时长:04:20
亚马逊云科技推出ECS内置蓝绿部署功能

亚马逊云科技(Amazon Web Services)针对亚马逊弹性容器服务(Amazon Elastic Container Service,简称 ECS)推出了一个新的内置功能:蓝绿部署。借助这项功能,开发团队既能安全地部署容器化应用程序,而且在出现问题时还能够近乎实时的回滚,这样就不需要使用 AWS CodeDeploy 实现复杂的变通方案了。

 

这项新功能解决了开发团队经常面临的一项挑战:以前在向 ECS 发布时,为了实现蓝绿功能,他们不得不构建和维护自定义工具。亚马逊首席开发大使、公告作者Donnie Prakoso解释说,“在规模比较大的情况下,开发团队需要花费宝贵的时间构建和维护没什么差异的部署工具,而这些时间本可以用于业务创新”。



蓝绿部署是一种软件发布策略,它维护两个相同的生产环境。现有的“蓝”环境继续服务于实时流量,当要部署新版本的应用程序时,就新建一个“绿”环境。在对绿环境进行彻底地测试并且监控没有问题之后,流量从蓝环境转移到绿环境,确保用户受到的干扰最小,并在需要时能够轻松地回滚到之前的版本。

 

在该公告发布之前,想要在 ECS 上实现蓝绿部署能力,亚马逊云科技的客户不得不依赖AWS CodeDeploy。这会带来额外的配置和设置复杂性。工程师们采用了各种方法来解决这个问题,包括在负载均衡器后面交换自动扩展组和更新自动扩展组的启动配置。虽然 CodeDeploy 方法功能齐全,但团队仍需要创建单独的 CodeDeploy 应用程序和部署组,并管理复杂的 IAM 角色。AWS CodeDeploy 管理蓝绿部署过程,但团队仍需手动配置负载均衡监听器和目标组。现在,亚马逊 ECS 自动编排整个工作流程,提供事件钩子,允许团队在将新版本软件暴露给最终用户之前,使用合成流量验证新版本。

 

对于这份新公告,来自 The Scale Factory 的 Chris Musther在LinkedIn上写道:“用 CodeDeploy 也可以,文档中有说明——只是这项新功能简化了这个过程,而且功能更丰富。”

 

这项新功能直接集成到了现有的 ECS 配置中,可以通过 ECS 控制台、AWS CLI 或基础设施即代码工具启用。用户可以配置在生产流量转移到绿环境后,多长时间内允许即时回滚到蓝环境,这个时间称为“烘焙时间”。每个服务修订版本都会保留不可变的配置,包括任务定义、负载均衡器设置和服务连接配置,以便回滚能够恢复到与之前的运行环境完全相同的环境。

 

在部署过程中,ECS 会在指定的生命周期阶段自动调用 Lambda 函数,允许对绿版本进行全面测试。新功能提供了六个部署生命周期钩子:扩展前、扩展后、生产流量转移、测试流量转移、生产流量转移后和测试流量转移后。这些钩子可以触发 AWS Lambda 函数执行自定义验证逻辑,例如合成测试、API 调用或指标查询,以检查应用程序健康状况、运行集成测试或验证性能指标,然后发出是否继续或中止部署的信号。

 

我的验证函数可以针对绿版本进行全面的测试——检查应用程序健康状况、运行集成测试或验证性能指标。

—— Donnie Prakoso

 

其他主要云服务提供商已经为不在自托管 Kubernetes 服务上运行的容器化应用程序提供了类似的蓝绿部署策略。微软 Azure通过Azure Container Apps提供蓝绿部署能力,使用容器应用修订、流量权重和修订标签来实现蓝绿部署。该平台允许用户创建蓝绿应用程序版本的实例,测试和验证新修订版本,然后相应地重定向流量。同样,为了实现蓝绿部署,Google Cloud Run 支持渐进式上线和回滚

 

其他行业反响积极,不过一位 Reddit 评论者对繁忙服务切换的原子性进行了思考

 

亚马逊云科技为 ECS 内置蓝/绿部署功能的举措很好,改变了零停机部署的游戏规则。我很好奇,在有负载的情况下,流量转移有多干净。

 

蓝绿部署能力包含在亚马逊 ECS 中,不收取额外费用。用户只需支付部署过程中使用的计算资源的费用。该功能在所有商业 AWS 区域均可用。

 

原文链接:

https://www.infoq.com/news/2025/07/aws-blue-green-ecs/

2025-07-24 10:027133

评论

发布
暂无评论
发现更多内容

克隆虚拟机

yuanhang

如何在一台电脑上管理多Github账号

Matrix Chan

git GitHub 版本管理工具 开发日志

Redis单线程为什么能做到高性能和io多路复用它是个什么鬼

Java架构师迁哥

解Bug之路-Nginx 502 Bad Gateway

无毁的湖光

nginx Linux TCP

全票通过!易观开源项目DolphinScheduler进入Apache孵化器

易观大数据

限量版Netty纯手打笔记,年薪80W架构师耗时1个月整理出

Java架构师迁哥

干货来袭!20例JavaWeb项目开发精粹;(内含源码)

Java架构师迁哥

LeetCode题解:225. 用队列实现栈,一个队列, 压入 - O(n), 弹出 - O(1),JavaScript,详细注释

Lee Chen

大前端 LeetCode

架构师训练营第十三周总结

Hanson

架构师0期Week13作业

Nan Jiang

开源流数据公司 StreamNative 正式加入 CNCF,积极推动云原生策略发展

Apache Pulsar

云原生 pulsar Apache Pulsar 消息系统 消息中间件

大专生拿到阿里offer,却担心背调不过,网友:985在你面前黯淡无光

程序员生活志

面试 职场 阿里

如何在企业微信上搭建一款活动报名 App

Ceelog

企业微信 Go 语言

anyRTC小程序SDK 4.0上线

anyRTC开发者

小程序 WebRTC 语音 直播 RTC

35岁以上的程序员们,后来都干什么去了?

华为云开发者联盟

程序员 职业规划 架构师

对PageRank的理解

2流程序员

大数据

yuanhang

Centos 7 虚拟机

超详细:完整的推荐系统架构设计

博文视点Broadview

架构 算法 推荐系统

防止APP窃取用户隐私问题,OPPO安全在行动

OPPO安全

App 安全 隐私保护 数据隐私 sdk

​程序员离职后收到原公司 2400 元,被告违反竞业协议赔 18 万

程序员生活志

程序员 职场

抗疫代码入国家博物馆, 程序员的巅峰时刻!

程序员生活志

程序员

oeasy 教您玩转linux 之010208 满屏乱码 bb

o

PageRank 算法

周冬辉

字节小组长无意中得知整个部门的薪资,自己28K,手下却有35K,怎么办?

程序员生活志

字节跳动 职场 薪资

超级TV盒子,超清秒播,解锁全网VIP资源!

程序员生活志

资源

Fettley全球共识共享智能合约资产计划 掀起行业追捧热潮

InfoQ_967a83c6d0d7

从零开始搭建完整的电影全栈系统(一)——数据库设计及爬虫编写

刘强西

爬虫 Scrapy

为什么一个还没毕业的大学生能够把 IO 讲的这么好?

苹果看辽宁体育

Java 后端 io

你应该了解的MySQL锁分类

X先生

MySQL 数据库 sql 数据库优化

架构师训练营第十三周作业

Hanson

anyRTC - 模仿微信音视频通话功能

anyRTC开发者

WebRTC 语音 直播 RTC 安卓

亚马逊云科技推出ECS内置蓝绿部署功能_亚马逊云科技_InfoQ精选文章