2014年3月15日

余計なEBSを削除

ある日EBSをチェックすると、使っていないEBSが大量にありました。
どうやらEBSのDeleteOnTerminationが無効になっているAMIのインスタンスを知らずに使っていたようです。。。

DeleteOnTerminationはインスタンスの起動時に指定できるのですが、AMIによってデフォルトが異なるようです。


こんな感じでチェックが外れていたのを見逃していました。


そんなわけで、AWS CLIを使って使用されていないEBSをまとめて消します。
$ aws ec2 describe-volumes --output text | grep available
VOLUMES ap-northeast-1a 2014-01-04T10:59:47.001Z        8       snap-ffffffff   available       vol-ffffffff    standard
VOLUMES ap-northeast-1a 2014-01-04T11:05:28.355Z        8       snap-ffffffff   available       vol-ffffffff    standard
VOLUMES ap-northeast-1a 2014-01-04T11:05:27.929Z        8       snap-ffffffff   available       vol-ffffffff    standard
(中略)
VOLUMES ap-northeast-1c 2014-01-04T11:51:20.928Z        8       snap-ffffffff   available       vol-ffffffff    standard
$ aws ec2 describe-volumes --output text | grep available | awk '{print $7}' | xargs -i aws ec2 delete-volume --volume-id {}
{
    "return": "true"
}
{
    "return": "true"
}
{
    "return": "true"
}
(中略)
{
    "return": "true"
}
$ aws ec2 describe-volumes --output text | grep available
$
すべてキレイサッパリ消えました。

周回遅れエンジニアはLinux初心者ですが、awkやxargsを使うとこんな風に簡単にまとめて処理できるなんて便利ですね!

0 コメント:

コメントを投稿