我正在使用AWS免费套餐,并运行运行EC2和RDS的Elastic Beanstalk,我正在寻找一种方法来停止和启动环境,只有在需要时才能从仪表板单独停止EC2和RDS或者什么是好的这样做的方式?
我找到的一个帖子是When I stop and start an ec2 cents os instance , what data do I loose,它说数据不会丢失但是如何在需要时停止并启动EBS?
如果您正在使用Beanstalk并尝试从EC2控制台停止特定的EC2实例,那么Beanstalk会自动将其恢复。如果你想要停止整个EBS环境,你可以使用终止它的终止选项。您将能够将其带回40天,之后它将会丢失。请记住,您将在EBS控制台中看到终止环境约1小时,之后您将只能使用eb
工具将其恢复原状,因此请记住写下您环境的ID,以便稍后使用$ eb restore ENV_ID
恢复它。
就EC2实例而言,如果您具有负载平衡的自动缩放设置,则可以使用计划的自动缩放功能在您喜欢的任何计划中将所需的实例数量缩减为零。要执行此操作,请转到控制台中环境仪表板的容量部分,然后滚动到底部(“Time-based Scaling”)。在这里,您可以输入两个cron表达式,一个用于向外扩展,一个用于缩放,用于重复模式,可在您喜欢时关闭EC2实例。
RDS实例有点棘手。您可以编写一个lambda函数,该函数将拍摄快照,将其关闭,然后将快照还原到新实例,使用cron表达式或类似的CloudWatch Events进行调度。类似的方法可以适用于EC2实例及其EBS卷。