勉強前イメージ
RDSに接続する際のプロキシ?
調査
RDS Proxyとは?
接続元と接続先のRDSの間に設置し、アクセスを中継するサービスになります。
フルマネージド型のデータベースプロキシになります。
設定はRDSのProxiesから設定が出来ます。
ユースケースとしてはlambdaでサーバレスなシステムを構築する際に
lambda + RDSだと同時接続数を超えてしまいアクセスできない状態になります。
このときに lambda + RDS proxy + RDS構成でコネクションのプーリングなどを行います。
RDS Proxyを特徴
- 接続プーリング
RDSの接続プールを管理し、アプリケーションからのアクセスと頻度を効率化します。
また、RDSに接続する際のリソースも上記によって軽減します。
- シームレス フェイルオーバー
RDS proxyは複数のAZにデプロイでき、
フェイルオーバーの際は新しいデータベースインスタンスに直接ルーティングすることで、
アプリケーションの再接続は不要で、ダウンタイムを短縮することが出来ます。
- アプリケーション セキュリティの向上
データベースがユーザ名/パスワードしか対応していない場合でも
RDS proxyの接続はiam認証が可能です。
また、Secrets Managerによる認証情報の一元管理も行います。
勉強後イメージ
max_connectionとかでエラーになってたらこれが良いって感じなんかな?
ただ、読み取りだけの話だったらリードレプリカでも・・?って思ったけど
RDS proxyは他にもフェイルオーバーとかセキュリティ面でのメリットもあるし
そもそもRDS proxyとリードレプリカはやり方が違うね。