What should the database specialist implement to meet these requirements with MINIMAL operational overhead?
Configure an Amazon EC2 instance to run on a schedule to initiate database maintenance jobs
Configure AWS Batch with AWS Step Functions to schedule long-running database maintenance tasks
Create an Amazon EventBridae (Amazon CloudWatch Events) rule with AWS Lambda that runs on a schedule to initiate database maintenance jobs
Turn on the pg_cron extension in the Aurora PostgreSOL database and schedule the database maintenance tasks by using the cron.schedule function
Explanations:
Configuring an Amazon EC2 instance to run on a schedule adds operational overhead by requiring management of the EC2 instance, including maintenance, scaling, and ensuring availability. This solution is not serverless and necessitates more ongoing administration.
Using AWS Batch with AWS Step Functions can schedule and manage jobs, but it introduces unnecessary complexity for simple database maintenance tasks. It requires additional setup and management of both Batch and Step Functions, increasing operational overhead compared to other options.
Creating an Amazon EventBridge rule with AWS Lambda is a valid method for scheduling tasks, but it also involves managing Lambda functions and their configurations. While this approach is serverless, it may not be as straightforward for directly managing database tasks compared to built-in features of PostgreSQL.
Enabling the pg_cron extension allows for scheduling tasks directly within the Aurora PostgreSQL database, providing a native and efficient way to manage maintenance tasks without additional operational overhead. It uses familiar SQL commands for scheduling, making it easy to implement and maintain.