Q47 — AWS SAA-C03 第13章
第 47/100 問 | ← 第13章
Q947. ある企業が、自社オンプレミス環境で実行している日次Microsoft WindowsバッチジョブをAWSへ移行しようとしています。現在のバッチジョブは最大1時間実行されます。企業は、クラウド環境向けにこのバッチジョブ処理をモダナイズしたいと考えています。これらの要件を満たす中で、運用オーバーヘッドが最も少ないソリューションはどれですか?
- A. Windowsバッチジョブ処理を実行するため、Auto Scalingグループ内のAmazon EC2インスタンスのフェleetを作成する
- B. Windowsバッチジョブを処理するAWS Lambda関数を実装し、Amazon EventBridgeルールを使用してそのLambda関数を呼び出す
- C. WindowsバッチジョブをコンテナとしてAWS Fargateでデプロイし、AWS Batchを使用してバッチジョブ処理を管理する ✓
- D. Windowsコンテナのバッチジョブ処理を調整するために、Amazon EC2インスタンス上でAmazon Elastic Kubernetes Service(Amazon EKS)を使用する
正解: C. WindowsバッチジョブをコンテナとしてAWS Fargateでデプロイし、AWS Batchを使用してバッチジョブ処理を管理する
解説
運用オーバーヘッドが最も少ない最適なソリューションは、選択肢Cです。WindowsバッチジョブをコンテナとしてAWS Fargateでデプロイし、AWS Batchを使用してバッチジョブ処理を管理します。その理由は以下の通りです。 ・サーバーレスなバッチ処理:AWS Fargateは、コンテナ向けのサーバーレスコンピュートエンジンであり、EC2インスタンスの管理を不要とします。これにより、運用オーバーヘッドが大幅に削減されます。 ・マネージドなバッチサービス:AWS Batchは、完全にマネージドなバッチ処理サービスであり、ジョブのスケジューリング、キューイング、実行を自動的に処理します。多くのタスクを自動化することで、運用負荷を軽減します。 ・コンテナ化:Windowsバッチジョブをコンテナ化することで、デプロイの容易性、ポータビリティ、スケーラビリティが向上します。 ・最小限の管理:FargateとAWS Batchを組み合わせることで、インフラストラクチャの管理、パッチ適用、スケーリングなどの必要性が最小限に抑えられ、よりシンプルかつ効率的なソリューションを実現します。 他の選択肢が適さない理由: A:Auto ScalingによりEC2インスタンスの管理は容易になりますが、依然として基盤となるインフラストラクチャの管理、スケーリング、パッチ適用が必要です。 B:Lambdaはイベント駆動型ワークロードに優れていますが、最大1時間かかるバッチジョブには不向きです。Lambdaには実行時間制限があり、その制限内で大規模なバッチ処理を実装・管理するのは困難です。 D:EKSはコンテナオーケストレーションを提供しますが、基盤となるEC2インスタンスの管理を必要とし、複雑さと運用オーバーヘッドを増加させます。 まとめ: 選択肢Cは、WindowsバッチジョブのAWSへの移行に対して、最も洗練され、運用面で最も効率的なソリューションを提供します。FargateとAWS Batchは、サーバーレスかつ完全にマネージドなアプローチを提供し、インフラストラクチャ管理を最小限に抑え、移行プロセスを簡素化します。