AWS 部署策略与组件复用全解析
1. AMI 部署方法
在 AWS 中,有多种部署 Amazon Machine Image (AMI) 的方法,每种方法都有其特点和适用场景。
1.1 使用 CloudFormation 部署 AMI
使用 CloudFormation 部署 AMI 是一种高度自动化的方法。当向 CloudFormation 发送带有新 AMI 的更新请求时,它会启动运行新 AMI 的实例,然后终止旧实例。启动的实例数量会与当前运行的实例数量相匹配,以避免容量突然减少。
不过,使用这种方法需要对新 AMI 有高度的信心。在部署之前,应该在测试环境中彻底测试新 AMI,理想情况下使用自动化测试用例套件。一旦 CloudFormation 开始处理更新,就只能等待其完成。如果在更新过程中发现应用程序运行不正常,需要等待 CloudFormation 完成有问题的更新,然后再发出命令进行另一次更新以恢复到上一个 AMI。
Netflix OSS 团队发布的 Spinnaker 是一个基于 Web 的云管理和部署工具。它可以自动化基础设施的部署和更改,并通过 Web 界面控制流程,还提供持续集成 (CI) 工作流和回滚功能。它是 AWS 管理控制台的补充,遵循 Netflix 部署流程的本地站点约定,并与他们的云工具集集成。
1.2 使用 EC2 API 部署 AMI
另一种方法是使用 EC2 API 自行自动化替换过程。通过 API(通过 Boto)或编写 AWS CLI 脚本,可以执行与 CloudFormation 相同的过程,并且有机会插入检查点,更精细地处理回滚或恢复过程