Which solution meets these requirements with the MOST operational efficiency?
Publish an application availability metric to Amazon CloudWatch in the DR Region from the application environment in the primary Region. Create a CloudWatch alarm in the DR Region that is invoked when the application availability metric stops being delivered. Configure the CloudWatch alarm to send a notification to an Amazon Simple Notification Service (Amazon SNS) topic in the DR Region. Add an email subscription to the SNS topic that sends messages to the application owner. Upon notification, instruct a systems operator to sign in to the AWS Management Console and initiate failover operations for the application.
Create a cron task that runs every 5 minutes by using one of the application’s EC2 instances in the primary Region. Configure the cron task to check whether the application is available. Upon failure, the cron task notifies a systems operator and attempts to restart the application services.
Create a cron task that runs every 5 minutes by using one of the application’s EC2 instances in the primary Region. Configure the cron task to check whether the application is available. Upon failure, the cron task modifies the DR environment by promoting the read replica and by adding EC2 instances to the Auto Scaling group.
Publish an application availability metric to Amazon CloudWatch in the DR Region from the application environment in the primary Region. Create a CloudWatch alarm in the DR Region that is invoked when the application availability metric stops being delivered. Configure the CloudWatch alarm to send a notification to an Amazon Simple Notification Service (Amazon SNS) topic in the DR Region. Use an AWS Lambda function that is invoked by Amazon SNS in the DR Region to promote the read replica and to add EC2 instances to the Auto Scaling group.
Explanations:
This option relies on a manual intervention after a CloudWatch alarm is triggered. It requires a systems operator to log in and initiate failover operations, which is not fully automated and therefore does not meet the requirement for operational efficiency.
This solution uses a cron task to check application availability, but it requires manual intervention to restart application services or perform failover. It does not promote the read replica or add EC2 instances in the DR region, failing to fully automate the failover process.
Similar to option B, this approach also uses a cron task and requires manual intervention to modify the DR environment. While it attempts to automate some aspects, it does not promote the read replica or add EC2 instances without human involvement.
This option fully automates the failover process by using a CloudWatch alarm to monitor application availability. When the alarm is triggered, it sends a notification to an SNS topic, which invokes a Lambda function to automatically promote the read replica and scale the Auto Scaling group. This ensures the failover occurs without manual intervention, achieving the highest operational efficiency.