All Projects → indix → Aws Maintenance Lambda

indix / Aws Maintenance Lambda

Licence: apache-2.0
A lambda function to send alerts (to Slack, HipChat) on AWS maintenance events.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Aws Maintenance Lambda

Serverless Slack App
A Serverless.js Slack App Boilerplate with OAuth and Bot actions
Stars: ✭ 217 (+63.16%)
Mutual labels:  bot, aws, lambda, slack
Lambda Deployment Example
Automated Lambda Deployments with Terraform & CodePipeline
Stars: ✭ 25 (-81.2%)
Mutual labels:  aws, aws-lambda, lambda, terraform
Serverless Slackbot
A boilerplate Serverless Slackbot framework with a custom scripts folder (like Hubot)
Stars: ✭ 72 (-45.86%)
Mutual labels:  bot, aws, lambda, slack
Lambcycle
🐑🛵 A declarative lambda middleware with life cycle hooks 🐑🛵
Stars: ✭ 88 (-33.83%)
Mutual labels:  aws, aws-lambda, lambda
Iopipe Js Core
Observe and develop serverless apps with confidence on AWS Lambda with Tracing, Metrics, Profiling, Monitoring, and more.
Stars: ✭ 123 (-7.52%)
Mutual labels:  aws, aws-lambda, lambda
Lambda Monitoring
Logging and metrics libraries for AWS Lambda
Stars: ✭ 85 (-36.09%)
Mutual labels:  aws, aws-lambda, lambda
Serverless Node Simple Messaging
Simple email AWS lambda function
Stars: ✭ 75 (-43.61%)
Mutual labels:  aws, aws-lambda, lambda
Lambroll
lambroll is a minimal deployment tool for AWS Lambda.
Stars: ✭ 97 (-27.07%)
Mutual labels:  aws, aws-lambda, lambda
Content Lambda Boto3
Automating AWS with Lambda, Python, and Boto3
Stars: ✭ 91 (-31.58%)
Mutual labels:  aws, aws-lambda, lambda
Aws Data Wrangler
Pandas on AWS - Easy integration with Athena, Glue, Redshift, Timestream, QuickSight, Chime, CloudWatchLogs, DynamoDB, EMR, SecretManager, PostgreSQL, MySQL, SQLServer and S3 (Parquet, CSV, JSON and EXCEL).
Stars: ✭ 2,385 (+1693.23%)
Mutual labels:  aws, aws-lambda, lambda
Hello Lambda
🔥 An example of a Python (AWS) Lambda exposed with API Gateway, configured with Terraform.
Stars: ✭ 114 (-14.29%)
Mutual labels:  aws-lambda, lambda, terraform
Python Lambdarest
Flask like web framework for AWS Lambda
Stars: ✭ 84 (-36.84%)
Mutual labels:  aws, aws-lambda, lambda
Torchlambda
Lightweight tool to deploy PyTorch models to AWS Lambda
Stars: ✭ 83 (-37.59%)
Mutual labels:  aws, aws-lambda, lambda
Aws Serverless Airline Booking
Airline Booking is a sample web application that provides Flight Search, Flight Payment, Flight Booking and Loyalty points including end-to-end testing, GraphQL and CI/CD. This web application was the theme of Build on Serverless Season 2 on AWS Twitch running from April 24th until end of August in 2019.
Stars: ✭ 1,290 (+869.92%)
Mutual labels:  aws, aws-lambda, lambda
Lambda Refarch Webapp
The Web Application reference architecture is a general-purpose, event-driven, web application back-end that uses AWS Lambda, Amazon API Gateway for its business logic. It also uses Amazon DynamoDB as its database and Amazon Cognito for user management. All static content is hosted using AWS Amplify Console.
Stars: ✭ 1,208 (+808.27%)
Mutual labels:  aws, aws-lambda, lambda
Telegram Bot
Telegram Bot using AWS API Gateway and AWS Lambda
Stars: ✭ 96 (-27.82%)
Mutual labels:  bot, aws-lambda, lambda
Serverless static website with basic auth
Builds a serverless infrastructure in AWS for hosting a static website protected with Basic Authentication and published on a subdomain registered via Route 53
Stars: ✭ 112 (-15.79%)
Mutual labels:  aws, aws-lambda, terraform
Node Lambda Log
Basic logging mechanism for Node 6.10+ Lambda Functions
Stars: ✭ 115 (-13.53%)
Mutual labels:  aws, aws-lambda, lambda
Node Acme Lambda
Use AWS Lambda to manage SSL certificates for ACME providers like Let's Encrypt.
Stars: ✭ 120 (-9.77%)
Mutual labels:  aws, aws-lambda, lambda
Serverless Node Simple Image Resize
Simple image resize AWS lambda function
Stars: ✭ 74 (-44.36%)
Mutual labels:  aws, aws-lambda, lambda

A lambda function to send alerts (to Slack, Hipchat) on AWS maintenance events. While the email from AWS includes only the instance id, the alert will include the Name of the instance and owner from the appropriate tags.

Sample Notification on Slack

Sample notification on HipChat

Prerequisite

The lambda function assumes that all resources (EC2 instances) are tagged with a key Owner specifying the owner of the resource.

Installation

Update lambda/config.json with necessary config for your environment. The keys are explained below:

store.simpledb.domain - The lambda function keeps track of processed events in AWS simbedb. This configures the simpledb domain to be used for this purpose.

notification.hipchat

  • auth_token - The Hipchat API token.
  • room - The room to send the notifications to.
  • icon_url - Icon to use for the bot that sends the notification.
  • username - Username of the bot that sends the notification.
  • owners - List of owners per tag. The keys here will be the value of the tag Owner. This maps the tag value to owners - for example - "devops : { "owner": "@devops_team"}"
    • all - this is a catchall owner that is used as default if the resource did not have the Owner tag.

notification.slack

  • hook - The slack hook url.
  • channel - The channel to send the notifications to.
  • icon_url - Icon to use for the bot that sends the notification.
  • username - Username of the bot that sends the notification.
  • owners - List of owners per tag. The keys here will be the value of the tag Owner. This maps the tag value to owners - for example - "devops : { "owner": "@devops_team"}"
    • all - this is a catchall owner that is used as default if the resource did not have the Owner tag.

Manual

Once the config.json has been updated, the lambda function can be manually installed by doing a npm install --production, zipping up the entire lambda folder and uploading to AWS like any other lambda function.

Terraform

The terraform plans to setup the lambda function are available at https://github.com/indix/terraform-aws-maintenance-lambda

It is also available as a module in the Terraform registry - https://registry.terraform.io/modules/indix/maintenance-lambda/aws

The plans include the necessary IAM roles and lambda schedule (once an hour by default). A normal terraform plan and terraform apply should fully setup the lambda function. Requires terraform 0.8.0+.

Example usage as a module:

module "aws-maintenance-lambda" {
  source =  "indix/maintenance-lambda/aws"

  lambda_prepared_source_dir = "${path.root}/aws-maintenance-lambda-temp/source"
  lambda_archive_path = "${path.root}/aws-maintenance-lambda-temp/dist/aws_maintenance_lambda.zip"
  config_json = "${path.root}/files/aws-maintenance-lambda-config.json"
}

License

This is an open source project licensed under the Apache License, Version 2.0.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].