RDS Proxy の使用場所の計画 - Amazon Aurora

RDS Proxy の使用場所の計画

RDS Proxy を使用することで最大の利点を得られる DB インスタンス、クラスター、およびアプリケーションを判別できます。そのためには、以下の要因を考慮します。

  • 「接続が多すぎます」エラーが頻繁に発生する DB インスタンスやクラスターは、プロキシと関連付けることをお勧めします。プロキシを使用すると、アプリケーションは多数のクライアント接続を開くことができます。一方、プロキシは DB インスタンスやクラスターへの長続きする接続の数をより少なく管理します。

  • より小さい AWS インスタンスクラス (T2 や T3 など) を使用する DB インスタンスやクラスターの場合、プロキシを使用すると、メモリ不足状態を回避できます。また、接続を確立するための CPU オーバーヘッドを削減することもできます。メモリ不足状態は、多数の接続を処理するときに発生する場合があります。

  • Amazon CloudWatch の特定のメトリクスをモニタリングして、DB インスタンスまたはクラスターが特定のタイプの制限に近づいているかどうかを判断できます。これらの制限は、接続数や接続管理関連のメモリに適用されます。また、特定の CloudWatch メトリクスをモニタリングすることで、DB インスタンスやクラスターが、多数の存続期間の短い接続を処理しているかどうかも判断できます。このような接続を開いたり閉じたりすると、データベースにパフォーマンスのオーバーヘッドが生じる可能性があります。モニタリングするメトリクスの詳細については、「Amazon CloudWatch を使用した RDS Proxy メトリクスのモニタリング」を参照してください。

  • AWS Lambda 関数も、プロキシの使用に適しています。これらの関数で頻繁に行う短いデータベース接続は、RDS Proxy の接続プールを使用することで利点を得られます。Lambda アプリケーションコードでデータベース認証情報を管理する代わりに、Lambda 機能に設定済みの IAM 認証を利用できます。

  • 通常、多数のデータベース接続を開いたり閉じたりし、また、接続プーリング機構が組み込まれていないアプリケーションは、プロキシの使用に適しています。

  • 長期にわたって多数の接続を開いたままにするアプリケーションは、通常、プロキシの使用に適しています。SaaS (サービスとしてのソフトウェア) や e コマースなどの業界のアプリケーションは、接続を開いたままにしておくことで、データベースリクエストのレイテンシーを最小化できる場合があります。RDS Proxy を使用すると、アプリケーションは、DB インスタンスまたはクラスターに直接接続する場合よりも多くの接続を開いたままにできます。

  • IAM 認証や Secrets Manager は設定が複雑であるという理由で、すべての DB インスタンスやクラスターには導入されていない場合があります。その場合は、既存の認証方法をそのままにして、認証をプロキシに委任できます。プロキシは、特定のアプリケーションのクライアント接続に対して認証ポリシーを適用できます。Lambda アプリケーションコードでデータベース認証情報を管理する代わりに、Lambda 機能に設定済みの IAM 認証を利用できます。

  • RDS Proxy プロキシは可用性が高く、複数のアベイラビリティーゾーン (AZ) にデプロイできます。データベースの全体的な高可用性を確保するには、Amazon RDS DB インスタンスまたは Aurora クラスターをマルチ AZ 設定でデプロイします。