Project

aws_helper

0.0
Repository is archived
No commit activity in last 3 years
No release in over 3 years
== DESCRIPTION: Aws Helper for an instance == FEATURES: Allows functions on EBS volumes, snapshots, IP addresses and more
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

 Project Readme

aws_helper

Gem Version Gem Downloads Build Status

Aws Helper for an instance

Allows functions on EBS volumes, snapshots, IP addresses and more

  • initially snapshots are supported

Installation

Add this line to your application's Gemfile:

gem 'aws_helper'

And then execute:

$ bundle

Or install it yourself as:

$ gem install aws_helper

Minimal Usage

Assuming server start with an IAM role that have read access to AWS can create and delete snapshots:

Snapshot EBS root device at /dev/sda1

aws_helper snap /dev/sda1 --description zzzzzzzzz

Prune so only keep 7 snapshots:

aws_helper snap_prune /dev/sda1 --snapshots_to_keep=7

Email me a list of the latest 20 snapshots:

aws_helper snap_email me@company.com ebs.backups@company.com mysmtpemailserver.com

Cleanup ebs disks - Delete old server root disks:

aws_helper ebs_cleanup

Disks that are 8GB in size, not attached to a server, not tagged in any way and from a snapshot will be deleted.     

Complex Usage

If your server does not have a role then you need to code the AWS keys which is not best practice:

Snapshot EBS attached to device /dev/sdf volume vol-123456 access AWS through an http proxy:

export AWS_ACCESS_KEY_ID ='xxxxxxxxxxxx'
export AWS_SECRET_ACCESS_KEY ='yyyyyyyy'
export HTTP_PROXY=http://myproxy:port
aws_helper snap /dev/sdf vol-123456 --description zzzzzzzzz

Prune so only keep 20 snapshots:

export AWS_ACCESS_KEY_ID ='xxxxxxxxxxxx'
export AWS_SECRET_ACCESS_KEY ='yyyyyyyy'
export HTTP_PROXY=http://myproxy:port
aws_helper snap_prune /dev/sdf vol-123456 --snapshots_to_keep=20

Email me a list of the latest 30 snapshots with a subject title on email:

export AWS_ACCESS_KEY_ID ='xxxxxxxxxxxx'
export AWS_SECRET_ACCESS_KEY ='yyyyyyyy'
export HTTP_PROXY=http://myproxy:port
aws_helper snap_email me@company.com ebs.backups@company.com mysmtpemailserver.com 'My EBS Backups' --rows=30

Other functions to follow