在 AWS 中加载盒子以触发自动缩放组的机制是什么?
What is the mechanism to get load on a box to trigger an autoscaling group in AWS?
我已将我的 Web 服务器设置为 autoscale 在一天的特定时间。
我可以使用 Consul 执行的脚本测量盒子上的负载 - 这可以在特定阈值时触发事件。
我想将这两者结合起来,并在特定负载级别触发自动缩放。 (假设 CPU 负载为 75% 是阈值)。
我的问题是:在 AWS 中加载盒子以触发自动缩放组的机制是什么?
假设:
- 我不打算使用 AWS Cloudwatch - 但我很感兴趣这是否是解决方案。
- 我对自动缩放触发界面更感兴趣。是队列还是休息端点?
您可以使用 CPU 利用率指标创建 CloudWatch 警报,并将其设置为在您的实例 CPU 利用率超过 75% 时更改状态。然后在 Auto Scaling 组中,您将此警报用于缩放 (in/out) 策略。您还可以通过手动(例如通过您的应用程序 运行 在其中一个实例上)更改 Desired 值来控制 Auto Scaling 组中的实例数。 This 文档可能会有所帮助。
正如@mahdi 所说,您可以轻松地使用 AWS Cloudwatch 来执行此操作。
但是,如果您希望 Consul(或 AWS "service" 范围之外的任何东西)执行此操作,您可以使用 lambda。
您将创建一个 lambda 函数来放大或缩小您的实例(或两者)。 Lambda 可以有很多触发器,例如通过 API 网关的 HTTP 端点。如果您已经设置了 Consul 来执行此操作(听起来就像您说的那样 can trigger events at certain thresholds.
),只需让它向 API 网关发出 HTTP 请求以扩大或缩小规模。
我已将我的 Web 服务器设置为 autoscale 在一天的特定时间。
我可以使用 Consul 执行的脚本测量盒子上的负载 - 这可以在特定阈值时触发事件。
我想将这两者结合起来,并在特定负载级别触发自动缩放。 (假设 CPU 负载为 75% 是阈值)。
我的问题是:在 AWS 中加载盒子以触发自动缩放组的机制是什么?
假设:
- 我不打算使用 AWS Cloudwatch - 但我很感兴趣这是否是解决方案。
- 我对自动缩放触发界面更感兴趣。是队列还是休息端点?
您可以使用 CPU 利用率指标创建 CloudWatch 警报,并将其设置为在您的实例 CPU 利用率超过 75% 时更改状态。然后在 Auto Scaling 组中,您将此警报用于缩放 (in/out) 策略。您还可以通过手动(例如通过您的应用程序 运行 在其中一个实例上)更改 Desired 值来控制 Auto Scaling 组中的实例数。 This 文档可能会有所帮助。
正如@mahdi 所说,您可以轻松地使用 AWS Cloudwatch 来执行此操作。
但是,如果您希望 Consul(或 AWS "service" 范围之外的任何东西)执行此操作,您可以使用 lambda。
您将创建一个 lambda 函数来放大或缩小您的实例(或两者)。 Lambda 可以有很多触发器,例如通过 API 网关的 HTTP 端点。如果您已经设置了 Consul 来执行此操作(听起来就像您说的那样 can trigger events at certain thresholds.
),只需让它向 API 网关发出 HTTP 请求以扩大或缩小规模。