Q33 — AWS SAA-C03 第16章
第 33/100 問 | ← 第16章
Q1233. ある企業が、オンプレミスのデータセンターで2層構成のWebアプリケーションを実行しています。アプリケーション層は、ステートフルなアプリケーションを実行する単一のサーバーで構成されています。このアプリケーションは、別のサーバー上で実行されるPostgreSQLデータベースに接続します。ユーザー数が大幅に増加することが予想されるため、同社はアプリケーションおよびデータベースをAWSへ移行することを決定しました。このソリューションでは、Amazon Aurora PostgreSQL、Amazon EC2 Auto Scaling、およびElastic Load Balancingを使用します。アプリケーション層およびデータベース層の両方がスケール可能であり、かつ一貫したユーザーエクスペリエンスを提供するソリューションはどれですか?
- A. Aurora Replicasに対してAurora Auto Scalingを有効化します。Network Load Balancerを、最も未処理リクエスト数が少ない(least outstanding requests)ルーティングアルゴリズムとステッキーセッションを有効化して使用します。
- B. Aurora Writerに対してAurora Auto Scalingを有効化します。Application Load Balancerを、ラウンドロビンルーティングアルゴリズムとステッキーセッションを有効化して使用します。
- C. Aurora Replicasに対してAurora Auto Scalingを有効化します。Application Load Balancerを、ラウンドロビンルーティングアルゴリズムとステッキーセッションを有効化して使用します。 ✓
- D. Aurora Writerに対してAurora Auto Scalingを有効化します。Network Load Balancerを、最も未処理リクエスト数が少ない(least outstanding requests)ルーティングアルゴリズムとステッキーセッションを有効化して使用します。
正解: C. Aurora Replicasに対してAurora Auto Scalingを有効化します。Application Load Balancerを、ラウンドロビンルーティングアルゴリズムとステッキーセッションを有効化して使用します。
解説
ユーザー数の増加に対応し、一貫したユーザーエクスペリエンスを維持しながらアプリケーション層およびデータベース層の両方をスケール可能にするには、以下の要件を満たす必要があります: ・スケーラビリティ:アプリケーション層(EC2 Auto Scaling)およびデータベース層(Aurora)が負荷増加に応じて自動的にスケール可能であること。 ・一貫したユーザーエクスペリエンス:ステートフルなアプリケーションであるため、ユーザーのセッションを維持する「ステッキーセッション」が必要です。また、アプリケーションサーバー間へのリクエスト配信は効率的で均等である必要があります。 ・データベースのスケーリング:Aurora PostgreSQLは、読み取り負荷の増加に対応するために、読み取り専用レプリカ(Aurora Replicas)の自動スケーリングが適切です。 各オプションの検討: ・データベース層:Aurora Auto Scalingは、読み取り負荷対応のため「Aurora Replicas」に対して有効化すべきです。Writerインスタンスのスケーリングは、通常の読み取り負荷増加対策としては不適切です。 ・アプリケーション層:HTTP/HTTPSトラフィックを扱う場合、ステッキーセッションや高度なルーティング機能をサポートするApplication Load Balancer(ALB)が推奨されます。Network Load Balancer(NLB)はTCP/UDP向けであり、HTTP/HTTPSにおけるステッキーセッションをサポートしません。また、「least outstanding requests」というルーティングアルゴリズムはALB/NLBいずれにも存在せず、NLBがサポートするのは「least connections(最も接続数が少ない)」です。 ・ラウンドロビンは、健全なインスタンス間でリクエストを均等に分散する標準的なALBルーティングアルゴリズムであり、ステッキーセッションとの併用も可能です。 オプションA:NLBはHTTP/HTTPSでのステッキーセッションをサポートせず、「least outstanding requests」は有効なアルゴリズムではありません → 不適切。 オプションB:Aurora Auto ScalingをWriterに対して有効化するのは、読み取り負荷増加への対応として不適切 → 不適切。 オプションC:Aurora Replicasに対するAuto Scalingが正しく、ALBによるステッキーセッションとラウンドロビン配信も適切 → 適切。 オプションD:WriterへのAuto Scalingは不適切であり、NLBによるステッキーセッションも不可能 → 不適切。 正解はCです。この構成により、データベース層は読み取り負荷増加に応じてAurora Replicasを自動スケールし、アプリケーション層はALBによってリクエストを均等に分散しつつ、ステッキーセッションでユーザーのセッション状態を維持できます。