Question#24(SAP-C02)
ある会社は、オンプレミスのデータセンターで 3 層構造の Web アプリケーションを稼働させています。
- フロントエンドは Apache Web サーバーで提供
- ミドル層は モノリシックな Java アプリケーション
- ストレージ層は PostgreSQL データベース
(2つ選択)
正解:A, C, E
背景課題 プロモーション時に全層が過負荷、特に DB は読み取り集中で容量上限に達して停止。要件は最大限のスケーラビリティと運用負荷の最小化、かつ AWS への移行。
フロントエンド- A(S3 + CloudFront) を選択 静的アセットを Amazon S3 に配置し、Amazon CloudFront でグローバル配信することで、Web サーバー層のスケール課題を根本解消。エッジキャッシュによりオリジン負荷を極小化し、オートスケールやパッチ適用などの運用も最小化できる。
- B(EC2 + ASG + EFS) は運用負荷が高く、Web サーバー台数管理・OS パッチ・EFS 管理が必要で A より非効率。
- C(Elastic Beanstalk) を選択 モノリシックな Java アプリをそのまま再ホストでき、Auto Scaling・ヘルスチェック・ローリング更新などを マネージドで提供。最小の改修と運用労力でスパイクに追従。
- D(Fargate コンテナ化) は有力だが、コンテナ化のリファクタリングが必要で初期工数・運用複雑性が増すため、要件の「運用負荷最小化」に対して C の方が適合。
- E(Aurora PostgreSQL + リードレプリカのオートスケーリング) を選択 Amazon Aurora PostgreSQL はスケールアウト可能で、リードレプリカ/リーダーエンドポイントにより読み取り負荷を水平分散。オートスケーリングでプロモーションのスパイクに自動対応し、マネージド運用で手離れが良い。
- F(EC2 へリフトアップ)」は垂直スケール依存で限界が早く、バックアップ/フェイルオーバー/パッチ等の運用負担が大きい。
- A:S3+CloudFront でフロントの配信をサーバーレス&高スケール化
- C:Elastic Beanstalk で Java モノリスを最小改修でマネージド・オートスケール化
- E:Aurora PostgreSQL(リードレプリカ自動増減)で読み取り集中に強い DB 層へ刷新

コメント