Skip to content

Commit 237a22d

Browse files
author
Dave Osment
committed
Updated Readme, Ideas and Changelog
1 parent ad78253 commit 237a22d

File tree

3 files changed

+60
-5
lines changed

3 files changed

+60
-5
lines changed

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,20 @@
11
# Change Log
22
All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/).
33

4+
## 0.0.5 2017-01-27
5+
### Added
6+
- Created new function to offsite SnapShots based upon presence of 'DestinationRegion' Tag
7+
- All Tags on the Source snapShot will be applied to the copy
8+
- Ability to exclude individual EBS Volumes
9+
- Linked original and copied snapshots by Tagging with the other's respective Id
10+
11+
### Changed
12+
- Automatic determination of curent AWS Region
13+
- All variables obtained through Tags rather than hard-coded
14+
15+
### Fixed
16+
- Nothing so far
17+
418
## 0.0.4 [unreleased]
519
### Added
620
- WIP: Out-of-region snapshot support

IDEAS.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@
66
- DONE: Copying a snapshot to an additional region should be possible within the creator (hardcoded in creator)
77
- DONE: Enabling snapshot copying out-of-region should be easily configurable in the creator script (albeit still requiring a variable parameter change)
88
- DONE: Only copy snapshot out of region if a copy_region is defined in the creator script
9-
- The out-of-region/copy snapshot functionality should be in its own dedicated job
9+
- DONE: The out-of-region/copy snapshot functionality should be in its own dedicated job
1010
- because snapshots can't be copied until they're in a completed state (and this enables getting closer to that)
1111
- Job/function is easy to understand (logical point of separation)
12-
- Copies of snapshots in the additional region should be tagged in the same manner as in-region snapshots (Automated: Yes, expiration info, etc.)
13-
- Enabling the copying (duplication) of a snapshot out-of-region should be configurable on a per instance basis
14-
- Out-of-region snapshots should be managed (for expiration/retention) just like in-region snapshots
12+
- DONE: Copies of snapshots in the additional region should be tagged in the same manner as in-region snapshots (Automated: Yes, expiration info, etc.)
13+
- DONE: Enabling the copying (duplication) of a snapshot out-of-region should be configurable on a per instance basis
14+
- DONE: Out-of-region snapshots should be managed (for expiration/retention) just like in-region snapshots
1515

1616
### P2
1717
- It should be possible to get automatically notified when the job (a Lambda function) emits an error
1818
- e.g. http://docs.aws.amazon.com/lambda/latest/dg/with-scheduledevents-example.html
19-
- The required minimum IAM role policy should be provided
19+
- DONE: The required minimum IAM role policy should be provided
2020

2121
### P3
2222
- It should be possible to configure multiple regions to copy (duplicate) snapshots into

README.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,18 @@ This is for managing AWS EC2 EBS volume snapshots. It consists of a snapshot cre
99
- Ability to configure retention period on a per EC2 instance basis (applying to all volumes attached to said instance)
1010
- Ability to manually tag individual snapshots to be kept indefinitely (regardless of instance retention configuration)
1111
- Does not require a job/management instance; no resources to provision to run snapshot jobs (leverages AWS Lambda)
12+
- Ability to snapshot all Volumes attached to a given Instance (Default), and exclude on a per-Volume basis any indivdual Volume (Through the addition of `Backup = No` Tag to Volume)
13+
- Ability to replicate snapshot to a second AWS Region (As specified by Tag) and remove snapshot from source Region upon successful copy. Tags are replicated from source to destination snapshots
14+
15+
## Tags Configuration
16+
17+
- Instance Level
18+
- `Backup` { Yes | No }
19+
- `DestinationRegion` { us-west-1 | eu-west-1 | etc. }
20+
- `RetentionDays` { 1..x }
21+
22+
- Volume Level
23+
- `Backup` { Yes | No } (Default if absent = 'Yes') : Overrides default to exclude a given Volume from snapshot
1224

1325
## Implementation Details
1426

@@ -24,11 +36,40 @@ For the moment, read these links for documentation on how to setup/use. I've ext
2436

2537
Ideas and To Do items are currently tracked in [IDEAS](IDEAS.md).
2638

39+
## IAM Role
40+
41+
The minimal IAM Role for these Lambda Functions is:
42+
43+
```
44+
{
45+
"Version": "2012-10-17",
46+
"Statement": [
47+
{
48+
"Effect": "Allow",
49+
"Action": [
50+
"logs:CreateLogGroup",
51+
"logs:CreateLogStream",
52+
"logs:PutLogEvents",
53+
"ec2:DescribeInstances",
54+
"ec2:DescribeVolumes",
55+
"ec2:CreateSnapshot",
56+
"ec2:CreateTags",
57+
"ec2:CopySnapshot",
58+
"ec2:DescribeSnapshots",
59+
"ec2:DeleteSnapshot"
60+
],
61+
"Resource": "*"
62+
}
63+
]
64+
}
65+
```
66+
2767
## Files:
2868

2969
Each file implements a single AWS Lambda function.
3070

3171
- ebs-snapshot-creator.py
72+
- ebs-snapshot-offsiter.py
3273
- ebs-snapshot-manager.py
3374

3475
## Related:

0 commit comments

Comments
 (0)