AWS 既存DBのマスターパスワード はどこから確認できますか?

AWS

RDS/Aurora の「マスターパスワード」は AWS 側から“確認(表示)”はできません。セキュリティ上、一度設定した値を後から閲覧する機能はありません(コンソール/CLI/API どれでも同じ)。

1) いまのパスワードを“見る”のではなく「再設定」する(王道)

コンソール

RDS → データベース → 対象(クラスター/インスタンス)→ 変更 (Modify)
マスターパスワード を新しいものに変更 → 即時適用 or メンテナンスウィンドウで適用

CLI(例:Aurora クラスター)

aws rds modify-db-cluster \
--db-cluster-identifier <識別子> \
--master-user-password '<新しいパスワード>' \
--apply-immediately

(通常の RDS インスタンスなら modify-db-instance

2) そもそも Secrets Manager に保存されているか確認する

運用によっては、AWS Secrets Manager に “Master user secret” として自動管理されていて、そこから取得できます(RDS 側の「表示」ではなく、Secret を見る)。

確認方法(RDS/Aurora)

  • RDS コンソールで対象を開いて、「認証 / セキュリティ」(Authentication / Security) 付近に
    Master user secret(Secrets Manager) が出ていないか見る
  • CLI なら(クラスター)
aws rds describe-db-clusters \
--db-cluster-identifier <識別子> \
--query "DBClusters[0].MasterUserSecret" \
--output json

ここに SecretArn が出るなら、Secrets Manager 側で値(現在のパスワード)を参照できます。

※ ただし Secrets Manager 管理にしていない構成だと何も出ません。その場合は「再設定」しかありません。

3) もし「IAM DB 認証」を使っているならパスワード不要

Aurora MySQL / Aurora PostgreSQL / RDS MySQL / RDS PostgreSQL は、構成によっては IAM 認証トークンで接続でき、マスターパスワードを使わない運用もできます。


まず最短で判定する質問(ここは1行でOK)

あなたの環境は **Secrets Manager 管理(MasterUserSecret がある)**ですか?
上の describe-db-clusters ... MasterUserSecret の出力を見ればすぐ分かります。

  • 出る → Secrets Manager から確認可能
  • 出ない → 表示は不可なので、パスワードを 変更(リセット) するのが解決策

A. Secrets Manager に保存されている場合:パスワードを確認する手順

1) RDS 側で「Master user secret」があるか探す

  1. AWS コンソール → RDS
  2. 左メニュー 「データベース」
  3. 対象をクリック
    • Aurora の場合:DB クラスター(またはクラスター配下のインスタンス)を開く
  4. 画面のどこかにある 「認証」/「セキュリティ」/「接続とセキュリティ」 付近で
    Master user secret(Secrets Manager) / シークレット の表示を探す
    • Secret の名前ARN が表示されていれば、Secrets Manager で参照できます

ここにシークレットが出てこない場合は、Aではなく B(リセット) になります。

2) Secrets Manager で中身(パスワード)を見る

  1. AWS コンソール → Secrets Manager
  2. 左メニュー 「シークレット」
  3. さきほど RDS 画面で見えた シークレット名をクリック
  4. 「シークレットの値を取得」(または「Retrieve secret value」)を押す
  5. JSON 形式で出てくることが多いです(例:username, password, host, port, dbname など)
    • その中の password がマスターパスワード(もしくは接続用パスワード)です

B. Secrets Manager が無い場合:マスターパスワードをリセット(変更)する手順

B-1) Aurora(DB クラスター)の場合

  1. AWS コンソール → RDS → 左 「データベース」
  2. 対象の DB クラスター をクリック
  3. 右上(またはアクション)で 「変更(Modify)」
  4. 変更画面で 「認証(Authentication)」 付近を探し、
    「マスターパスワード(Master password)」 を新しい値に設定
  5. 画面下の 適用方法でどちらか選択
    • すぐ反映したい「即時適用(Apply immediately)」
    • 安全に:次の メンテナンスウィンドウで適用
  6. 「変更を保存(Modify DB cluster)」 を押す

※即時適用すると、環境によっては短時間の接続影響が出ることがあります(アプリ側で再接続が必要になるケース)。

B-2) 通常の RDS(DB インスタンス)の場合

  1. AWS コンソール → RDS → 左 「データベース」
  2. 対象の DB インスタンス をクリック
  3. 「変更(Modify)」
  4. 「マスターパスワード」 を新しい値に設定
  5. 即時適用 or メンテナンスウィンドウ
  6. 「変更を保存(Modify DB instance)」

失敗しやすい注意点(ここだけ押さえると安心)

  • アプリ/バッチ/接続設定も必ず新パスワードに更新が必要
    (EC2 の環境変数、ECS の task definition、Lambda の環境変数、Parameter Store/Secrets Manager、CI/CD の変数など)
  • もし今後ラクしたいなら
    パスワードを Secrets Manager に寄せて管理(アプリ側も Secret 参照)にすると運用が安定します

コメント