Amazon RDS Proxy は、Amazon リレーショナルデータベースサービス (RDS) 向けの高可用性フルマネージ型データベースプロキシで、アプリケーションのスケーラビリティやデータベース障害に対する回復力と安全性を高めます。
最新のサーバーレスアーキテクチャに構築されたアプリケーションなどのアプリケーションの多くは、データベースサーバーへの接続を多数開くことができます。このとき、データベース接続の開閉が高頻度で実行されて、データベースメモリやコンピューティングリソースを消耗する可能性があります。Amazon RDS Proxy では、アプリケーションがデータベースと確立した接続をプールおよび共有でき、データベースの効率とアプリケーションのスケーラビリティが向上します。RDS Proxy を使用すると、Aurora と RDS データベースのフェイルオーバー時間が最大 66% 短縮し、AWS Secrets Manager および AWS Identity and Access Management (IAM) との統合によりデータベースの認証情報、認証、アクセスの管理が可能となります。
Amazon RDS Proxy は、コードを変更することなく、ほとんどのアプリケーションで有効にすることができます。RDS Proxy の利用を開始するために、追加のインフラストラクチャをプロビジョニングまたは管理する必要はありません。料金はシンプルで、基盤となるデータベースインスタンスの容量に基づきます。Amazon Aurora Serverless v2 インスタンスでは Aurora Capacity Unit (ACU) ごとに、プロビジョニングされたインスタンスでは vCPU ごとに課金されます。Amazon RDS Proxy は、Amazon Aurora PostgreSQL 互換エディション、Amazon Aurora MySQL 互換エディション、Amazon RDS for PostgreSQL、Amazon RDS for MySQL、Amazon RDS for MariaDB、および Amazon RDS for SQL Server に利用できます。
RDS プロキシの利点
仕組み
Amazon RDS Proxy は、アプリケーションとリレーショナルデータベースの間に配置されており、データベースへの接続を効率的に管理し、アプリケーションのスケーラビリティを向上します。
ユースケース
サーバーレスアプリケーションの開発
Amazon RDS Proxy ではリレーショナルデータベースをより効率的に使用するため、よりスケーラブルで可用性の高いサーバーレスアプリケーションを構築できます。最新のサーバーレスアプリケーションは非常にさまざまなワークロードをサポートするので、新しいデータベース接続のバーストを開こうとしたり、多くの接続を開いたままアイドル状態にしようとする場合があります。接続が急増するまたは多数の接続が開かれることから、データベースサーバーに負荷がかかり、クエリが遅くなり、アプリケーションのスケーラビリティが制限される可能性があります。RDS Proxy では、既に確立されたデータベース接続をプールおよび共有することで、サーバーレスアプリケーションからより多くの接続に効率的に拡張できます。さらに、開かれるデータベース接続の総数を調整して、データベースパフォーマンスの予測を継続することも可能です。最後に、RDS Proxy は、データベースのパフォーマンスを低下させる可能性がある処理の難しいアプリケーション接続を拒否することで、サーバーレスアプリケーションの可用性を維持します。
Software-as-a-Service (SaaS) および e コマースアプリケーション
SaaS または e コマースアプリケーションではデータベース接続の多くを開いたままにして、ユーザーの応答時間を短縮することがよくありますが、特定の瞬間にアクティブに使用できる接続はこれらの開いているうちのごく一部だけです。これらの開いているがアイドル状態の接続は、依然、データベースメモリとコンピューティングリソースを消費します。データベースをオーバープロビジョニングして大部分のアイドル接続をサポートするのではなく、Amazon RDS Proxy を使用してアプリケーションからのアイドル接続を保持し、アクティブな要求を最適に処理するために必要なデータベース接続のみを確立します。