インスタンス起動時に価格を指定して起動することができます。通常オンデマンドより大幅に安い値段でインスタンスを起動できますが、スポット価格が指定した価格を上回った場合、突然インスタンスが停止してしまいます。
安く使えるのでいいのですが、突然止まってしまってあ゛っ!!!てなることがあります。そういう声も多いのか、インスタンスの停止を予告する機能が追加されました。
【AWS発表】EC2スポットインスタンスのターミネート通知機能
多分以下のような使い方をするのではないでしょうか?以下の例では、通知を受けたら自身のスナップショットを作成しています。他の使い方もあるかもしれません。
#!/bin/bash
#You Need Set Proper IAM Role
#GET REGION
REGION=`curl -s -f http://169.254.169.254/latest/meta-data/placement/availability-zone | sed -e 's/.$//g'`
#Instance ID
InstanceID=`curl -s -f http://169.254.169.254/latest/meta-data/instance-id`
#wait until the "temination-time" available
until curl -s -f http://169.254.169.254/latest/meta-data/spot/termination-time
do
sleep 5
done
#Warning all
wall "!!!!!!!!!!spot instance termination begin!!!!!!!!!"
#Wait a while for saving data etc.
sleep 30
#GET EBS
EBS=`aws ec2 describe-instances --region=${REGION} --output text --instance ${InstanceID} | awk '/^EBS/{print $5}'`
#GET snapshots
for II in $EBS ; do
#the voodoo magic
sync; sync; sync;
aws ec2 create-snapshot --volume-id $II --region $REGION
done
0 件のコメント:
コメントを投稿