Amazon RDS/Aurora のためのフルマネージド接続プロキシ。
アプリケーションとデータベースの間に入り、接続プール・フェイルオーバー高速化・セキュリティ強化を実現するサービス。
AWS 公式によると、RDS Proxy は以下を提供
・データベース接続のプールと共有
・フェイルオーバー時の自動接続切り替え
・IAM 認証や Secrets Manager を利用した安全な接続
・接続サージ(急増)から DB を保護
・接続のオーバーヘッド(CPU/メモリ)削減
⚙️ RDS Proxy が解決する問題
1. 接続数が多いと DB が重くなる問題
DB への接続は重い処理(TLS/SSL ハンドシェイク、認証など)。
大量の接続が発生すると CPU/メモリを圧迫し、パフォーマンスが落ちる。
RDS Proxy は接続プールを使い、接続の再利用でオーバーヘッドを削減する。
2. フェイルオーバー時のダウンタイム
通常、RDS のフェイルオーバーは数十秒〜数分かかることもある。
RDS Proxy はアプリケーション接続を維持しつつ、裏側でスタンバイ DB に切り替えるため、ダウンタイムを短縮。
3. Lambda の大量同時実行による接続枯渇
Lambda は一気に数千並列で動くことがある。
そのたびに DB 接続を張ると、RDS の max_connections を簡単に超える。
RDS Proxy は Lambda と相性が良く、接続数を抑えつつ高スループットを維持できる。
🧩 RDS Proxy の主な機能
🟦 1. 接続プーリング
接続の開閉を減らし、DB の CPU/メモリ負荷を軽減
アプリケーションは Proxy に接続 → Proxy が DB への接続を管理
接続サージ(急増)を吸収し、DB の過負荷を防ぐ
🟦 2. 高可用性(フェイルオーバー高速化)
フェイルオーバー時もアプリケーション接続を維持
Proxy が裏でスタンバイ DB に切り替える
🟦 3. セキュリティ強化
IAM 認証を利用可能(アプリ側にパスワードを持たせない)
Secrets Manager と統合して認証情報を安全に管理
TLS1.2 での接続をサポート(DB が古い TLS でも Proxy 側で吸収)
🟦 4. スロットリングと接続制御
DB の接続上限を超えないように Proxy が制御
必要に応じて接続を拒否して DB を保護
🧭 どんなときに使うべき?
・ユースケース RDS Proxy の効果
・Lambda × RDS 接続爆発を防ぎ、安定稼働
・大量同時接続の Web アプリ 接続プールで DB 負荷を削減
・フェイルオーバーを短くしたい 接続維持でダウンタイム最小化
・アプリにパスワードを持たせたくない IAM 認証で安全性向上
・RDS の max_connections が不安 Proxy が接続数を制御
🧠 仕組み
[Client]
↓
[RDS Proxy] ← 接続プール・認証・フェイルオーバー処理
↓
[RDS / Aurora]
アプリは常に Proxy に接続し、Proxy が最適な DB 接続を提供する。
📝 まとめ
・RDS Proxy は、RDS/Aurora の スケーラビリティ・可用性・セキュリティを大幅に強化するサービス。
・特に以下のケースではほぼ必須レベル
Lambda から RDS を使う
大量同時接続がある Web アプリ
フェイルオーバー時のダウンタイムを減らしたい
認証情報管理を安全にしたい