我希望使用certbot auto自动续订我在GitLab页面上托管的网站的SSL证书。我已经有了这个工作,但我必须让我的Lightsail实例持续运行。
我只是在寻找一种每3个月启动一次Lightsail实例的自动方式,一旦启动就运行一个小脚本,然后再次关机。目前它花了我5个月的时间,我每次只使用它几分钟。
有没有办法每3个月自动安排一次Lightsail实例的启动?
建议的方法:计划的Lambda函数,每3个月触发一次并执行4个步骤。
一些先决条件:
ssm:*
,ec2:startinstances
和ec2:stopinstances
(这将允许您的lambda函数与您的lightsail实例进行通信,并监视和发送命令。"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操作。
在我看来,在你的实例上安装代理只是为了发送命令是一种过度杀伤。