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 / awspycli-win.txt
Last active April 4, 2017 22:04
AWS - Powershell Userdata script t bootstrap EC2 with python and AWS CLI
<powershell>
iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))
choco install python -y
(new-object net.webclient).DownloadFile('https://s3.amazonaws.com/aws-cli/AWSCLI64.msi','c:\AWSCLI64.msi')
msiexec.exe /i 'C:\AWSCLI64.msi' /qn
</powershell>
@anuragmathur1
anuragmathur1 / awspycli-linux.txt
Created April 4, 2017 22:04
AWS - bash script for EC2 userdata to bootstrap with python and AWS CLI
#!/bin/bash
yum install perl-Switch perl-DateTime perl-Sys-Syslog perl-LWP-Protocol-https -y
curl http://aws-cloudwatch.s3.amazonaws.com/downloads/CloudWatchMonitoringScripts-1.2.1.zip -O
unzip CloudWatchMonitoringScripts-1.2.1.zip
rm CloudWatchMonitoringScripts-1.2.1.zip
@anuragmathur1
anuragmathur1 / cloudwatch-sample-scripts.sh
Last active May 3, 2017 20:48
Userdata script to bootstrap EC2 with cloudwatch sample scripts from AWS
#!/bin/bash
## Reference web Page : http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/mon-scripts.html
yum install perl-Switch perl-DateTime perl-Sys-Syslog perl-LWP-Protocol-https -y
curl http://aws-cloudwatch.s3.amazonaws.com/downloads/CloudWatchMonitoringScripts-1.2.1.zip -O
unzip CloudWatchMonitoringScripts-1.2.1.zip
rm CloudWatchMonitoringScripts-1.2.1.zip
@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);
});
};
@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
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 / 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)
@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 / 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 / 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']