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 (Amazon CloudWatch Events) scheduled event.
Use an AWS Batch job that is submitted to an AWS Batch job queue.
Explanations:
While a Kubernetes cron job on Amazon EKS can accomplish this task, it introduces more operational overhead due to the need to manage and scale the EKS cluster, which is not necessary for such a simple task. It is more complex than required for this use case.
Using a crontab job on an EC2 instance requires managing the EC2 instance and its availability. This introduces unnecessary operational overhead, including the need to patch, maintain, and monitor the instance.
Using AWS Lambda with EventBridge scheduled events is the most operationally efficient solution. It eliminates the need to manage infrastructure (no EC2 or Kubernetes clusters), is highly scalable, and allows the task to be scheduled easily with minimal management.
AWS Batch is designed for batch processing workloads, which often involve large datasets or multiple jobs that can run in parallel. It is more complex than needed for a single, simple task that runs once a day.