Which solution will meet these requirements?
Create an Amazon CloudWatch Synthetics canary with a script that follows customer routes. Schedule the canary to run on a recurring schedule. Create a CloudWatch alarm that publishes a message to an Amazon Simple Notification Service (Amazon SNS) topic when the SuccessPercent metric is less than 95%.
Create Amazon Route 53 health checks that monitor the availability of the endpoint. Create Amazon CloudWatch alarms that publish a message to an Amazon Simple Notification Service (Amazon SNS) topic when the HealthCheckPercentageHealthy metric is less than 95%.
Create a single AWS Lambda function to check whether the endpoints are available for each customer path. Schedule the Lambda function by using Amazon EventBridge (Amazon CloudWatch Events). Configure the Lambda function to publish a message to an Amazon Simple Notification Service (Amazon SNS) topic when an endpoint returns an error.
Create an AWS Lambda function for each customer path to check whether that specific endpoint is available. Schedule the Lambda functions by using Amazon EventBridge (Amazon CloudWatch Events). Configure each Lambda function to publish a custom metric to Amazon CloudWatch for the endpoint status. Create CloudWatch alarms based on each custom metric to publish a message to an Amazon Simple Notification Service (Amazon SNS) topic when an alarm is in the ALARM state.
Explanations:
Amazon CloudWatch Synthetics canaries are designed to mimic customer interactions with web applications. The canary can be scripted to follow specific routes and actions, and it can be scheduled to run at regular intervals. A CloudWatch alarm based on the SuccessPercent metric can notify the SysOps administrator when the success rate is below 95%, meeting the monitoring and notification requirements.
Amazon Route 53 health checks monitor the availability of DNS endpoints, not the web application behavior or customer-specific routes. This does not meet the requirement of following customer paths or actions. The HealthCheckPercentageHealthy metric also focuses on DNS availability, not application behavior.
An AWS Lambda function could be used to check endpoint availability, but this solution lacks the ability to simulate customer actions. Additionally, Lambda would require custom error handling for each path and would not track success percentage for monitoring. This solution also does not provide the same ease of monitoring or integration with CloudWatch as CloudWatch Synthetics.
While using AWS Lambda to check specific customer paths is possible, this solution requires multiple Lambda functions for each path, which complicates the monitoring. Custom CloudWatch metrics and alarms for each endpoint would be difficult to manage and would not align with the goal of mimicking customer interactions or provide a simple solution like CloudWatch Synthetics.