Q46 — AWS SAA-C03 第17章

第 46/89 問 | ← 第17章

Q1346. グローバルなEC企業が、AWS上で3層構成のアプリケーションを設計しています。このアプリケーションには、静的コンテンツを提供するWeb層、ビジネスロジックを処理するアプリケーション層、および製品情報とユーザーデータを格納するデータベース層が含まれます。アプリケーションはリレーショナルデータベースと連携します。同社は、グローバルなユーザーに対して低遅延でサービスを提供できる、高可用性のアプリケーションアーキテクチャを必要としています。これらの要件を、最も少ない運用オーバーヘッドで満たすソリューションはどれですか?

正解: B. Amazon S3バケットをオリジンとするAmazon CloudFrontディストリビューションを設定します。アプリケーション層には、同社が事業展開している各AWSリージョンにAmazon ECSコンテナをAWS Fargate上でデプロイします。データベース層にはAmazon Auroraグローバルデータベースを使用します。

解説

正解はBです。「Amazon S3バケットをオリジンとするAmazon CloudFrontディストリビューションを設定します。アプリケーション層には、同社が事業展開している各AWSリージョンにAmazon ECSコンテナをAWS Fargate上でデプロイします。データベース層にはAmazon Auroraグローバルデータベースを使用します。」 要件の再確認: ・高可用性(HA):ダウンタイムを最小限に抑える必要があります。 ・グローバルユーザー向けの低遅延:コンテンツはユーザーに最も近いAWSリージョンから配信される必要があります。 ・最小限の運用オーバーヘッド:スケーリング、パッチ適用、レプリケーションなどの手動管理を最小限に抑える必要があります。 なぜ選択肢Bが正しいのか: ・Web層(静的コンテンツ):Amazon CloudFront+S3 — CloudFrontは世界中のエッジロケーションで静的コンテンツ(画像、CSS、JavaScriptなど)をキャッシュするグローバルCDNであり、グローバルユーザーへの低遅延配信を実現します。S3は静的アセットを高耐久・高スケーラビリティで保存します。 ・アプリケーション層(ビジネスロジック):AWS Fargate上のAmazon ECS — Fargateは、インフラストラクチャの自動スケーリングおよび管理を提供するサーバーレスコンテナサービスであり、EC2 Auto Scalingと比較して運用オーバーヘッドが大幅に削減されます。複数のAWSリージョンへのECSデプロイにより、高可用性と低遅延が確保されます。 ・データベース層(リレーショナルデータ):Amazon Auroraグローバルデータベース — Auroraグローバルデータベースは、通常1秒未満の極めて低い遅延でクロスリージョンレプリケーションを提供します。また、セカンダリリージョンへの自動フェイルオーバーをサポートしており、トランザクションワークロードに必要な強力な一貫性を維持したまま高可用性を実現します。 他の選択肢が不適切な理由: A:単一リージョンでのデプロイ+Multi-AZ RDS — グローバル対応が不十分:すべての層を単一リージョンに配置すると、そのリージョンから遠く離れたユーザーへの遅延が増大します。マルチリージョン可用性の欠如:Multi-AZ RDSはリージョン内での可用性向上には有効ですが、リージョン全体の障害への耐性やグローバルな低遅延には対応できません。 C:EC2 Spotインスタンス+AWS DMSによるレプリケーション — 運用オーバーヘッドの増加:EC2 Spotインスタンスの管理には、中断対応やコスト変動への対応など、追加の運用負荷が発生します。複雑なデータレプリケーション:AWS DMSはクロスリージョンレプリケーションを実現しますが、Auroraグローバルデータベースと比べて自動化・簡易性に劣ります。読み取り専用レプリカの遅延:MySQLの読み取り専用レプリカでは、リアルタイムの一貫性が損なわれる可能性があり、トランザクション処理に不向きです。 D:DynamoDBグローバルテーブル(NoSQL) — 不適切なデータベース種別:要件では「リレーショナルデータベース」と明記されていますが、DynamoDBはNoSQLデータベースです。サーバーレスのトレードオフ:Lambda+API Gatewayはアプリケーション層の運用オーバーヘッドを削減しますが、DynamoDBの最終的一貫性モデルは、強力な一貫性を必要とするトランザクションワークロードには不適切です。 結論:選択肢Bは、以下の要素を活用することで、高可用性・低遅延・最小運用オーバーヘッドという3つの要件を最適にバランスよく満たします。 ・CloudFront+S3によるグローバル静的コンテンツ配信 ・Fargate上でのECSによるサーバーレスかつスケーラブルなビジネスロジック実行 ・強力な一貫性を保ちながら自動的にクロスリージョンレプリケーションを行うAuroraグローバルデータベース このアーキテクチャにより、アプリケーションは耐障害性・パフォーマンス・保守容易性のすべてにおいて優れた状態を実現します。