使用 AWS Autoscaling 将流量逐步路由到新实例

Gradual traffic routing to a new instance with AWS Autoscaling

我使用启用了自动缩放的弹性 beantalk。
当触发自动缩放时,新的 EC2 实例会立即获得全部实时流量,而没有机会预热其缓存。

the docs 中描述的实例预热不完全是我需要的。据我了解,它只允许指定实例在能够处理全部流量之前所需的时间段。

相反,是否可以逐渐将流量路由到自动缩放组中的新实例?例如从应该通过此实例路由的流量的 0.01% 开始,在指定的时间段内达到 100%。

我认为答案是否定的。实例正在接收流量或未接收流量。

我建议在执行任何预热任务(curl 等)的实例上使用启动脚本。然后根据启动应用程序所用时间的典型启动时间设置 elb 预热超时。

AWS 引入了 "Slow start mode" 以逐渐将流量转移到新启动的实例,以便有时间构建缓存、建立数据库连接等,就在您提出这个问题几周后。

可以在此处找到有关如何在自动缩放目标组上配置慢启动模式的详细信息

Auto Scaling Slow Start