リリース後の開発環境やサービスを一時的に停止する場合など、RDSを削除せずに停止しておきたいというケースはたびたび発生しますが、RDSは停止しても一定期間経過すると自動的に起動されてしまいます。
そこで、AWS CLIを利用してステータスを確認し、起動していれば停止するようにスクリプトを定期的に実行します。
$ aws rds describe-db-instances --db-instance-identifier [RDS_instance_name] --query "DBInstances[].[DBInstanceStatus]" --output text --profile [profile_name]
起動していると available と出力されるので、以下のようなコマンドで停止します。
$ aws rds stop-db-instance --db-instance-identifier [RDS_instance_name] --profile [profile_name]
なお、describe-db-instances の結果に次回起動日時などがあればそれをターゲットにして実行できるのですが、そのような情報はないようです。