存档说明:这篇 2019 年的文章包含历史指导,包括不再支持的 Python 版本。
此博客在 EC2 实例上运行。为了降低成本,我没有使用负载均衡器;相反,我使用了所需容量为一个实例的 Auto Scaling 组。数据库连接偶尔会变得不可靠,在这种情况下,最简单的自动补救措施是重新启动实例。如果没有负载均衡器,这并不完全简单,所以我在这里记录了这个过程。
- 创建 Route 53 运行状况检查。
- 选择生成的 CloudWatch 警报并附上 SNS 主题。
- 将该主题配置为向您发送电子邮件并调用 Lambda 函数。
- 确保 Lambda 函数的 IAM 角色允许其重启 EC2 实例。
这是我在网上找到的 Lambda 代码。在撰写本文时,它需要的是 Python 2.7 而不是 Python 3.x。
导入 boto3
区域 = 'us-west-1'
实例 = ['i-12345cb6de4f78g9h','i-08ce9b2d7eccf6d26']
def lambda_handler(事件、上下文):
ec2 = boto3.client('ec2',region_name=region)
ec2.stop_instances(实例 ID=实例)
print '已停止您的实例:'+ str(实例)
BERND KUHLEN所有笔记 ↗