Dil*_*mar 2 amazon-ec2 amazon-web-services amazon-elastic-beanstalk aws-codepipeline aws-codestar
最近我在 AWS 中创建了一个 codestar Web 服务。这在内部使用弹性 beanstalk 环境与负载平衡器、代码管道、代码部署服务进行端到端工作。我现在可以做的是在本地进行一些代码更改并将其部署到 codestar。我现在想做的是设置额外的环境,比如 alpha-environment 并首先将其部署到我的生产环境中以进行更好的测试。我可以做的一种方法是为 alpha 阶段创建一个额外的环境,对其进行一些更改部署,然后手动部署到 prod 阶段。但这将在 AWS 中创建两个不同的存储库,我不知道如何将更改从 alpha-environment 复制到 prod-environment。请告诉我首先部署到 alpha 阶段然后自动部署到 beta 阶段的最佳方法。
您想要做的是称为 Canary 部署(或 Canary 版本)。它允许您在发布之前在生产中进行一些测试,然后再向所有用户发布。它是蓝/绿部署的一种修改形式。
蓝/绿部署是指您在当前版本(蓝色)投入生产的同时将新版本(绿色)部署到生产中。理论上,如果 Green 部署不好,而您将 Blue 留在原地,您可以在停机时间很少的情况下回滚到 Blue 部署。
Canary 部署是蓝/绿部署,您可以将一小部分流量路由到 Green 部署,以确保 Green 稳定并按预期工作。如果 Canary 测试成功,那么您将 100% 的流量路由到绿色环境。Blue 环境可以在下一个版本中删除或重新使用。
另一方面,如果 Canary 测试失败,您将 100% 的流量路由回 Blue 环境并取消 Green 或将其重新用于下一个版本。
Elastic Beanstalk 允许您快速创建应用程序的两个版本,以将 Elastic Beanstalk 环境与克隆环境分开(通过控制台或命令行)。新克隆的环境将成为您的绿色环境。
然后,您可以利用 Amazons Route 53 以及加权路由路由策略功能。这允许您使用单个域名,并根据您在策略中决定的百分比在蓝色和绿色环境之间分配流量。从小处开始,如果格林很好,你就会达到 100%。
以下是一些参考:
| 归档时间: |
|
| 查看次数: |
1137 次 |
| 最近记录: |