【发布时间】:2019-03-16 22:10:16
【问题描述】:
我的用例: 我有一个由 1 个 EC2 实例前面的弹性负载均衡器提供服务的 Web 应用程序。 该架构旨在模拟蓝/绿部署流程,这意味着当我需要更新代码并切换 ELB 指向的实例时,我将打开第二个实例。
假设 Instance-A 具有我的应用程序的当前版本,我的 ELB 正在将流量路由到该实例,因为它是唯一可用的实例。我想将更新推送到我的应用程序,因此我在 Instance-B 上部署了我的应用程序的新版本(打开实例 B 并部署新版本的代码)。同时,任何访问我的应用程序的用户仍将被路由到 Instance-A 并创建一个会话,直到我进行切换。
一旦 Instance-B 部署并可以使用较新的代码,我如何确保 ELB 仅在 Instance-B新流量 /em>,并在 instanceA 上保留旧流量(以前的用户及其会话),直到我从负载平衡器中取消注册后者?
希望这是有道理的,我知道这种架构设计不是蓝/绿部署的正确实现。但由于我的应用程序的大小和预算,我想限制我使用的实例数量。
感谢您的帮助。
【问题讨论】:
标签: amazon-ec2 session-cookies amazon-elb blue-green-deployment session-affinity