Skip to content

Commit

Permalink
Add final pattern file
Browse files Browse the repository at this point in the history
  • Loading branch information
bfreiberg authored Oct 8, 2024
1 parent 7dd137f commit 3bdfa25
Showing 1 changed file with 85 additions and 0 deletions.
85 changes: 85 additions & 0 deletions ami-recycle-bin/ami-recycle-bin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
{
"title": "AMI de-registration with AWS Lambda and retention in Amazon EC2 Recycle Bin",
"description": "This project demonstrates a pattern to deregister and retain expired AMI and its snapshot with AWS Lambda and Amazon EC2 Recycle Bin",
"language": "",
"level": "200",
"framework": "Terraform",
"introBox": {
"headline": "How it works",
"text": [
"In this pattern an Amazon EventBridge rule triggers an AWS Lambda function which deregisters an Amazon Machine Image (AMI), deletes the associated snapshot and moves them to the Recycle Bin for retention.",
"The AWS Lambda function automates the expiration of Amazon Machine Images (AMIs) by moving the AMIs and their associated snapshots to Recycle Bin. Recycle Bin is a feature of Amazon Elastic Compute Cloud (EC2) that allows you to retain AMIs that you have de-registered for a specified retention period, providing an opportunity to recover them if needed. To recover the deleted AMI, its associated snapshot should be recovered first. The Lambda function also adds corresponding tags to both, the AMI and the EBS snapshot, before moving them to Recycle Bin."
]
},
"gitHub": {
"template": {
"repoURL": "https://github.com/aws-samples/serverless-patterns/tree/main/ami-recycle-bin",
"templateURL": "serverless-patterns/ami-recycle-bin",
"projectFolder": "ami-recycle-bin",
"templateFile": "main.tf"
}
},
"resources": {
"bullets": [
{
"text": "Recover deleted Amazon EBS snapshots and EBS-backed AMIs with Recycle Bin",
"link": "https://docs.aws.amazon.com/ebs/latest/userguide/recycle-bin.html"
}
]
},
"deploy": {
"text": [
"terraform init",
"terraform plan",
"terraform apply"
]
},
"testing": {
"text": [
"See the Github repo for detailed testing instructions."
]
},
"cleanup": {
"text": [
"terraform destroy"
]
},
"authors": [
{
"name": "Divya Vijendra Girase",
"image": "https://avatars.githubusercontent.com/u/172667506?v=4",
"bio": "I am a Cloud Infrastructure Architect at AWS and I work with our strategic customers to build, run and maintain their infrastructure on AWS.",
"linkedin": "divya-girase"
}
],
"patternArch": {
"icon1": {
"x": 20,
"y": 50,
"service": "eventbridge",
"label": "Amazon EventBridge rule"
},
"icon2": {
"x": 50,
"y": 50,
"service": "lambda",
"label": "AWS Lambda"
},
"icon3": {
"x": 80,
"y": 50,
"service": "ec2",
"label": "Amazon EC2"
},
"line1": {
"from": "icon1",
"to": "icon2",
"label": ""
},
"line2": {
"from": "icon2",
"to": "icon3",
"label": ""
}
}
}

0 comments on commit 3bdfa25

Please sign in to comment.