Q26 — AWS SAA-C03 第5章
第 26/65 問 | ← 第5章
Q326. ある会社は、Amazon RDSをバックエンドデータベースとして使用するAWS上のサーバーレスアプリケーションを運用しています。このアプリケーションは、突発的かつ予測不能なトラフィック増加を時折経験します。トラフィックが増加すると、アプリケーションがデータベースへの接続を頻繁に開閉し、その結果、データベースからエラーを受け取ったり、接続数の上限に達して接続できなくなったりすることがあります。同社は、アプリケーションが常にスケーラブルで高可用性を確保できるようにする必要があります。これらの要件を満たす解決策として、アプリケーションのコード変更を一切行わずに実現できるものはどれですか?
- A. サーバーレスアプリケーションのRDSデータベースのオプショングループにおける最大接続数を増加させる
- B. RDS DBインスタンスのインスタンスタイプを拡大して、ピーク時のトラフィック負荷に対応する
- C. サーバーレスアプリケーションとAmazon RDSの間にAmazon RDS Proxyを導入する ✓
- D. ピーク時のトラフィック負荷においてもデータベースの高可用性を確保するために、Amazon RDSのリザーブドインスタンスを購入する
正解: C. サーバーレスアプリケーションとAmazon RDSの間にAmazon RDS Proxyを導入する
解説
アプリケーションのコード変更を一切行わずに、Amazon RDSをバックエンドとするサーバーレスアプリケーションを常にスケーラブルかつ高可用性に保つという要件を満たす解決策は、選択肢C(サーバーレスアプリケーションとAmazon RDSの間にAmazon RDS Proxyを導入する)です。Amazon RDS Proxyは、完全マネージド型・高可用性のデータベースプロキシであり、RDSデータベース向けに接続プーリング、読み書き分離、フェイルオーバー機能を提供します。本シナリオでは、RDS ProxyをアプリケーションとRDSの間に配置することで、接続確立時間の短縮および接続の再利用率向上を実現し、接続数不足やトラフィック急増時のデータベースエラー発生を抑制できます。さらに、RDS Proxyは複数の可用性ゾーン(AZ)を活用した自動フェイルオーバーや需要に基づく自動スケーリングにより、データベースの可用性向上にも寄与します。選択肢A(オプショングループの最大接続数の増加)は、トラフィック急増時に依然としてパフォーマンス問題を引き起こす可能性があり、また接続確立時間の課題には対応できません。選択肢B(RDS DBインスタンスのサイズアップ)は、ピーク時のみ必要なリソースを過剰にプロビジョニングすることになり、コスト効率や運用効率の面で非効率です。また、接続関連のパフォーマンス問題を根本的に解決しません。選択肢D(RDSのリザーブドインスタンス購入)は、接続プーリングやスケーラビリティといった根本的な課題には一切対応しておらず、前払いと長期契約を要するためコスト面でも非効率です。したがって、本シナリオにおいて最も適切な解決策は、接続プーリングおよび読み書き分離機能を提供し、データベース接続を最適化するとともに、コード変更なしで可用性を向上させられるAmazon RDS Proxyの導入です。