Which solution will meet these requirements?
Provision an Amazon RDS proxy to sit between the Lambda functions and the database. Configure the Lambda functions to connect to the RDS proxy.
Increase the run time of the Lambda functions to the maximum. Create a retry mechanism in the code that stores the customer data in the database.
Persist the customer data to Lambda local storage. Configure new Lambda functions to scan the local storage to save the customer data to the database.
Store the customer data in an Amazon Simple Queue Service (Amazon SQS) FIFO queue. Create a new Lambda function that polls the queue and stores the customer data in the database.
Explanations:
RDS Proxy can manage connection pooling and authentication, but it does not queue or store data during downtime. It will not handle failed connections during upgrades.
Increasing Lambda runtime and adding retry logic will not prevent data loss if the database is unreachable for an extended period during upgrades.
Lambda local storage is ephemeral, meaning data would be lost if the Lambda instance terminates. This approach is unreliable for persistent storage.
SQS FIFO queue will reliably store customer data during database downtime. A Lambda function can later process the queue to ensure all data is saved to the database.