データベース

Amazon RDS Proxy とは?Lambda 大量接続と高速フェイルオーバー

RDS Proxy は RDS / Aurora への接続をプールし、効率的に管理するマネージドプロキシ。Lambda が大量に DB に接続する時の接続枯渇問題 を解決し、フェイルオーバー時間も短縮(66% 削減)する。サーバーレス + RDB の組み合わせで必須のサービ...

RDS / Aurora の前段に置く接続プールマネージャ。Lambda 大量接続・フェイルオーバー高速化に必須。


1. 概要(端的に)

RDS Proxy は RDS / Aurora への接続をプールし、効率的に管理するマネージドプロキシLambda が大量に DB に接続する時の接続枯渇問題 を解決し、フェイルオーバー時間も短縮(66% 削減)する。サーバーレス + RDB の組み合わせで必須のサービス。


2. 何ができるか

  • 接続プーリング:DB 接続を共有・再利用
  • 接続枯渇防止:Lambda の大量呼び出しに対応
  • フェイルオーバー高速化:従来 30 秒 → 約 10 秒
  • 自動再接続:DB 障害時の透過的な接続復旧
  • IAM 認証統合:DB パスワードを使わずに認証可
  • 暗号化:TLS 強制

3. 特徴

観点特徴
追加料金プロビジョンド時間課金(vCPU 単位)
対応 DBRDS(MySQL / PostgreSQL / MariaDB / SQL Server)/ Aurora
接続プール上限DB の max_connections に従う
VPC 内配置必須
TLS強制

主要効果

  • 接続オーバーヘッド削減:Lambda の同時実行で接続枯渇を防ぐ
  • フェイルオーバー時間短縮:66% 削減(30 秒 → 10 秒)
  • アプリ側の接続管理簡素化

4. 仕組み

RDS Proxy は アプリと RDS の間に置かれるプロキシ。アプリは Proxy エンドポイントに接続し、Proxy が裏で DB 接続を効率管理する。

動作の流れ

  1. アプリが Proxy エンドポイントへ接続
  2. Proxy が既存プール接続を再利用 or 新規確保
  3. クエリを DB に転送
  4. 結果を返却
  5. 接続を再利用のためプールに戻す

Lambda + RDS Proxy の必要性

[従来]
Lambda 1,000 並列 → 各 Lambda が DB 接続作成 → DB max_connections 超過 → エラー

[Proxy 経由]
Lambda 1,000 並列 → Proxy 接続(プール内)→ DB 接続を効率共有 → 安定稼働

5. ユースケース

ユースケース 1:Lambda + RDS の組み合わせ

サーバーレス API + RDB の 必須コンポーネント

ユースケース 2:接続多数のアプリ

ECS / EKS で多コンテナが DB アクセス。

ユースケース 3:高速フェイルオーバー要件

Multi-AZ + Proxy で切替時間最小化。

ユースケース 4:パスワードレス DB アクセス

IAM 認証で DB パスワード管理を不要に。


6. 関連用語


7. 関連サイト

AWS 公式

参考


🎓 試験での出題傾向

試験重要度主な出題パターン
CLF出題稀
SAAサーバーレス + RDS シナリオ
DVALambda + RDS の最適構成(頻出
SOA接続管理運用