【RDSの役割(セキュリティ設計)】
目次
🔍 1. 結論
💎 一言でいうと Amazon RDSにおけるセキュリティの要点は、「VPCによるネットワーク隔離(プライベートサブネット配置)」 と 「AWS KMSを用いた保管データの暗号化」 です。これらを組み合わせることで、データベースへの不正アクセスとデータ漏洩を防ぎます。
- 必ず プライベートサブネット に配置する(パブリックアクセスは無効化)。
- インスタンス作成時に KMS暗号化 を有効にする。
- 認証情報(パスワード)は Secrets Manager で管理するか、IAMデータベース認証 を使う。
📈 2. SAAで出やすいポイント
- 保管時の暗号化 (Encryption at Rest):
- KMSを使用して、背後のEBSボリューム、自動バックアップ、スナップショット、リードレプリカをすべて暗号化する。
- 【超重要】 作成済みの非暗号化RDSを「後から」直接暗号化することはできない。スナップショットを取得 → スナップショットをコピー(その際に暗号化) → 暗号化済みスナップショットから復元 という手順を踏む必要がある。
- 転送時の暗号化 (In Transit): アプリケーションとRDS間の通信は SSL/TLS を使用して暗号化する。
- IAMデータベース認証: パスワードを使わず、IAMユーザーやIAMロールの認証情報(一時トークン)を使ってMySQLやPostgreSQLにログインできる機能。
🗝 3. キーワードでの判断
| 問題文のキーワード | 疑う構成・機能 |
|---|---|
| 🛑 「既存の非暗号化RDSを暗号化したい」 | スナップショット取得 → コピー時に暗号化 → 復元 |
| 🔑 「DBのパスワード管理をなくしたい」 | IAMデータベース認証 |
| 🛡️ 「DBをインターネットから保護したい」 | プライベートサブネットへの配置 + パブリックアクセス無効 |
⚠️ 4. ひっかけポイント
🚫 よくある誤答パターン – 「設定画面のチェックボックスをオンにして既存のRDSを暗号化する」 → 不可。必ず「スナップショットのコピーを通じた再作成」が必要です。 – 「DBのパスワードをEC2の環境変数に設定する」 → セキュリティ違反。Secrets Managerを使うか、IAMデータベース認証を使うのが正解。
💡 5. 覚え方
🧠 暗記ショートカット – 既存RDSの暗号化 = 「服を着たまま防弾チョッキは着れない」。一度写真(スナップショット)を撮り、チョッキを着せた写真(コピー)を作り、それから実体化(復元)する。
📚 6. 関連サービス
| アイコン | サービス名 | 役割 |
|---|---|---|
| 🔑 | AWS KMS | RDSのストレージとバックアップを暗号化する |
| 👤 | IAM | パスワードレスでDBにログインする(IAM DB認証) |
| 🔐 | Secrets Manager | DBパスワードを使用する場合、安全に保管・自動更新する |
🗒️ 7. Obsidian管理メモ
- 見返すタイミング: データベースのセキュリティ要件を学ぶ際
- 関連ノート候補:
AWS_セキュア設計_KMS,AWS_セキュア設計_SecretsManager
8. HTMLファイル名:
AWS_セキュア設計_RDS.html