Upgrade to Pro — share decks privately, control downloads, hide ads and more …

〜第3回品川会〜 Lambda → Proxy → RDS 接続について調べてみた

Avatar for 髙橋尚 髙橋尚
February 25, 2026
18

〜第3回品川会〜 Lambda → Proxy → RDS 接続について調べてみた

2026/02/25
WeWork 神谷町トラストタワー

Avatar for 髙橋尚

髙橋尚

February 25, 2026

Transcript

  1. © Uhuru Corporation 〜第3回 品川会〜 Lambda → Proxy → RDS

    接続について調べてみた 髙橋 尚 株式会社ウフル 2026/02/25
  2. © Uhuru Corporation 名前 髙橋 尚 所属 株式会社ウフル (新卒1年目) 好きなサービス

    Amazon Connect / AWS Amplify 2026 Jr. Champions 目指してます! 2 自己紹介 今日の発表スライド
  3. © Uhuru Corporation 4 目的 • 「RDS Proxy」のサービスの概要理解してもらう • Lambda

    → RDSの構成の注意すべきポイントについて話す • RDS接続時の設計でコメント・アドバイスをいただくこと
  4. © Uhuru Corporation 7 RDS Proxyとは? RDS向けの高可用性あるフルマネージド型データベースプロキシ <メリット> • 接続プーリング

    • IAM認証でDB接続できる • フェイルオーバーによる高可用性 <デメリット> • コスト(vCPUあたりの時間課金)
  5. © Uhuru Corporation 8 RDS Proxyとは? RDS向けの高可用性あるフルマネージド型データベースプロキシ <メリット> • 接続プーリング

    ←多数のリクエストを捌けるようになる! • IAM認証でDB接続できる • フェイルオーバーによる高可用性 <デメリット> • コスト(vCPUあたりの時間課金)
  6. © Uhuru Corporation 12 原因 DBの接続上限数が逼迫していた 1. 複数のLambda が接続プールを作成しようとする 2.

    RDS Proxy が新しい接続を拒否(既に制限に達している 3. connect_timeoutがないため、Lambdaは接続待ち 4. 新しいLambda接続が一生リクエスト飛んで帰ってこない 以降1. に戻る
  7. © Uhuru Corporation 15 検証結果 Lambdaのロードテストをartilleryでテストしてみた インスタンスクラス: db.t3.medium, 最大接続数: 250

    指標 pool_size=1 timeoutなし pool_size=10 timeout = 5 pool_size=1 timeout = 5 pool_size=10 timeoutなし HTTP 200 25,490 (100.0%) 814 25,493 (100%) 25,489 (100%) HTTP 500 0 16721 0 0 HTTP 504 0 619 0 0 左から時系列順 ① ② ③ ④ ① ② ③ ④ ① ② ③ ④ ① ② ③ ④
  8. © Uhuru Corporation 18 今後調べていきたいこと • RDS Data APIの活用 リクエスト分の課金なのでコスト

    RDSのインスタンスクラスが限定されるので今回省略 • DBのアクセス設計について(CQRSパターン)
  9. © Uhuru Corporation 19 まとめ • Lambda → Proxy →

    RDSの設計 Lambda側のDB接続のパラメータに注意する Ex.) pool_size,接続タイムアウト, DBの最大接続数(max_connections) この辺が接続する上で考えるポイントだと思う • メトリクスを見る大切さ Proxyを経由することで監視すべき対象が多くなる →原因がどこにあって、どう解決するか特定することが大事!