作成日:2022/01/02 更新日:2022/01/02

概要

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」がある場合アラートとする

★ORACLE案件承ります