Which solution will meet these requirements with the LEAST downtime?
Create an Amazon EventBridge rule that has the Aurora cluster as a source. Create an AWS Lambda function to log the state change events of the Aurora cluster. Add the Lambda function as a target for the EventBridge rule. Add additional reader nodes to fail over to.
Modify the Aurora cluster and activate the zero-downtime restart (ZDR) feature. Use Database Activity Streams on the cluster to track the cluster status.
Add additional reader instances to the Aurora cluster. Create an Amazon RDS Proxy target group for the Aurora cluster.
Create an Amazon ElastiCache for Redis cache. Replicate data from the Aurora cluster to Redis by using AWS Database Migration Service (AWS DMS) with a write-around approach.
Explanations:
While creating an EventBridge rule and a Lambda function for logging state changes can be useful for monitoring, it does not directly address scalability and high availability concerns. Adding reader nodes to failover may help, but this solution does not provide an immediate response to the heavy read and write loads experienced during the campaign.
Activating the zero-downtime restart (ZDR) feature is beneficial for minimizing downtime during maintenance, but it does not specifically address scalability issues related to heavy load. Database Activity Streams can help monitor the database’s health but do not solve the problems of read and write contention during high traffic periods.
Adding additional reader instances to the Aurora cluster directly addresses scalability needs, as it distributes the read load across multiple instances, improving performance during peak usage. Creating an RDS Proxy also enhances database connection management, optimizing resource use and providing better performance and failover capabilities without significant downtime.
Implementing ElastiCache for Redis can help reduce database load by caching frequently accessed data, but it involves additional complexity in data replication and does not directly solve the immediate scalability issue of the Aurora cluster itself during high load periods. Furthermore, using AWS DMS to replicate data can introduce latency and overhead.