概要
AWS lambdaでRDSの起動があるかチェックするスクリプトです。 停止忘れによる課金防止チェックに利用できます。
スクリプト
lamdba(python)
import json
import botocore
import boto3
def lambda_handler(event, context):
    rds = boto3.client('rds')
    response = rds.describe_db_instances()
    for resp in response['DBInstances']:
        db_instance_id = resp['DBInstanceIdentifier']
        db_instance_status = resp['DBInstanceStatus']
        if not db_instance_status == "stopped":
            print("alert!")
            #「not stopped」等の文言でクラウドウオッチで検知させる
            print(f"RDS is not stopped.({db_instance_id} is {db_instance_status})")
    # TODO implement
    return {
        'statusCode': 200,
        'body': json.dumps('OK!')
    }
関連構成案
起動トリガー:eventBridgeからスケジュール起動 検知方式:cloudWatchからログに「not stopped」がある場合アラートとする
 折りたたみ
 展開