Posts

Showing posts from 2023

AWS SSM Maintenance window shortcuts

To list all enabled maintance windows aws ssm describe-maintenance-windows --filters "Key=Enabled,Values=true" --region <region name>  To disable a maintenance window aws ssm update-maintenance-window   --window-id <"window-id">    --no-enabled --region <region name> To enable a maintenance window aws ssm update-maintenance-window --window-id <"window-id"> --enabled --region <region name>

Remove unused volume?

volumeid=( vol-xxxxxxxxxxxxxxxxxxx vol-xxxxxxxxxxxxxxxxxxx vol-xxxxxxxxxxxxxxxxxxx vol-xxxxxxxxxxxxxxxxxxx vol-xxxxxxxxxxxxxxxxxxx ) COUNTER=0 for (( i=0; i<${#volumeid[@]}; i++ )); do COUNTER=$((COUNTER+1)) echo "++++"; echo $COUNTER". Removing the volume with the Volume ID: " ${volumeid[$i]}; aws ec2 delete-volume --volume-id ${volumeid[$i]}; done

Remove unused snapshot?

  snapshotid=( snap-xxxxxxxxxxxxxxxx snap-xxxxxxxxxxxxxxxx snap-xxxxxxxxxxxxxxxx snap-xxxxxxxxxxxxxxxx ) COUNTER=0 for (( i=0; i<${#snapshotid[@]}; i++ )); do COUNTER=$((COUNTER+1)) echo "++++"; echo $COUNTER". Removing the Snapshot with the Snapshot ID: " ${snapshotid[$i]}; aws ec2 delete-snapshot --snapshot-id ${snapshotid[$i]}; done

List volumes without a tag

  for region_name in `aws ec2 describe-regions  --query "Regions[].{Name:RegionName}" --output text` ; do echo "Checking the region" $region_name;         aws ec2 describe-volumes --filters Name=status,Values=available  --query "Volumes[*].{ID:VolumeId,VolumeState:State}"  --query 'Volumes[?!not_null(Tags[])]' --region $region_name --output table; done;

Find ami creation date ?

  for region_name in `aws ec2 describe-regions  --query "Regions[].{Name:RegionName}" --output text` ; do echo "Checking the region" $region_name;  echo "Checking the region" $region_name >> $region_name.txt     aws ec2 describe-images --region $region_name --owners self --query 'sort_by (Images, &CreationDate)[].{Name: Name, Image: ImageId , CreationDate: CreationDate}[]' --output text |  sed -E 's/\s+/,/g' >> $region_name.txt done;

List instances with Name, Public IP, Platform and Status

for region in `aws ec2 describe-regions --output text | cut -f4` do echo -e "\nListing Instances in region:'$region'..."     aws ec2 describe-instances --query "Reservations[*].Instances[*].{PublicIP:PublicIpAddress,Platform:Platform,Name:Tags[?Key=='Name']|[0].Value,Status:State.Name}"  --filters "Name=instance-state-name,Values=running" "Name=tag:Name,Values='*'"  --output table --region $region done

Add a specific tag to EC2 instances?

COUNTER=0 for instance_id in `aws ec2 describe-instances --query "Reservations[*].Instances[*].{Instance:InstanceId}"  --filters "Name=tag:Name,Values=*<Common_name>*"  --output text --region <region_name>` do let COUNTER++ printf $COUNTER; echo ". Setting up tag for the instance "$instance_id; aws ec2 create-tags --resources $instance_id --region <region_name>   --tags "Key"="<key_that_needs_to_be_added>","Value"="<value_that_needs_to_be_added>" ; done;

Remove specific tags from EC2 instance?

COUNTER=0 for instance_id in `aws ec2 describe-instances --query "Reservations[*].Instances[*].{Instance:InstanceId}"  --filters "Name=tag:Name,Values=*<common_name>*"  --output text --region <region_name>` do let COUNTER++ printf $COUNTER; echo ". Removing the tag for the instance "$instance_id; aws ec2 delete-tags --resources $instance_id --tags Key=<Tag_That_needs_Removal> done;