有没有办法每3个月自动安排一次Lightsail实例的启动?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有没有办法每3个月自动安排一次Lightsail实例的启动?相关的知识,希望对你有一定的参考价值。
我希望使用certbot auto自动续订我在GitLab页面上托管的网站的SSL证书。我已经有了这个工作,但我必须让我的Lightsail实例持续运行。
我只是在寻找一种每3个月启动一次Lightsail实例的自动方式,一旦启动就运行一个小脚本,然后再次关机。目前它花了我5个月的时间,我每次只使用它几分钟。
有没有办法每3个月自动安排一次Lightsail实例的启动?
建议的方法:计划的Lambda函数,每3个月触发一次并执行4个步骤。
- 启动您的实例
- 使用EC2 RunCommand API远程执行lightail实例上的命令
- 监视命令直到完成
- 关闭实例
一些先决条件:
- 创建一个Lambda函数并使用IAM角色授予它权限以使用
ssm:*
,ec2:startinstances
和ec2:stopinstances
(这将允许您的lambda函数与您的lightsail实例进行通信,并监视和发送命令。 - 使lambda函数成为预定函数,因此您可以每3个月自动触发一次
- 在您的实例上安装SSMAgent,如this
- 通过实例策略为您的实例提供适当的SSM通信IAM权限(这将允许实例与AWS SSM通信)
"ec2messages:*","ssm:updateinstanceinformation","ssm:listassociations"
现在使用AWS SDK编写lambda函数,它就像魅力一样。如果您担心成本,除非您运行一个脚本的母亲,否则您应该属于免费套餐,因为您每月获得400 GB秒的计算时间。
这意味着您可以免费运行具有1GB内存的lambda函数,每月400秒。
PS:我提到EC2很多,我知道你正在使用lightail,但因为它只是EC2的包装,我想可以使用相同的功能,如果我错了,请纠正我。
我能想到两种选择。可能会有更多。
AWS Data Pipeline:每3个月安排一次shell活动并选择一个微实例。指定AWS CLI命令以启动实例,并在完成其工作后让实例发送stop instance命令。成本:1小时微实例。
AWS Lambda(首选):安排Lambda事件以每3个月启动一次实例。指定AWS CLI命令以启动实例,并在完成其工作后让实例发送stop instance命令。成本:没有(可能在免费限制范围内)
从已停止状态启动特定的Amazon Lightsail实例。要重新启动实例,请使用reboot instance操作。
在我看来,在你的实例上安装代理只是为了发送命令是一种过度杀伤。
以上是关于有没有办法每3个月自动安排一次Lightsail实例的启动?的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法将多个静态 IP 分配给 Amazon Lightsail 实例?