a serverless monitoring and alerting service built by Kira Hammond
Amazon recently announced AWS Solutions, a central catalog of well-designed, well-documented, CloudFormation templates that solve common problems, or create standard solution frameworks. My tweet about this announcement garnered more interest than I expected.
One common request was to have a way to be alerted when Amazon publishes new AWS Solutions to this catalog. Kira Hammond (yes relation) has used AWS to built and launched a public service that fills this need.
Kira’s “AWS Solutions Update Feed” monitors the AWS Solutions catalog and posts a message to an SNS topic whenever new solutions are added. The SNS topic is public, so anybody in the world can subscribe to receive these alerts through email, AWS Lambda, or SQS.
Here’s an architecture diagram showing how Kira constructed this monitoring and alerting service using serverless technologies on AWS:
The basic operation of the service includes:
A scheduled trigger from a CloudWatch Event Rule runs an AWS Lambda function every N hours.
The AWS Lambda function, written in Python, makes an HTTPS request to the AWS Solutions catalog to download the current list of solutions.
The function retrieves the last known list of solutions from an S3 bucket.
The function compares the previous list with the current list, generating a list of any new AWS Solutions.
If there are any new solutions, a message is posted to a public SNS topic, sending the message to all subscribers.
The current list of solutions is saved to S3 for comparison in the future runs.
If you want to receive alerts when Amazon adds entries to the AWS Solutions catalog, you can subscribe to this public SNS topic:
Here are aws-cli commands that can be used to subscribe an email address to the AWS Solutions Update Feed public SNS topic:
email=YOUREMAIL@YOURDOMAIN sns_region=us-east-1 sns_topic_arn=arn:aws:sns:$sns_region:706690023584:aws-solutions-update-feed-topic aws sns subscribe \ --region "$sns_region" \ --topic-arn "$sns_topic_arn" \ --protocol email \ --notification-endpoint "$email"
You will need to confirm this subscription by clicking on a link that Amazon sends to your email.
Each time you receive an alert, the message will also have a link for unsubscribing.
Here’s a sample email message that was generated during testing:
Now we just wait for Amazon to expand the AWS Solutions catalog.
Please note that any time you subscribe to an SNS topic, the owner of the topic can see your account number and the name of the resource subscribed, such as: email address, Lambda function name, or SQS queue name.
Any information related to subscriptions of the AWS Solutions Update Feed SNS topic will be kept confidential and will not be used for any purpose other than the sending of SNS messages through the topic.