我正在 AWS 中创建灾难恢复解决方案。对于第二个(后备)区域,我希望只有 1 个 EC2 实例以最小化成本。如果发生灾难,我想知道是否可以在第二个区域编写一个 lambda 函数,将自动缩放组的所需容量增加到某个数字。
为此,我可以将该功能订阅到健康检查警报 SNS 主题。
我想知道是否有一个 API 可以从 Lambda 自动缩放 ec2 组以及需要什么样的角色/权限?
我正在 AWS 中创建灾难恢复解决方案。对于第二个(后备)区域,我希望只有 1 个 EC2 实例以最小化成本。如果发生灾难,我想知道是否可以在第二个区域编写一个 lambda 函数,将自动缩放组的所需容量增加到某个数字。
为此,我可以将该功能订阅到健康检查警报 SNS 主题。
我想知道是否有一个 API 可以从 Lambda 自动缩放 ec2 组以及需要什么样的角色/权限?
是的,这是完全可能的。
在 Boto3 中,您可以使用update_autoscaling_group函数并指定MinSize
,MaxSize
和DesiredCapacity
. 通过这样做,您将能够调整值以匹配您期望的值。
或者,您可以将最小容量设置为 1,将最大容量设置为应有的值,如果警报从不触发,它将永远不会扩展。然后,您可以简单地调用set_desired_capacity将实例数设置为特定计数。
这些选项的权限如下:
autoscaling:SetDesiredCapacity
autoscaling:UpdateAutoScalingGroup