We sometimes need to delete or remove unnecessary resources which we forgot to do so when we are creating some resources on AWS, don't we? I'm making a note mainly with AWS CLI for those situations.
Today, we are deleting all of the available EBS volumes!
* Describe EBS Volumes
$ aws ec2 describe-volumes| jq '.Volumes[0]'
{
"Size": 10,
"AvailabilityZone": "ap-northeast-1a",
"Attachments": [
{
"Device": "/dev/sda",
"DeleteOnTermination": true,
"State": "attached",
"VolumeId": "vol-xxxxxxxx",
"InstanceId": "i-xxxxxxxx",
"AttachTime": "2013-09-30T02:16:37.000Z"
}
],
"VolumeType": "standard",
"VolumeId": "vol-xxxxxxxx",
"State": "in-use",
"SnapshotId": "snap-xxxxxxxx",
"CreateTime": "2013-09-30T02:16:37.000Z"
}
* Extract available EBS Volumes
$ aws ec2 describe-volumes| jq '.Volumes[] | select(.State == "available") | {VolumeId,State}'
{
"State": "available",
"VolumeId": "vol-xxxxxxxx"
}
...
{
"State": "available",
"VolumeId": "vol-xxxxxxxx"
}
$ aws ec2 describe-volumes| jq '.Volumes[] | select(.State == "available")' | jq '.VolumeId' | sed -e 's/"//g'
vol-xxxxxxxx
...
vol-xxxxxxxx
* Delete available EBS Volumes in dry-run mode
$ for i in `aws ec2 describe-volumes| jq '.Volumes[] | select(.State == "available")' | jq '.VolumeId' | sed -e 's/"//g'`
do aws ec2 delete-volume --volume-id $i --dry-run
done
A client error (DryRunOperation) occurred: Request would have succeeded, but DryRun flag is set.
* Delete available EBS Volumes
$ for i in `aws ec2 describe-volumes| jq '.Volumes[] | select(.State == "available")' | jq '.VolumeId' | sed -e 's/"//g'`
do aws ec2 delete-volume --volume-id $i
done
{
"return": "true"
}
...
{
"return": "true"
}
* Confirm available EBS Volumes deleted
$ aws ec2 describe-volumes| jq '.Volumes[] | select(.State == "available") | {VolumeId,State}'
Make sure that unnecessary resources have been released to save cost!
canlı sex hattı
ReplyDeletehttps://girisadresi.info/
heets
salt likit
salt likit
Q2C3