Q34 — AWS SAA-C03 第13章

第 34/100 問 | ← 第13章

Q934. オンラインゲーム会社が、ユーザー数の増加に対応するため、ユーザーデータの保存先をAmazon DynamoDBへ移行しようとしています。現在のアーキテクチャには、ユーザープロフィール、達成状況(アチーブメント)、およびゲーム内取引を格納するDynamoDBテーブルが含まれています。同社は、ユーザーにとってシームレスなゲーム体験を維持するために、堅牢で、継続的に利用可能かつ耐障害性の高いDynamoDBアーキテクチャを設計する必要があります。これらの要件を最もコスト効率よく満たすソリューションはどれですか?

正解: D. DynamoDBグローバルテーブルを活用して自動マルチリージョンレプリケーションを実現します。テーブルを複数のAWSリージョンにデプロイします。プロビジョニング済みキャパシティモードを使用し、Auto Scalingを有効化します。

解説

これらの要件を最もコスト効率よく満たすソリューションは、選択肢Dです。「DynamoDBグローバルテーブルを活用して自動マルチリージョンレプリケーションを実現します。テーブルを複数のAWSリージョンにデプロイします。プロビジョニング済みキャパシティモードを使用し、Auto Scalingを有効化します。」理由は以下の通りです。 ・グローバルテーブル:DynamoDBグローバルテーブルは、複数のAWSリージョンにわたって自動的かつ低遅延でデータをレプリケートし、データの一貫性と高可用性を保証します。これは、障害発生時やトラフィック急増時においても、シームレスなゲーム体験を提供する上で極めて重要です。 ・マルチリージョン展開:複数のリージョンにテーブルを展開することで、耐障害性と可用性が本質的に向上します。リージョン単位の障害発生時にも、アプリケーションは他のリージョンへシームレスに切り替えることができ、ユーザーへの影響を最小限に抑えられます。 ・プロビジョニング済みキャパシティ:オンデマンドキャパシティは柔軟性に優れていますが、プロビジョニング済みキャパシティは予測可能なパフォーマンスとコスト最適化を実現します。想定されるトラフィックパターンに基づいてキャパシティを事前に設定し、必要に応じて調整できます。 ・Auto Scaling:プロビジョニング済みキャパシティに対してAuto Scalingを有効化することで、需要の変動に応じて自動的にスケールアップ/スケールダウンが可能となり、パフォーマンスとコストの両方を最適化できます。 他の選択肢が劣る理由: A:グローバルテーブルによるレプリケーションは可能ですが、単一リージョンでのオンデマンドキャパシティ使用では、マルチリージョン展開と同等の耐障害性・可用性は得られません。 B:DAXはパフォーマンス向上に有効ですが、高可用性および耐障害性という核心的な要件には対応していません。また、手動によるクロスリージョンレプリケーションは構成の複雑さとエラー発生リスクを高めます。 C:DynamoDB Streamsを用いたレプリケーションは一定のデータ整合性を提供しますが、手動設定が必要であり、グローバルテーブルのような自動化・効率性には及びません。 まとめ:選択肢Dは、オンラインゲーム会社にとって最も堅牢で、継続的に利用可能かつ耐障害性の高いソリューションを提供します。DynamoDBグローバルテーブル、マルチリージョン展開、プロビジョニング済みキャパシティ、およびAuto Scalingを組み合わせることで、シームレスなゲーム体験を確保しつつ、コストとパフォーマンスの両面で最適化されます。