亚马逊云科技为蓝绿及金丝雀策略引入 CloudFront 持续部署

  • 2022-12-30
    北京
  • 本文字数:1086 字

    阅读完需:约 4 分钟

亚马逊云科技宣布 CloudFront 现已支持持续部署,可用部分实时流量测试并验证配置变化。AWS 内容交付网络的新功能简化了蓝绿及金丝雀部署策略。

CloudFront的持续部署是为部署后验证、向后兼容,仅使用小部分请求验证新功能等场景而设计。AWS 高级解决方案架构师Joe Viggiano,首席解决方案架构师Carl Johnson,以及首席产品经理 Vishal Anand 如此解释

当前行业上对于测试 CDN 配置变化已有的解决方案是需要在客户端注入自定义头信息、覆盖客户端 DNS 设置,或者实施单独的测试域。这一切都让大规模测试充满挑战。客户可能会不得不在应用程序中建立复杂的功能标志(……)这种方式缺乏可扩展性,且不能百分百引导生产流量,无法确保新引入的变化不会对工作负载产生负面影响。

 

借助 CloudFront 的持续部署,客户向主要分布中发送请求,CloudFront 基于持续部署策略中的权重或头配置,将其中部分请求路由到暂存分布。基于权重的配置会将特定百分比(最高可至 15%)的 Viewer 请求路由到暂存分布,而基于头的配置则会根据特定 HTTP 头将请求路由到暂存分布。

来源:https://aws.amazon.com/blogs/networking-and-content-delivery/use-cloudfront-continuous-deployment-to-safely-validate-cdn-changes/

 

两种方式都可用于测试同一部署,以基于头的配置验证已知测试用户和设备的第一条变更,随后在借助基于权重的配置引入生产流量。这一功能通过将 Viewer 会话与环境绑定,让监控标准及实时日志变得可行,一旦变更对服务有影响,可即时回滚回先前的配置。Viggiano、Johnson 及 Anand 写道:

 

在需要进行测试时,CloudFront 现在允许创建一个与生产分布相关联的暂存分布 。可在暂存分布中修改原点、原点组、缓存行为、客户错误响应、默认根对象、日志和地理限制等设置,未来还会增加更多可更改的设置项。

 

开发者们对于 AWS CDN 上对蓝绿及金丝雀部署的支持期盼已久,无论是在红迪还是Server Fault上都有很多讨论串。云顾问及 AWS 无服务英雄Yan Cui则对这个名称发出来质疑:

非常赞,但我不太理解为什么要叫 CloudFront“持续部署”,而不是叫 CloudFront 金丝雀部署之类的名字。

 

主要分布和暂存分布不共享缓存。在资源使用高峰期,CloudFront 可能会无视持续部署策略,将所有请求全部发送到主要分布。基于当前限制,CloudFront 持续部署不支持启用了HTTP/3的分布。

 

该新功能可在所有 AWS 边缘,通过控制台、SDK、CLI 或 CloudFormation 模板使用。

 

原文链接:

AWS Introduces CloudFront Continuous Deployment for Blue-Green and Canary Strategies by Renato Losio

相关阅读:

AWS Lambda 现可支持 Node.js 18 运行时

亚马逊云科技向 Well-Architected Framework 添加容器透镜