介绍
这种方法非常适合根据实例的活动状态水平自动管理实例。能够对关机条件进行精细控制,这意味着你可以动态地优化资源用途和成本。监控实例的非活动状态时期,并根据 CloudWatch 告警触发针对空闲实例的关机操作,确保在你的整个 AWS 环境中高效地分配资源。
步骤 1:定位 EC2 实例
执行以下步骤,找到你的 EC2 实例并创建 CloudWatch 告警:
- 在 Amazon EC2 控制台中,选择你希望自动关机的实例。
- 在 Alarm status(告警状态)列,选择 + 图标,然后创建 CloudWatch 告警,如下面的截图所示。
步骤 2:创建 CloudWatch 告警
我们需要创建一个 CloudWatch 告警,用于在实例的 CPU 利用率在 1 小时内保持在 3% 或以下(表示非活动状态)时自动停止该实例。在 Manage CloudWatch alarms(管理 CloudWatch 告警)页面中,完成以下设置项:
- 选择 Create an alarm(创建告警)。
- (可选)启用 Alarm notification(告警通知),并配置接收告警通知的 Amazon Simple Notification Service (Amazon SNS) 主题。
- 启用 Alarm action(告警操作),并选择 Stop(停止)。
- 在 Alarm thresholds(告警阈值)部分,进行以下配置:
-
在 Group samples by(样本分组依据)中,选择 Average(平均值)
-
在 Type of data to sample(采样数据类型)中,选择 CPU Utilization(CPU 利用率)。
-
在 Alarm when(告警触发条件)中,选择 <=
-
在 Percent(百分比)中,选择 3
-
在 Consecutive period(连续周期数)中,选择 1
-
在 Period(周期时间)中,选择 1 Hour(1 小时)
-
为告警命名(例如,AutoShutdownInstance)。
-
描述告警相关的信息。
- 选择 Create(创建)。
设置 CloudWatch 告警自动关闭实例可能会导致的问题是,意外停止正在执行关键后台任务但 CPU 使用率较低的实例。为了降低这种风险,在启用自动关机机制之前,请仔细审查你实例的工作负载模式。可以考虑使用除 CPU 利用率之外的其他指标(如网络活动或自定义应用程序指标),以便系统进行更全面的实例活动评估。
成功实施案例
使用 Amazon CloudWatch 告警实现非活动状态的实例动态关机。这适用于需要单独监控,并在检测到长时间处于非活动状态后,需立即采取措施的重要实例。