無限ノック › SAA 練習問題一覧 › 問題
SAA高性能なアーキテクチャの設計

ある小売企業がAmazon ECS on AWS Fargateでマイクロサービスを運用しています。毎年開催される2週間のセール期間中に通常の10倍のトラフィックが発生し、スケールアウトが間に合わずレイテンシが急増する問題があります。セールの開始日時は事前に把握できます。最小の運用負荷で最もコスト効率よくセール期間のパフォーマンスを維持するソリューションはどれですか?

A
常時、セールのピーク時トラフィックに対応できるFargateタスク数を維持し続ける
常時ピーク対応は、セール期間外も常に最大タスク数を維持することになり、非セール期間のFargateコストが大幅に無駄になります。コスト効率の観点から不適切です。
B
Application Auto ScalingのターゲットトラッキングポリシーでCPU使用率に基づくスケールアウトを設定し、さらにスケジュールアクションでセール開始前の特定時刻に最小タスク数を事前に引き上げる
✓ 正解
Application Auto Scalingのスケジュールアクションを使用すると、セール開始前の特定時刻に自動でキャパシティを拡張できます。トラフィックが急増してからスケールするリアクティブなアプローチではウォームアップ時間中にレイテンシが悪化しますが、プロアクティブな事前スケールアウトでこれを防げます。CPU使用率ベースの動的スケーリングと組み合わせることで、非セール期間のコストも最小化できます。
C
セール期間中はEC2起動タイプに切り替え、Capacity ReservationとAuto Scalingグループで管理する
EC2起動タイプへの切り替えは、Fargateのサーバーレスな利点(インフラ管理不要)を失い、EC2インスタンスの管理・運用が必要となるため、「最小の運用負荷」という要件を満たせません。
D
全マイクロサービスをAWS Lambdaに移行し、予約済み同時実行数(Reserved Concurrency)をセール前に上限値まで引き上げる
Lambdaへの移行は、全マイクロサービスをLambdaに移行するには大規模なアーキテクチャ変更が必要で運用負荷が増大します。また、Reserved Concurrency(予約済み同時実行数)は関数が使用できる同時実行数の上限を設定する機能であり、事前ウォームアップには使用できません。Lambda関数を事前にウォームアップするにはProvisioned Concurrency(プロビジョニング済み同時実行数)が必要です。

解説

Application Auto Scalingのスケジュールアクションを使用すると、セール開始前の特定時刻に自動でキャパシティを拡張できます。トラフィックが急増してからスケールするリアクティブなアプローチではウォームアップ時間中にレイテンシが悪化しますが、プロアクティブな事前スケールアウトでこれを防げます。CPU使用率ベースの動的スケーリングと組み合わせることで、非セール期間のコストも最小化できます。 選択肢Aの常時ピーク対応は、セール期間外も常に最大タスク数を維持することになり、非セール期間のFargateコストが大幅に無駄になります。コスト効率の観点から不適切です。 選択肢CのEC2起動タイプへの切り替えは、Fargateのサーバーレスな利点(インフラ管理不要)を失い、EC2インスタンスの管理・運用が必要となるため、「最小の運用負荷」という要件を満たせません。 選択肢DのLambdaへの移行は、全マイクロサービスをLambdaに移行するには大規模なアーキテクチャ変更が必要で運用負荷が増大します。また、Reserved Concurrency(予約済み同時実行数)は関数が使用できる同時実行数の上限を設定する機能であり、事前ウォームアップには使用できません。Lambda関数を事前にウォームアップするにはProvisioned Concurrency(プロビジョニング済み同時実行数)が必要です。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでSAAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← SAA の問題一覧に戻る