AWS 使用 lambda 和计划事件重启实例

AWS reboot instances using lambda and scheduled event

我正在使用 AWS javascript sdk 构建 AWS lambda(金丝雀模板)。 我使用它是为了在指定的时间间隔(每天的某个时间)重启一些实例。

我正在重新启动同一 AMI 的两个实例。以下是我的问题:

  1. 因为有两个实例,我想重启第一个,然后再重启第二个。我这样做是为了不存在停机时间。我正在第一个回调中重新启动第二个实例。当实例实际重新启动时,是否会调用成功回调,还是我应该添加一些超时以确保确定?
  2. 我是 运行 的实例有一个 auto-scaling 组。这意味着,如果一个实例停止,将自动启动一个新实例。如果我重新启动我的实例,auto-scaling 组是否会知道这一点,这样我就不会得到 4 个实例 运行?

我希望标题足够描述性。如有不妥欢迎编辑。

我假设您使用的是 AWS Javascript sdk

1:aws node sdk本质上是异步的,在reboot命令提交后会立即return。你应该介绍一个等待。我建议 describe instance status API 等待,而不是固定间隔等待。

2:您不会有四个实例,一旦您停止实例,asg 将终止该实例并创建一个新实例。

这是 link 到 AWS SDK 的文档: http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html#rebootInstances-property