Which solution meets these requirements?
Create an AWS Lambda function that has an Amazon EventBridge (Amazon CloudWatch Events) notification. Schedule the EventBridge (CloudWatch Events) event to run once a day.
Create an AWS Lambda function. Create an Amazon API Gateway HTTP API, and integrate the API with the function. Create an Amazon EventBridge (Amazon CloudWatch Events) scheduled event that calls the API and invokes the function.
Create an Amazon Elastic Container Service (Amazon ECS) cluster with an AWS Fargate launch type. Create an Amazon EventBridge (Amazon CloudWatch Events) scheduled event that launches an ECS task on the cluster to run the job.
Create an Amazon Elastic Container Service (Amazon ECS) cluster with an Amazon EC2 launch type and an Auto Scaling group with at least one EC2 instance. Create an Amazon EventBridge (Amazon CloudWatch Events) scheduled event that launches an ECS task on the cluster to run the job.
Explanations:
AWS Lambda has a maximum execution time of 15 minutes, which is insufficient for a job that can take up to an hour to complete. Additionally, Lambda is not designed for long-running processes like this one.
Similar to Option A, AWS Lambda is limited to a maximum of 15 minutes of execution time. Thus, using an API Gateway to invoke a Lambda function would not be viable for a job that requires up to an hour to complete.
Amazon ECS with Fargate allows the running of long-running tasks without the need for managing EC2 instances, minimizing operational effort. The scheduled EventBridge event can easily trigger the ECS task to run the job daily.
While this option can run the job, it requires managing an EC2 Auto Scaling group, which increases operational effort. ECS with EC2 launch type is more complex to manage compared to Fargate, especially for a task that can run for an extended period.