用于自动缩放的 AWS lambda 函数

AWS lambda function for auto-scaling

我正在 AWS 中创建灾难恢复解决方案。对于第二个(回退)区域,我只想拥有 1 个 EC2 实例以最小化成本。万一发生灾难,我想知道是否可以在第二个区域中编写一个 lambda 函数,将 auto Scaling 组的所需容量增加到某个数量。

为了实现这一点,我可以订阅健康检查警报 SNS 主题的功能。

我想知道是否有 API 可以从 Lambda 自动缩放 ec2 组,需要什么样的 roles/permissions?

是的,这完全有可能。

在 Boto3 中,您可以使用 update_autoscaling_group 函数并指定 MinSizeMaxSizeDesiredCapacity。通过这样做,您将能够调整值以匹配您期望的值。

或者,您可以将最小容量设置为 1,将最大容量设置为应有的值,如果警报永远不会触发,则它永远不会扩展。然后您可以简单地调用 set_desired_capacity 将实例数设置为特定计数。

这些选项的权限如下:

  • autoscaling:SetDesiredCapacity
  • autoscaling:UpdateAutoScalingGroup