Skip to content

RDS idle

ルール ID: aws.rds.instance.idleカテゴリ: zombie ・ 必要な読み取り: インベントリ + 利用メトリクス 計画中

誰も接続していないのに動き続けている RDS インスタンスを見つけます。検証で作ったまま忘れられたデータベースは、接続ゼロでもインスタンス課金が全額続きます。

このページは判定規範に従う予定仕様です。閾値・観測窓の根拠(出典)は実装時に付記します。

何を無駄とみなすか

長期間、接続がまったくない単体の RDS インスタンス。データは保全しつつ、まず停止することでインスタンス分の課金を止められます(削除は提案しません — データ保全を優先します)。

判定条件

次のすべてを満たす場合に候補とし、停止を提案します:

  • クラスタに属さない単体インスタンスである
  • リードレプリカを持たず、レプリカでもない
  • 30 日間の接続数の p99 が 0

欠測の扱い: 接続数の系列が取得できない場合は「観測不能」であって idle ではありません。

必須 facts

  • インスタンスのクラスタ所属・レプリカ構成
  • 30 日間の接続数(p99)— 系列の存在自体を確認する
  • インスタンスクラス・エンジン・ストレージ構成
  • 取得できない facts がある場合は「観測不能」と表示し、候補にしません(候補を捏造しない)。

誤検知・危険になり得る条件

  • 月次・四半期の締め処理など、観測窓より長い周期でのみ接続されるデータベース
  • 障害時の復旧先・切り替え先として意図的に温存しているデータベース
  • 接続はないが、スケジュールされたエクスポートやスナップショット取得の起点になっているインスタンス

実行前の確認

  • 命名・タグから用途とオーナーを確認し、利用予定を関係者に確認する
  • 定期ジョブ(バックアップ・エクスポート・ETL)の接続元になっていないか確認する
  • IaC(Terraform / CloudFormation 等)での参照有無を確認する

非破壊テストとロールバック

Safety Tier: medium — 停止は可逆な操作で、データは保持されます。

  1. 停止のみ行い、削除はしない
  2. 影響の申告がないか一定期間観察する
  3. 問題があればそのまま起動し直す(ロールバック)

運用上の注意: 停止した RDS インスタンスは最長 7 日で自動的に再起動されます。課金を止め続けるには再停止の運用(スケジュール化など)が必要です。

効果検証

削減の確定は、変更前ベースラインと変更後請求の比較で行います(Verify)。停止しても 7 日後に自動再起動されるため、表示する削減月額は「停止を維持できた場合の上限値」です。また停止中もストレージ・バックアップ分の課金は続くため、インスタンス分の削減として検証します。