import boto3 import json
def lambda_handler(event, context): scale_event = json.loads(event['Records'][0]['SNS']['Message'])
ecs = boto3.client('ecs')
# Get the desired instance count
current_count = ecs.describe_services(
cluster=scale_event['ClusterName'],
services=[scale_event['ServiceName']]
)['services'][0]['desiredCount']
if scale_event['ScaleDirection'] == 'up':
response = ecs.update_service(
cluster=scale_event['ClusterName'],
service=scale_event['ServiceName'],
desiredCount=current_count + scale_event['ScaleAmount']
)
else:
response = ecs.update_service(
cluster=scale_event['ClusterName'],
service=scale_event['ServiceName'],
desiredCount=current_count - scale_event['ScaleAmount']
)
return response
此示例代码使用 Lambda 函数来更新 ECS 服务的期望任务数。您可以在 CloudWatch 警报中触发此函数,并根据警报