Which solution meets these requirements in the MOST operationally efficient manner?
Use a Kubernetes cron job that runs on Amazon Elastic Kubernetes Service (Amazon EKS).
Use an Amazon Linux crontab scheduled job that runs on Amazon EC2.
Use an AWS Lambda function that is invoked by an Amazon EventBridge scheduled event.
Use an AWS Batch job that is submitted to an AWS Batch job queue.
Explanations:
Using a Kubernetes cron job on Amazon EKS requires managing a Kubernetes cluster, which adds operational overhead. Since the company does not have existing infrastructure in AWS, this option is not the most operationally efficient.
Running a scheduled job using Amazon Linux crontab on an EC2 instance involves maintaining the EC2 instance, including handling uptime and patching, which is less efficient compared to serverless options.
An AWS Lambda function triggered by an Amazon EventBridge scheduled event allows for a serverless architecture, meaning there is no need for managing servers. This is highly operationally efficient for running code at a specified time without maintaining infrastructure.
AWS Batch is designed for managing and running batch jobs, but it requires setting up job definitions and queues. It is more complex than necessary for a simple daily API call and does not provide the same level of operational efficiency as Lambda.