リリース後の開発環境やサービスを一時的に停止する場合など、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 の結果に次回起動日時などがあればそれをターゲットにして実行できるのですが、そのような情報はないようです。


AWS
RDS