Q47 — AWS SAA-C03 第16章
第 47/100 問 | ← 第16章
Q1247. ある企業は、サーバーレスアプリケーションをサポートする Amazon RDS for Microsoft SQL Server データベースを運用しています。このデータベースでは、常に多数の新しいデータベース接続が発生しており、週に数回、最大接続数に達してパフォーマンス問題が発生しています。ソリューションアーキテクトは、このデータベースのパフォーマンス効率を向上させる必要があります。この要件を満たすソリューションはどれですか?
- A. Amazon API Gateway の API を作成し、その API を介してデータベース接続を中継します。アプリケーションを、データベースに直接接続するのではなく、この API を経由して接続するように設定します。
- B. RDS Proxy を使用してプロキシを作成します。アプリケーションを、データベースに直接接続するのではなく、このプロキシを経由して接続するように設定します。 ✓
- C. Amazon Aurora DB クラスターを作成し、DB クラスターで接続プーリングを有効にします。データをこの DB クラスターに移行し、アプリケーションを新しいデータベースへ切り替えます。
- D. RDS for SQL Server の Multi-AZ データベースを作成し、アプリケーションを、データベースに直接接続するのではなく、Multi-AZ エンドポイントへ接続するように設定します。
正解: B. RDS Proxy を使用してプロキシを作成します。アプリケーションを、データベースに直接接続するのではなく、このプロキシを経由して接続するように設定します。
解説
この企業は、Amazon RDS for Microsoft SQL Server データベースにおいて、接続数の急増(高頻度な新規接続)により、最大接続数に達してパフォーマンス問題を抱えています。目的は、接続処理の最適化を通じてデータベースのパフォーマンス効率を向上させることです。 主な要件: ・接続オーバーヘッドを削減し、最大接続数制限への到達を防ぐこと。 ・サーバーレスアプリケーション(短命の接続を多数発行する傾向あり)におけるパフォーマンス向上。 ・Microsoft SQL Server との互換性維持。 各選択肢の検討: A:誤り。API Gateway はデータベース接続プーリングのためのサービスではなく、HTTP 経由での SQL 実行は遅延と複雑さを招き、高頻度のデータベース接続には非現実的です。 B:正解。RDS Proxy は、RDS(MySQL、PostgreSQL、Microsoft SQL Server をサポート)向けの完全マネージド型接続プーリングサービスです。メリットとして、接続の再利用によるオーバーヘッド削減、アイドル接続のプール化による最大接続数制限の回避、特にサーバーレスアプリケーションにおけるパフォーマンス向上が挙げられます。また、アプリケーション側のコード変更は不要(接続文字列の更新のみ)です。本シナリオに最も適したソリューションです。 C:誤り。Aurora は Microsoft SQL Server をサポートしておらず、MySQL/PostgreSQL 互換エンジンのみ対応です。SQL Server データベースからの移行は技術的に不可能であり、本ユースケースには適用できません。 D:誤り。Multi-AZ はフェイルオーバー機能による可用性向上を目的としており、接続プーリングや接続数制限の緩和には寄与しません。接続数の急増によるパフォーマンス問題の解決にはなりません。 なぜ RDS Proxy(選択肢 B)が最適か: ・接続プーリング:RDS Proxy がデータベース接続をプール管理し、各リクエストごとに新規接続を生成する必要をなくします。 ・スケーラビリティ:数千もの同時接続を効率的に処理できます。 ・サーバーレス対応:Lambda など、頻繁に接続を開閉するアプリケーションに最適です。 ・SQL Server 対応:RDS for SQL Server と完全に連携可能です。 ・ダウンタイムなし:データベースの移行やアプリケーションロジックの変更は不要(接続文字列の更新のみ)。 最終的な回答:B。RDS Proxy を使用してプロキシを作成し、アプリケーションをデータベースに直接接続するのではなく、このプロキシを経由して接続するように設定します。 実装手順: ・AWS コンソールから RDS Proxy を作成:ターゲットとして RDS for SQL Server インスタンスを選択し、接続プーリング設定(最小/最大接続数など)を構成します。 ・アプリケーションの接続文字列を更新:RDS エンドポイントを RDS Proxy のエンドポイントに置き換えます。 ・パフォーマンス監視:CloudWatch メトリクスを活用し、接続数の急増減少およびレイテンシ改善を確認します。これにより、接続制限による問題が解消され、サーバーレスアプリケーションのパフォーマンスが向上します。