Skip to content

Instantly share code, notes, and snippets.

View anuragmathur1's full-sized avatar

Anurag Mathur anuragmathur1

  • Sydney, AU
View GitHub Profile
@anuragmathur1
anuragmathur1 / create-cloudformation-stack.sh
Created September 7, 2017 04:15
Example of creating a cloudformation stack with example parameters
aws cloudformation create-stack \
--stack-name my-stack \
--template-body file:///full-path-to-file/my-stack.template \
--parameters \
ParameterKey=DynaoDbReadCapacity,ParameterValue=2 \
ParameterKey=DynaoDbWriteCapacity,ParameterValue=2 \
ParameterKey=LambdaBucket,ParameterValue=Bucket-name \
--profile=work
@anuragmathur1
anuragmathur1 / create-rds-instance.sh
Last active September 7, 2017 04:16
Create RDS instance from cli - Example
aws rds create-db-instance \
--db-name newdb \
--db-instance-identifier my-instance \
--db-instance-class db.t2.micro \
--engine MySQL \
--engine-version 5.6.35 \
--master-username dbuser \
--master-user-password dbpwd \
--vpc-security-group-ids sg-xxxxxxxx \
--db-subnet-group-name db-subnet-group \
@anuragmathur1
anuragmathur1 / create-ec2-instance.sh
Created September 7, 2017 04:07
Create ec2 instance using aws cli.
aws ec2 run-instances \
--image-id ami-xxxxxxxx \
--instance-type m4.large \
--security-group-ids sg-xxxxxxxx sg-xxxxxxxx sg-xxxxxxxx \
--subnet-id subnet-xxxxxxxx \
--iam-instance-profile Arn=arn:aws:iam::xxxxxxxxxxxx:instance-profile/instance-profile \
--count 1 \
--block-device-mappings '[ { "DeviceName": "/dev/xvda", "Ebs": {"VolumeSize": 100, "VolumeType": "gp2"}}]' \
--key-name instance-key \
--associate-public-ip-address \
@anuragmathur1
anuragmathur1 / get_aws_account_number.py
Created August 22, 2017 04:47
Get the AWS account number that you are currently operating with.
import boto3
account_number = boto3.client('sts').get_caller_identity()['Account']
@anuragmathur1
anuragmathur1 / add-remove-public-read-s3.txt
Created August 2, 2017 00:00
s3cmd examples to add and remove public-read access for s3 buckets, folders and objects within.
## You may choose to remove --recursive if is required only for the bucket or folder and not for objects within.
s3cmd setacl --acl-private --recursive s3://mybucket-name
s3cmd setacl --acl-private --recursive s3://mybucket-name/folder-name
s3cmd setacl --acl-private --recursive s3://mybucket-name/folder-name/object-name
s3cmd setacl --acl-public --recursive s3://mybucket-name
s3cmd setacl --acl-public --recursive s3://mybucket-name/folder-name
s3cmd setacl --acl-public --recursive s3://mybucket-name/folder-name/object-name
@anuragmathur1
anuragmathur1 / decode-aws-msg.sh
Created July 19, 2017 02:58
Use this command to decode the message in cloudwatch logs when you get "Encoded authorization failure message"
aws sts decode-authorization-message --encoded-message "$1" |
jq '.["DecodedMessage"]' |
sed 's/\\"/"/g' |
sed 's/^"//' |
sed 's/"$//' |
jq
}
@anuragmathur1
anuragmathur1 / generate_base64_authorization_header.py
Last active July 14, 2017 02:19
Generate Base64 encoded string for Authorization Header
username = 'xxxxxxxxxxxxx'
password = 'yyyyyyyyyyyyy'
base64_output_string = base64.encodestring('%s:%s' % (username, password)).replace('\n', '')
auth_header = ("Authorization: Basic %s" % base64_output_string)
aws ec2 create-network-interface --description some-internal --groups sg-xxxxxxxx --subnet-id subnet-xxxxxxxx  --profile=work
aws ec2 create-tags --resources eni-xxxxxxxx --tags Key=Name,Value=some-internal Key=appType,Value=logging --profile=work
aws ec2 run-instances --image-id ami-xxxxxxxx --instance-type t2.medium --security-group-ids sg-xxxxxxxx --subnet-id subnet-xxxxxxxx --iam-instance-profile Arn=arn:aws:iam::123456789876:instance-profile/my-instance-profile --tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=elk},{Key=appType,Value=elk}]' 'ResourceType=volume,Tags=[{Key=Name,Value=some-app-host},{Key=appType,Value=some-app}]' --profile=work
aws ec2 attach-network-interface --device-index 1 --instance-id i-xxxxxxxxxxxxxxxxx --network-interface-id eni-xxxxxxxx
#aws ec2 describe-network-interfaces --filters Name=tag:Name,Values=some-app*
#aws ec2 describe-instances --profile=work --filters Name=tag:Name,Values=some-app* --query 'Reservations[*].Instances[*].[InstanceId]'
@anuragmathur1
anuragmathur1 / ec2-install-code-deploy-agent.txt
Created May 10, 2017 03:59
EC2 UserData script to install CodeDeploy agent
#!/bin/bash
yum install -y aws-cli
cd /home/ec2-user/
aws s3 cp 's3://aws-codedeploy-us-east-1/latest/codedeploy-agent.noarch.rpm' . --region us-east-1
yum -y install codedeploy-agent.noarch.rpm
@anuragmathur1
anuragmathur1 / start_instance_lambda
Created April 10, 2017 09:19
nodejs Lambda function to start a EC2 instance
var AWS = require('aws-sdk');
exports.handler = function(event, context) {
var ec2 = new AWS.EC2({region: 'us-east-1'});
ec2.startInstances({InstanceIds : ['i-0114833f8ffc9151c'] },function (err, data) {
if (err) console.log(err, err.stack);
else console.log(data);
context.done(err,data);
});
};