□毎日1回実行され、完了までに2時間かかるデータ処理ジョブ。失敗したら最初から。低コストでの実現方法は?

 ECS+Fargate ⇒ EventBridgeでキック

・Amazon Elastic Container Service(Amazon ECS)のFargateタスクは、Amazon EventBridgeのスケジュールされたイベントをトリガーとして使用します

この選択肢が正解の理由は以下の通りです。

まず、Amazon ECSのFargateタスクを使用すると、サーバーのプロビジョニングやクラスターのスケーリングを管理せずにコンテナを実行できます。これにより、運用負荷が低減し、コスト効率が高まります。

また、Amazon EventBridgeのスケジュールされたイベントをトリガーとして使用することで、設定した時間にジョブを自動的に開始できます。この手法を用いれば、開始タイミングの管理についての手間を省きつつ、必要なタイミングでジョブを確実に開始することができ、これが結果的にコスト効率の改善につながります。

選択肢:Amazon EventBridgeのスケジュールされたイベントをトリガーとするAWS Lambda関数を作成します

この選択肢が正しくない理由は以下の通りです。

AWS Lambda関数は短時間(最大15分)のジョブに適していますが、2時間を超えるジョブの場合は適切ではありません。

また、Lambdaは実行時間に対して課金されるため、長時間のジョブに対してはコスト効率が悪くなります。これに対して正解のECS/Fargateは長時間のジョブや中断後の再開に対応が可能でコスト効率も良いです。

選択肢:Amazon Elastic Container Service(Amazon ECS)タスクは、Amazon EventBridgeのスケジュールされたイベントをトリガーとしてAmazon EC2上で実行されます

この選択肢が正しくない理由は以下の通りです。

ECSタスクをEC2インスタンス上で実行する場合、インスタンスが稼働している時間全てに対して課金されます。

一方、Fargateを使用すれば、ジョブの実行時間のみ課金されます。

従って、1日1回2時間だけ実行されるジョブに対しては、Fargateを使用することがよりコスト効率的です。

コメント

タイトルとURLをコピーしました