【问题标题】:AWS reboot instances using lambda and scheduled eventAWS 使用 lambda 和计划事件重启实例
【发布时间】:2016-09-12 17:21:59
【问题描述】:

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

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

  1. 由于有两个实例,我想重新启动第一个,然后重新启动第二个。我正在这样做,所以没有停机时间。我正在第一个回调中重新启动第二个实例。实例实际重新启动时是否会调用成功回调,或者我应该添加一些超时来确定吗?
  2. 我正在运行的实例有一个自动缩放组。这意味着,如果一个实例停止,将自动启动一个新实例。如果我重新启动我的实例,自动扩展组是否会知道这一点,因此我最终不会运行 4 个实例?

我希望标题足够描述性。如果不能随意编辑。

【问题讨论】:

    标签: amazon-web-services amazon-ec2 aws-sdk aws-lambda


    【解决方案1】:

    我假设您使用的是 AWS Javascript sdk

    1:aws node sdk本质上是异步的,提交reboot命令后会立即返回。你应该引入一个等待。我建议等待描述实例状态 API,而不是固定间隔等待。

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

    以下是 AWS 开发工具包文档的链接: http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html#rebootInstances-property

    【讨论】:

    • yes.. 执行回调时,未确认实例已停止,您将不得不使用状态 API。重启api也会有同样的效果,它会终止,你可以试试这个。在将 aws sdk 用于 javascript 之前,我已经这样做了。
    • docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/…。文档清楚地说明“此操作是异步的;它仅将重新启动指定实例的请求排队。”
    • 撤回反对票并接受。感谢您的帮助
    • 酷。实际上,您可以使用 aws 控制台测试重新启动,只需重新启动并查看 ASG 的作用。
    • 是的,我将对此进行测试,我只是想让我的生活更轻松一些,并事先询问我需要的信息(指向文档的指针),并在此过程中通过丰富网站的内容来造福社区材料。请在您的答案中添加指向文档的 url。这是一个很好的指针。
    猜你喜欢
    • 1970-01-01
    • 2016-03-25
    • 2019-11-18
    • 2023-03-21
    • 2019-01-09
    • 2019-10-04
    • 2017-11-28
    • 2019-06-26
    • 2018-08-14
    相关资源
    最近更新 更多