了解amazone Autoscale将如何自动缩放

时间:2014-08-12 10:19:37

标签: amazon-web-services amazon-ec2 autoscaling

所以我从3天开始就在amazon aws上设置了prestashop服务器架构,现在一切都正常运行。我有一个ELB,RDS和一个设置有警报的自动缩放组(如果cpu> 80%,则添加一个实例)。 我只有一个实例运行我的prestashop网站,附加到我上传网站的额外EBS卷。

现在我不明白,如果CPU超过80%,自动缩放将如何起作用? 它会自动创建一个新实例,它是正在运行的实例的精确副本吗? 如果是,那么它还会复制附加的EBS卷吗?因为我每天都会添加产品,所以如果创建一个新实例,它必须与原始实例完全相同,否则客户将无法找到他们为之而来的新产品...... 谢谢!

2 个答案:

答案 0 :(得分:3)

要使用自动缩放功能,您的实例必须是无状态的。当AS组向外扩展时,它会从您在AS启动配置中设置的AMI中结束实例。

如果是这个图像,那将是精确的副本,而不是已经运行的实例。

状态(产品,会话,诸如此类)应该存储在其他地方,例如某些数据库中(您已经提到过RDS)。

答案 1 :(得分:0)

您当前的设置将不起作用,因为集群中运行的每个容器都需要彼此共享某些目录。这是因为在撰写本文时,PrestaShop v1.7将某些状态信息存储在文件系统中。

我认为接受的答案不正确。而是,“要使用自动缩放功能,最佳是您的实例是无状态的”-但这不是硬性要求。至此,我已经通过在EFS上存储某些共享目录,然后从集群中运行的每个容器中挂载了这些目录,从而在自动伸缩ECS集群中成功运行了PrestaShop。需要共享的目录是:

  • 模块
  • 覆盖
  • 缓存
  • 主题
  • 配置

更多信息以及代码,请参见here