管理环境与批准版本
在 AWS 上自动化部署
Dunieski Otano
Amazon Web Services Solutions Architect
同一代码,三套环境
将 Lambda 版本从 staging 提升到 prod
相同制品,无需重建
一次 API 调用更新 prod 别名;代码不变
这就是 "build once, deploy many"
各服务的批准版本
Lambda
:别名指向函数版本
ECR + ECS
:镜像标签与任务定义修订版
API Gateway
:带部署的阶段
S3
:启用版本控制桶中的对象版本
Lambda 别名如何工作
版本是函数的
不可变快照
别名是指向版本的
命名指针
通过更新别名来
提升
某个版本
别名支持金丝雀发布的
加权路由
ECR 标签与 ECS 任务定义
ECR 镜像按摘要
不可变
标签是摘要上的
可移动标记
ECS 任务定义引用
image:tag
或
@digest
生产环境请
按摘要固定
以锁定精确位级内容
API Gateway 阶段速览
阶段是
API 的一次部署
每个阶段有自己的 URL 和
部署历史
通过
部署 API
到下一阶段来提升
阶段变量保存
按环境的运行时值
版本提升
制品仅
构建一次
在
dev
验证,再到
staging
更新 prod 别名或标签,
无需重建
同一制品运行于所有环境
配置与代码分离
各环境间
代码保持不变
配置
承载 dev 与 prod 的差异
阶段变量、环境变量、
Parameter Store
、
Secrets Manager
切勿在制品中硬编码环境值
让我们一起练习吧!
在 AWS 上自动化部署
Preparing Video For Download...