【发布时间】:2018-12-06 20:29:05
【问题描述】:
我知道如何使用 Ruby sdk 启动和停止 ec2 实例。现在我需要在启动 ec2 实例后根据小时参数自动关闭? 我怎么解决这个问题?请提供一些有用的参考。
#disconnecting EC2 Instance
def disconnect_group_instance
if current_user.present?
server_instance = GroupUserInstance.find_by_group_user_id(params[:id])
ec2 = Aws::EC2::Client.new
resp = ec2.stop_instances({
dry_run: false,
instance_ids: [server_instance.server_id],
force: false
})
end
end
有什么方法可以传递时间变量并基于此我可以执行适当的操作?
【问题讨论】:
-
我不太明白你的要求,但这是否可以通过 lambda 解决?每小时关闭一次服务器?
-
感谢@George Appleton 的回复。实际上我正在寻找 api 调用,因为我的时间段是用户定义的。(可能是 200 小时、300 小时等等)。根据时间段,我需要自动关闭 ec2 实例。
-
aws api 应该能够轻松处理 docs.aws.amazon.com/cli/latest/reference/ec2/… docs.aws.amazon.com/AWSEC2/latest/APIReference/… 有两个链接应该有所帮助。您应该能够让实例自行关闭。但是,如果您遇到问题,另一种方法是让 lambda 端点每隔 x 时间段查询您的 ec2 实例 api,并在某些响应时关闭 ec2 实例。
标签: ruby-on-rails amazon-web-services amazon-ec2