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