SAA-C03弾力性に優れたアーキテクチャの設計MEDIUM単一選択

ある企業が、Amazon RDS for PostgreSQL を使ったアプリケーションで読み取りクエリのスケーリングのために Read Replica を追加したが、アプリケーションコードではすべての読み取りリクエストがプライマリのエンドポイントに向いている。コード変更を最小限にしながら読み取りをリードレプリカに自動分散させたい。最も適切なソリューションはどれか。

  1. A. Aurora MySQL に移行してリーダーエンドポイントを使用する。
  2. B. Amazon RDS Proxy をプライマリとリードレプリカの前段に配置し、RDS Proxy のリードエンドポイントに読み取りリクエストを接続する。RDS Proxy が複数のリードレプリカへの負荷分散を管理する。
  3. C. アプリケーションのデータベース接続設定を変更して、読み取りクエリをリードレプリカのエンドポイントに向ける。
  4. D. AWS Global Accelerator を RDS の前段に配置してトラフィックを分散する。
解答と解説を見る

正解: B

Amazon RDS Proxy はコネクションプーリングと複数の RDS インスタンスへの接続管理を提供する。RDS Proxy にはライターエンドポイントとリーダーエンドポイントがあり、アプリケーションの接続先を RDS Proxy のリーダーエンドポイント 1 つに変更するだけで、背後の複数リードレプリカへの自動負荷分散が実現できる。コード変更は接続先エンドポイントの変更のみ。選択肢Cは有効だが、コードに読み取り/書き込みの接続先切り替えロジックを実装する必要があり、コード変更が必要。選択肢DのGlobal Accelerator は L4 のトラフィック最適化サービスで、RDS の読み取り/書き込み分散には使用しない。選択肢AのAurora MySQL への移行は根本的なエンジン変更が必要で、PostgreSQL のコードが MySQL と互換性がない場合は多大な変更が発生する。

▸ この試験を本気で演習する(全150問・無料)