amazon-web-services - 从终止实例的警报生成的 AWS SNS
问题描述
我对使用 Lambda 不是很熟悉,想知道是否有人可以为以下场景提供指导。
我想创建一个 lambda 函数,当针对其 CPU >=100% 的实例触发警报时,该函数通过 SNS 订阅调用。
我已经创建了警报、SNS 主题等。我现在正在寻找的是 lambda 代码,它将获取实例并终止所述实例。
任何人都有执行此操作的代码?
谢谢!
解决方案
如果您只想根据 CPU 利用率终止实例,那么您不需要 AWS Lambda。您可以使用Amazon CloudWatch 警报简单地做到这一点,如下所示
- 在https://console.aws.amazon.com/cloudwatch/打开 CloudWatch 控制台。
- 在导航窗格中,选择警报、创建警报。
- 对于选择指标步骤,请执行以下操作:
- 在 EC2 指标下,选择每实例指标。
- 选择包含实例和 CPUUtilization 指标的行。
- 对于统计数据,选择平均值。
- 选择一个时间段(例如,1 小时)。
- 选择下一步。
- 对于定义警报步骤,请执行以下操作:
- 在警报阈值下,键入警报的唯一名称(例如,终止 EC2 实例)和警报描述(例如,当 CPU 空闲时间过长时终止 EC2 实例)。警报名称必须仅包含 ASCII 字符。
- 在无论何时,对于是,选择 < 并输入 10。对于 for,输入 24 个连续期间。
- 在通知下,对于发送通知至,选择现有的 SNS 主题或创建一个新主题。
- 要创建 SNS 主题,请选择新建列表。对于发送通知至,键入 SNS 主题的名称(例如 Terminate_EC2_Instance)。对于电子邮件列表,键入以逗号分隔的电子邮件地址列表,以在警报更改为 ALARM 状态时收到通知。每个电子邮件地址都会收到一封主题订阅确认电子邮件。您必须先确认订阅,然后通知才能发送到电子邮件地址。
- 选择 EC2 操作。
- 对于每当此警报,选择状态为警报。对于采取此操作,选择终止此实例。
- 选择创建警报。
推荐阅读
- google-cloud-platform - 使用客户管理的加密上传到存储桶失败
- powershell - 在 PowerShell 的一个文件夹中静默安装多个 exe 安装程序
- c# - DevExpress 一个功能区用于多个 RichEditControls
- java - 解析 osrm 路由到 List
- apostrophe-cms - 与其他片段相关的片段的上下文编辑
- java - '没有找到合适的方法添加(圆圈)' 错误
- android - 片段到片段重叠
- c# - C# 从文件路径获取文件类型名称
- c# - 如何在 .NET461 中填充 System.Security.Principal.WindowsIdentiy?
- java - 使用 OOP 将 Jpanel 转换为图像