首先,需要确定实例何时处于高使用率状态。可以使用Amazon CloudWatch监控EC2实例的CPU使用率、网络带宽、磁盘读写等性能指标。可以使用以下Python代码实现:
import boto3
from datetime import datetime, timedelta
cloudwatch = boto3.client('cloudwatch', region_name='us-west-2')
def lambda_handler(event, context):
end_time = datetime.utcnow()
start_time = end_time - timedelta(minutes=5)
response = cloudwatch.get_metric_statistics(
Namespace='AWS/EC2',
MetricName='CPUUtilization',
Dimensions=[
{
'Name': 'InstanceId',
'Value': 'i-XXXXXXXXXXXXX' # EC2实例ID
},
],
StartTime=start_time,
EndTime=end_time,
Period=300,
Statistics=['Average'],
)
print(response)
这段代码使用Amazon CloudWatch API检索近5分钟内EC2实例的CPU使用率平均值。如果该值超过设定的阈值,则可以进行相关操作,例如发送通知或自动扩容EC2实例。