GCEのプリエンプティブインスタンスは今日も死亡

2018-10-14 08:16:51

 GCEのプリエンプティブインスタンスは今日も絶賛死亡中です。しかたが無いので使用中のインスタンスは全てプリエンプティブを外しました。ついでに簡単にスナップショットを作ってくれるスクリプトを作成しました。これを使うと自動的にスナップショットを作成し、指定した数を超える古いものは削除します。一々ゾーンを指定するのが面倒なので、自動取得させるようにしました。

#!/bin/bash
INSTANCE='インスタンス名'
SNAPCOUNT=3
zone=`gcloud compute instances list --filter=$INSTANCE --format="value(zone)"`
if [ -z "$zone" ]; then
 echo "$INSTANCE"のインスタンスがありません
 exit
fi
gcloud compute disks snapshot $INSTANCE --zone=$zone --snapshot-names=$INSTANCE-`date "+%Y%m%d%H%M%S"`
gcloud compute snapshots list --filter=$INSTANCE --format="value(name,creationTimestamp)" --sort-by=~creationTimestamp |cut -f 1| sed "1,${SNAPCOUNT}d" |\
while read name;do
        gcloud compute snapshots delete --quiet $name
done