Aws Cli Commands Cheat Sheet

Posted on  by 



  1. Useful Aws Cli Commands
  2. Aws Cli Commands Cheat Sheet Pdf
  3. Aws Cli Command Reference
Aws cli commands cheat sheet cheat

The one-page guide to AWS CLI: usage, examples, links, snippets, and more. It comes with a command line interface (CLI) to help with the deployment of applications. The scope of this blog post is to give you a list of useful command lines to use for deploying your applications. We don’t want to turn you into a superhero (we’ll tackle this in a future blog post), but we want to give you the CF CLI superpower. The AWS Command Line Interface (CLI), on the other hand, is a unified tool to manage your AWS services. AWS CloudFormation provides a common language for you to describe and provision all the infrastructure resources in your cloud environment.

Cli

Useful Aws Cli Commands

aws_cli_cheat_sheet.txt
Aws cli cheat sheet pdf
# Count total EBS based storage in AWS
aws ec2 describe-volumes | jq '[.Volumes[].Size] | add'
# Count total EBS storage with a tag filter
aws ec2 describe-volumes --filters 'Name=tag:Name,Values=CloudEndure Volume qjenc' | jq '[.Volumes[].Size] | add'
# Describe instances concisely
aws ec2 describe-instances | jq '[.Reservations | .[] | .Instances | .[] | {InstanceId: .InstanceId, State: .State, SubnetId: .SubnetId, VpcId: .VpcId, Name: (.Tags[]|select(.Key'Name')|.Value)}]'
# Wait until $instance_id is running and then immediately stop it again
aws ec2 wait instance-running --instance-id $instance_id && aws ec2 stop-instances --instance-id $instance_id
# Get 10th instance in the account
aws ec2 describe-instances | jq '[.Reservations | .[] | .Instances | .[]] | .[10]'
# List the private IP addresses of all instances
aws ec2 describe-instances | jq '[.Reservations | .[] | .Instances | .[] | .PrivateIpAddress] | sort'
# Do that, but only on non-terminated instances
aws ec2 describe-instances | jq '[.Reservations | .[] | .Instances | .[] | select(.State.Name!='terminated') | {Name: (.Tags[]|select(.Key'Name')|.Value), PrivateIp: .PrivateIpAddress}]'
# JQ export to csv command / suffix
export_csv_suffix='| map([.Name, .PrivateIp] | join(',')) | join('n')'
# Get all production instances
instance_ids=$(aws ec2 describe-instances | jq '[.Reservations | .[] | .Instances | .[] | select(.State.Name!='terminated') | select((.Tags[]|select(.Key'Environment')|.Value) 'prod') | {Name: (.Tags[]|select(.Key'Name')|.Value), InstanceId: .InstanceId}]' | jq '.[] | .InstanceId')
# Add a backup tag to those instances
echo $instance_ids | sed 's/'//g' | grep i- | parallel --delay 3 aws ec2 create-tags --resources {} --tags Key=Backup,Value=PolicyA
# Attach multiple new ebs volumes to an instance
instance_id='i-0d42888191f597bb8'
volume_size='8'
for x in {a..h}
do
volume_id=$(aws ec2 create-volume --size $volume_size --volume-type gp2 --availability-zone eu-west-1a | jq -r '.VolumeId')
aws ec2 wait volume-available --volume-ids $volume_id
aws ec2 attach-volume --volume-id $volume_id --instance-id $instance_id --device /dev/xvd$x
done
# Produce a summary of instances
jq '[.Reservations | .[] | .Instances | .[] | select(.State.Name!='terminated') | {Name: (.Tags[]|select(.Key'Name')|.Value), InstanceId: .InstanceId}]'
# Check instances for ones which are missing required tags
instances=$(cat './scripts/prod-instances.json')
required_tags='['Environment','Backup','Owner','AppName','Name']'
echo $instances | jq '[.Reservations | .[] | .Instances | .[] | select(.Tags | [.[] | .Key] | contains($required_tags) | not)]' | jq '
[.[] | select(.State.Name!='terminated') | select(([.Tags | .[] | .Key]) | contains(['CloudEndure creation time']) | not) | {
InstanceId: .InstanceId,
InstanceName: (.Tags | from_entries | .Name),
MissingTags: (('$required_tags') - ([.Tags | .[] | .Key]))
}]'
# Get the 'Live & Tagged' instances
instances=$(aws ec2 describe-instances)
live=$(echo $instances | jq '[.Reservations | .[] | .Instances | .[] | select(.Tags | [.[] | .Key] | contains($required_tags))]')
# Enable termination protection from a list of instances stored in $list
echo $live | jq -r '.[] | .InstanceId' | while read id
do
echo 'Enabling termination proection on machine: $id'
aws ec2 modify-instance-attribute --disable-api-termination --instance-id $id
done
# Attach unused EBS Volumes to an instance
instance_id='i-abcd1234'
letters=({a..j})
volumes=$(aws ec2 describe-volumes | jq -r '.Volumes[] | select(.State'available') | .VolumeId')
lc=1
echo $volumes | while read id
do
echo 'Attaching volume on: $id'
aws ec2 attach-volume --instance-id $instance_id --volume-id $id --device /dev/sd${letters[++lc]}
done
# Detach and delete secondary volumes on a machine
aws ec2 describe-instances --instance-ids $instance_id | jq -r '.Reservations[0].Instances[0].BlockDeviceMappings | .[] | select(.DeviceName != '/dev/sda1') | .Ebs.VolumeId' | while read volume_id
do
aws ec2 detach-volume --volume-id $volume_id &&
aws ec2 wait volume-available --volume-ids $volume_id &&
aws ec2 delete-volume --volume-id $volume_id
done
# Copy everything from an account into an OSX clipboard
aws ec2 describe-volumes | jq '[.Volumes[] | select(.State'available') | .VolumeId]' | pbcopy

Aws Cli Commands Cheat Sheet Pdf

Cli

Aws Cli Command Reference

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment




Coments are closed