【问题标题】:devops aws django website scalability : how is auto scaling done in elastic beanstalk and elastic container service ecsdevops aws django 网站可扩展性:如何在弹性 beanstalk 和弹性容器服务 ecs 中完成自动缩放
【发布时间】:2022-06-14 15:14:52
【问题描述】:

我正在开发一个 django 网站。

在 devops 方面,我正在考虑使用带有自动缩放功能的 aws。我仍然犹豫是否要对我的配置进行竞争,所以我会使用 beanstalk(不带容器)或容器服务(带 docker)。该数据库将位于单独服务器上的 aurora 上。

我是 aws 新手,专家在线提供的帮助不是免费的,所以这是我的问题:

当我与其他托管服务提供商比较时,他们的价格取决于服务器的硬件配置。

我猜(因为我还没有访问 cost explorer)这与亚马逊上的 ec2 实例相同:您为更强大的服务器(cpu 和 ram 和/或存储)支付更多费用。

所以我想知道弹性 beanstalk 或弹性容器如何实例化新的 ec2 服务器:它们是根据我网站上的需求调用更强大的硬件配置(扩展)还是取决于我的手动配置?还是他们只使用我在初始化时手动设置的相同配置复制 ec2 实例(横向扩展)?

我可以手动更改 benstalk 或 ecs 的 ec2 实例的 cpu、ram 和存储而不重新配置吗? 我可以微调自动扩展和自动扩展以及哪种扩展更好更便宜(最佳选择)? 非常感谢!

【问题讨论】:

    标签: amazon-web-services amazon-ec2 amazon-elastic-beanstalk amazon-ecs scaling


    【解决方案1】:

    Auto Scaling 组横向扩展,意味着生成新实例,如启动模板/启动配置中定义的那样。 Auto Scaling 组无法垂直缩放。您可以更改启动配置并编辑实例类型和大小,这将替换 Auto Scaling 组中的实例。 https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-launch-template.html

    使用 ECS,您必须在 EC2 上选择 Fargate 或 ECS。使用 Fargate(无服务器),您可以轻松定义要分配给“任务”以运行的资源 RAM/CPU 数量。使用 ECS EC2,您需要首先创建 ECS 集群(需要分配 EC2 来运行集群),然后创建一个单独的任务,然后为其分配 RAM 和 CPU。 https://docs.aws.amazon.com/AmazonECS/latest/userguide/task_definition_parameters.html

    使用 Beanstalk,您可以轻松定义要在配置中使用多少资源 RAM/CPU。 (比使用负载均衡器运行普通的自动缩放组更容易)。它有一个非常简单的界面来玩和调整资源。

    【讨论】:

    • 好的,谢谢。从您所说的看来,似乎从来没有任何自动扩展...?您知道如何评估应用程序的正确硬件配置吗?以及您会在自动缩放组、beantalk 和 ecs 之间推荐什么?
    • 我意识到 django 可以安装在同样具有弹性的 aws lambda 上...所以在我的情况下,没有明显需要 beanstalk、ecs 或 fargate...
    猜你喜欢
    • 1970-01-01
    • 2021-09-01
    • 2016-10-29
    • 2020-12-07
    • 2019-06-18
    • 2019-01-05
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    相关资源
    最近更新 更多