【问题标题】:AWS EC2 instances, CPU usage, auto scaling and more [closed]AWS EC2 实例、CPU 使用率、自动扩展等 [关闭]
【发布时间】:2022-11-07 21:26:17
【问题描述】:

如果我了解自动缩放的工作原理,请告诉我。

例如,我创建了一个具有自动缩放功能的 EC2 服务(过滤器,最大 CPU 使用率 80%)。 我在初始实例上运行了 10 个 python 脚本(每次发送大量 python 请求[按小时更改数量])。 当 CPU 使用率增加超过 80% 时,AWS 会启动一个新实例。

现在发生了什么?

  • AWS 每个实例拆分 5 个脚本?
  • AWS 拆分脚本直到第一个实例的 CPU 使用率低于 80% 并将其他脚本发送到另一个实例(例如,初始实例中的 7 个,第二个实例中的 3 个)
  • AWS 硬拷贝初始实例,所以我得到了 2 个运行相同脚本的实例,它们执行相同的任务(例如,如果实例 1 中的脚本 A 发送电子邮件,实例 2 中的脚本 A 也发送相同的电子邮件)。

【问题讨论】:

  • “我运行 10 个 python 脚本”——在哪里运行?在实例上?
  • 如果您在实例上手动运行脚本,如果您设置了自动缩放,AWS 可能会添加第二个实例,但该实例不会运行任何脚本,除非以某种方式在实例之间分发脚本。你有没有例如负载均衡器到位了吗?
  • 这些脚本如何确定它们应该执行的工作?他们是否在响应任何事情(例如工作队列),或者可能是来自用户的请求?您能告诉我们更多有关您的情况的信息,以便我们提供适当的建议吗?

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


【解决方案1】:

Amazon EC2 Auto Scaling 将自动启动新实例或终止现有实例。

这些实例上运行的内容完全取决于您,并且必须由您进行配置。通常,人们通过指定已包含所有必要软件(例如 Web 服务器、脚本等)的预配置 AMI 来配置实例或者实例使用“用户数据脚本”启动,该脚本在实例启动时运行,可用于配置实例(例如加载和启动软件)。

Auto Scaling 服务不会配置您的脚本,也不会重新平衡您的脚本。此类活动必须由您(以某种方式)管理。

如果您的脚本正在处理来自数据源的信息,那么常见的架构模式是:

  • 将“工作”(作为消息)推送到 Amazon SQS 队列
  • 让 EC2 实例上的脚本从队列中检索消息并执行工作

这样,工作将在“计算”实例之间分配。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-10
    • 2018-09-23
    • 2017-12-24
    • 2015-02-11
    • 2014-11-06
    • 2017-11-14
    • 2018-11-01
    • 2020-05-12
    相关资源
    最近更新 更多