【问题标题】:how to auto resize/scale amazon aws ec2 instance如何自动调整/缩放亚马逊 aws ec2 实例
【发布时间】:2023-04-03 21:30:01
【问题描述】:

目前在 t2.micro 上,我读到亚马逊允许自动缩放选项,以允许服务器根据流量进行扩展/收缩,这是完美的。

所以我的问题是:

我应该做什么才能启用自动缩放/调整大小 在需要或流量开始激增时关闭服务器?

是否有允许自动更改实例类型的选项?

我认为自动缩放意味着添加更多实例并平衡它们之间的负载,这是否意味着我需要了解负载平衡以及随之而来的所有术语,还是亚马逊会自动处理这些?

我对整个服务器维护/配置领域完全陌生,所以请尝试尽可能简单地解释。这也是我选择亚马逊的唯一原因,因为它提供了自动化功能,但遗憾的是他们的文档非常复杂,很多事情都可能出错。

【问题讨论】:

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


    【解决方案1】:

    如果您想扩展您的实例并且不介意正常运行时间,我可以建议这种解决方法。

    TL;DR:在触发特定警报(即 CPU、RAM > %)时在 AWS CloudWatch 上设置警报以“ping”SNS,并设置 Skeddly 操作以在 SNS 端点被 ping 时自动扩展您的实例。

    详情:

    • 订阅 Skeddly,这是一项在 AWS 上自动执行操作的服务。 如果你不经常使用它是免费的;

    • 设置“更改 EC2 实例”操作并激活 SNS 功能, 然后复制 SNS 端点链接; screenshot

    • 务必明确定义受操作影响的实例!

    • 在 AWS Simple Notification Service 控制面板上创建一个新的 “主题”,然后选择它并从 操作菜单;

    • 你可以在这里粘贴Skeddly提供的SNS端点,然后等待 直到订阅被确认(需要一段时间);

    • 现在转移到 AWS CloudWatch 并为任何指标设置警报 您发现对您的实例放大/缩小有意义,即 CPU >= 90% 1天;

    • 为每个警报添加一个通知,选择之前的“主题” 在 SNS 上定义。

    你已经完成了!

    【讨论】:

    • 谢谢!这非常有效。
    【解决方案2】:

    使用 EC2 的 Auto Scaling 假定“水平”扩展,将更多实例添加到 Auto Scaling 组

    对于自动增加单个实例大小的“垂直”缩放没有很好用的标准模式。

    为了有效地理解和为您的应用程序使用自动缩放,是的,您“需要了解负载平衡的背景以及随之而来的所有术语”。见http://docs.aws.amazon.com/autoscaling/latest/userguide/GettingStartedTutorial.html

    【讨论】:

    • 阻止它,好吧,有任何链接教程/视频你可以引导我到因为我已经浏览了文档,我感到迷茫:(。
    • @ctf0 也许你可以通过替换你的实例来复制你想要的行为?您可以破解现有的 AWS 工具来自动为您执行此操作,但这相当复杂,可能不是您想要的……只需创建一个虚拟负载均衡器,使用相同 AMI 和不同实例类型的多个启动配置,然后设置您的警报例如CPU 使用率,以便在 CPU 使用率高时一个自动缩放组将缩减(删除实例),而另一个将在此之前启动。针对 ELB 中的实例数量和 CPU 使用率低的反向使用警报。
    • @grepe 听起来很有希望,我知道这个问题有点大,但你有没有机会制作一个小步骤或一个快速视频来完成你刚才提到的事情,它肯定会帮助很多;)
    【解决方案3】:

    我假设您使用的是 AWS 管理控制台。这些操作也可以使用命令行界面或 AWS CloudFormation。

    调整大小实例,您必须将其停止,然后转到操作 > 实例设置 > 更改实例类型

    如您所见,此操作不是自动的。在 AWS 中,您不会自动缩放一个实例,而是一个自动缩放组,它是一组实例。因此,根据您的内存/cpu 使用情况,您可以自动启动新实例(但不会增加当前实例的大小)

    要创建 autoscaling 组,请转到 EC2 菜单中的 Auto Scaling Groups:

    要创建自动扩展组,您需要先创建一个启动配置,其中描述了您要自动扩展的实例的属性。然后,您将能够根据您的 Cloudwatch 警报(CPU 使用率、实例状态...)定义您的扩展策略:

    【讨论】:

    • 好,很多thanx,但现在也有docs.aws.amazon.com/autoscaling/latest/userguide/…,这是必要的还是我应该坚持基本的自动缩放?
    • 这取决于您的基础架构。您可能需要一个弹性负载均衡器来分配流量。
    • 很抱歉,但我认为自动缩放应该做到这一点,或者它是等式的 50% 并且无论如何我都需要添加负载平衡步骤?
    • 自动伸缩组只负责伸缩。如果您需要负载均衡器,则需要添加一个。不包含在 Auto Scaling 组中。
    猜你喜欢
    • 2017-11-19
    • 2013-01-09
    • 2010-12-28
    • 1970-01-01
    • 1970-01-01
    • 2014-10-08
    • 2014-03-30
    • 2015-01-23
    • 2020-05-12
    相关资源
    最近更新 更多