唉,在更新期间无法更改 LB 的数量。服务必须被销毁并重新创建。
理想情况下,使用多个 ECS 集群和一组 LB 进行蓝绿色部署。然后集群 A 可以拥有旧服务,集群 B 拥有新服务,当我们从蓝色变为绿色时,允许流量从 A 移动到 B。
我们还没有到那里,但计划很快。所以,现在,我们将使用经典的停车场切换方法:
在此示例中,需要从 1 LB 变为 2 LB 的服务称为 target_service
- 克隆 target_service 成为 target_service2
- 部署可以与 target_service 或 target_service2 对话的微服务
- 验证 target_service 和 target_service2 是否都在处理传入的数据和请求
- 修改 target_service infra-as-code 从 1 到 2 LB
- 部署修改后的target_service(terraform部署工具将销毁target_service,留下target_service2以弥补差距,然后部署2个LB的target_service
- 验证具有 2 个 LBS 的 target_service 是否正常工作并处理请求
- 销毁并删除 target_service2,因为它不再需要
所以,这是一个像部署一样的蓝绿色,虽然不那么优雅。