tlisonbee.github.io

Todd Lisonbee

Home Notes Art Music

RDS Cluster Backup Setup

aws rds describe-db-clusters \
--query 'DBClusters[*].[DBClusterIdentifier,EarliestRestorableTime,LatestRestorableTime,BackupRetentionPeriod,PreferredBackupWindow]' \
--output text

Recent RDS Cluster Snapshots

aws rds describe-db-cluster-snapshots \
   --snapshot-type automated \
   --query 'DBClusterSnapshots[*].[SnapshotCreateTime,DBClusterIdentifier]' \
   --output text | sort -r | head

ASGs with only 1 AZ but have more than one instance

aws autoscaling describe-auto-scaling-groups --query 'AutoScalingGroups[?AvailabilityZones.length(@) < `3` && Instances.length(@) > `1`].{ASG:AutoScalingGroupName,DesiredCapacity:DesiredCapacity,CurrentNumInstances:Instances.length(@),NumberOfAZs:AvailabilityZones.length(@),AZs:AvailabilityZones}' > asgs-with-two-or-more-instances-but-only-one-az.json 

ASGs with zero instances

aws autoscaling describe-auto-scaling-groups \
--query 'AutoScalingGroups[?Instances.length(@) == `0`].[AutoScalingGroupName]' \
--output text

ASGs by date created

aws autoscaling describe-auto-scaling-groups \
--query 'AutoScalingGroups[*].[CreatedTime,AutoScalingGroupName,Instances.length(@)]' \
--output text | sort

Find all EBS Snapshots with a particular tag and add another tag

for snapshot in `aws ec2 describe-snapshots  --filters "Name=tag:MyExistingTagName,Values=MyExistingTagValue" --query 'Snapshots[*].SnapshotId' --output text  | xargs`; 
do 
  echo $snapshot; 
  aws ec2 create-tags --resources $snapshot --tags 'Key=AdditionalTagName,Value=AdditionalTagValue' ; 
done

Elastic Search Research

for name in `aws es list-domain-names  --query 'DomainNames[*].DomainName' --output text | xargs`
do 
    echo "======== $name ===========" ; 
    aws es  describe-elasticsearch-domains  --domain-names $name 
    aws es list-tags --arn "arn:aws:es:us-east-1:1234567890:domain/$name"
done > my-report.txt

Delete all Backups for a DynamoDB Table

for arn in `aws dynamodb list-backups --table-name "TABLENAME" --backup-type ALL --output text --query 'BackupSummaries[*].BackupArn' | xargs`
do
    aws dynamodb delete-backup --backup-arn "${arn}"
done