無限ノック › SAA 練習問題一覧 › 問題
SAA弾力性に優れたアーキテクチャの設計

あるEコマース企業が、ステートレスなREST APIをAmazon ECS(Fargate起動タイプ)で運用しています。現在は10個のFargateタスクが稼働していますが、コスト削減を目的にFargate Spotの活用を検討しています。Fargate SpotはAWSの需給状況によってタスクが中断(Interruption)される可能性があるため、可用性の維持が必要です。以下の要件を同時に満たす設計はどれですか? ・少なくとも5タスクは常に稼働を保証する ・可能な限りFargate Spotを活用してコストを削減する ・Fargate Spotのタスクが中断された場合、自動的に別のタスクが起動して補完する

A
ECSサービスのキャパシティプロバイダー戦略で、Fargateにbase=5・weight=1、FARGATE_SPOTにweight=9を設定し、desiredCount=10とする
✓ 正解
ECSのキャパシティプロバイダー戦略では「base」と「weight」を組み合わせて、複数のキャパシティプロバイダー間にタスクを自動分散できます。Fargateにbase=5を設定することで、最初の5タスクは必ずオンデマンドFargateで起動され、常時稼働が保証されます。残りのタスクはweight比率(Fargate:FARGATE_SPOT=1:9)に従って配分されます。Fargate Spotのタスクが中断されるとECSサービスがdesiredCountを維持しようとして新しいタスクを自動起動します。
B
ECSサービスのキャパシティプロバイダー戦略でFARGATE_SPOTのみを使用し、desiredCount=20に設定してSpot中断時の余裕を持たせる
FARGATE_SPOTのみを使用すると、大規模なSpot中断が発生した場合に全タスクが停止するリスクがあり「少なくとも5タスクを常に保証」という要件を満たせません。
C
EC2起動タイプに切り替え、スポットインスタンスのAuto Scalingグループを構成し、最小インスタンス数を5に設定する
EC2起動タイプへの変更はインスタンスのパッチ適用・スケーリング設定など運用負荷が増加します。
D
AWS Fault Injection Simulator(FIS)でSpot中断をシミュレートし、その結果に基づきdesiredCountを手動で増減して最適値を決定する
AWS Fault Injection Simulatorはカオスエンジニアリングのためのツールであり、可用性を自動的に向上させる設定機能ではなく、手動でdesiredCountを調整する方式は自動補完要件も満たせません。

解説

ECSのキャパシティプロバイダー戦略では「base」と「weight」を組み合わせて、複数のキャパシティプロバイダー間にタスクを自動分散できます。Fargateにbase=5を設定することで、最初の5タスクは必ずオンデマンドFargateで起動され、常時稼働が保証されます。残りのタスクはweight比率(Fargate:FARGATE_SPOT=1:9)に従って配分されます。Fargate Spotのタスクが中断されるとECSサービスがdesiredCountを維持しようとして新しいタスクを自動起動します。 選択肢BのFARGATE_SPOTのみを使用すると、大規模なSpot中断が発生した場合に全タスクが停止するリスクがあり「少なくとも5タスクを常に保証」という要件を満たせません。 選択肢CのEC2起動タイプへの変更はインスタンスのパッチ適用・スケーリング設定など運用負荷が増加します。 選択肢DのAWS Fault Injection Simulatorはカオスエンジニアリングのためのツールであり、可用性を自動的に向上させる設定機能ではなく、手動でdesiredCountを調整する方式は自動補完要件も満たせません。

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

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

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