AWS 応用コース

RDS Proxy でつくる
接続境界

LambdaがRDSを直接扱わないようにし、接続プール・秘密・ネットワーク許可をProxyへ集約します。

TL;DR
  1. ProxyがDB接続の急増を吸収する。
  2. DB認証情報はProxy用Secrets Managerに置く。
  3. 許可はLambda→Proxy→RDSのリレーにする。

01 接続数を Proxy で吸収する

Lambda多数からProxyを通りRDSへ接続
多数のLambda実行環境とRDSの間に接続プールを置く。
LambdaのスケールとDBの接続上限を直接結びつけない。 ProxyがDBへの接続を管理することで、アプリ側はリクエスト処理へ集中できます。

02 秘密と権限の経路

Secrets Manager IAM role security groupの関係
秘密・IAM・SGを、各主体の最小権限として分ける。

ProxyはSecrets ManagerからDB認証情報を読みます。RDSのSGはProxyのSGを許可し、LambdaからRDSへの直接許可は外します。アプリの接続先はProxy endpointへ変更します。

03 導入前後で直接接続を消す

直接接続とproxy経由の比較
endpointだけでなく、Secret・IAM・SGも同時に切り替える。

導入は1つのリソース追加ではありません。新しいProxy、Secret、IAM role、SGを作り、環境変数とアプリの接続方式を切り替えて、直接経路を残さないことが重要です。

結論: RDS Proxyは接続を増やす機能だけでなく、DBへの直接経路をなくすための設計境界です。