サーバーレスとは、AWS側が運用も含めて管理する(マネージド)サービスだけで構築したシステムを指します。 ①②③の組み合わせが、サーバーレスの典型的な組み合わせになります。RESTful APIを提供する① API Gatewayにアクセスして、コンテナベースの② Lambda関数を実行して、NoSQL型データベースの③ DynamoDBにデータを格納したり、データを取得する仕組みを実装することができます。①にアクセスしないときは、基本的に料金は発生しません。だからサーバーレス。注)③に対するストレージ料金(無料枠25GB超えた場合)は発生します。
本デザインパターンは、①②③の基本形をよりセキュアに運用するための仕組みになります。

④ RDS Proxyとは、② Lambda関数からデータベース⑤ RDSに効率よく接続できるマネージドサービスです。メリットは大きく2つ。

  1. RDSへの接続にコネクションプールを利用できる
  2. TLS/SSLでDB接続ができて、RDS Proxy のユーザーに⑦ AWS Identity and Access Management (IAM) 認証を適用し、かつ⑥ 認証情報は暗号化してSecrets Manager から取得できる
1つ目は、負荷の高いDBへの接続処理(コネクション)をプールして、数多くのDB接続要求に対してそれらコネクションを共有できるようにする機能です。これはレスポンス向上の話になります。
よりセキュアにという点は2つ目です。アプリケーションコードにデータベース認証情報を埋め込む代わりに、⑥ Secrets Managerに暗号化して保存されたパスワードを使用し、さらにRDS Proxy のユーザーに対して ⑦ IAM 認証を設定することができます。これにより、⑤ RDSへの接続がよりセキュアに行うことができます。