起動テンプレートで、スポットインスタンスを選択して、デフォルトに設定、楽しみに待っていても、インスタンスが立ち上がってきません。
Auto Scaling グループの、アクティビティ履歴を確認すると、起動に失敗したという内容で、以下のような文言があります。
Launching a new EC2 instance. Status Reason: The attribute 'disableApiTermination' cannot be used when launching a Spot instance. Launching EC2 instance failed.
終了保護を外すことにより、ターゲットグループにインスタンスが立ち上がるようになりました。
インスタンスの詳細を確認してみると、ライフサイクルが、spot となっています。
これで、安くなっているのでしょうかね。
試しに、インスタンスを停止しようとしてみました。
You can't stop the Spot Instance 'i-xxxx' because it is associated with a one-time Spot Instance request. You can only stop Spot Instances associated with persistent Spot Instance requests.
停止できるようにするには、どうしたらいいんだろう。
起動テンプレートで、spot をリクエストするのは変えませんが、リクエストタイプを「永続」にしてみました。
今度は、以下のようになって立ち上がらないです。
Launching a new EC2 instance. Status Reason: Incompatible launch template: Auto Scaling only supports the 'one-time' Spot instance type with no duration.
ところで、以下のようになっているので、ちっとも安くなっていない気がします。
オンデマンド料金を上限とするスポット料金でスポットインスタンスをリクエスト
グッと下げてみようかな。
どうやら、以下のページをみると、スポットインスタンスの現在の?価格が分かるらしいです。これを、説明ページと仮に呼びます。
https://aws.amazon.com/jp/ec2/spot/pricing/
上記ページを見ると、スポットインスタンスをリクエストしさえすれば、70 ~ 80 % 割引にはなりそうなので、上限設定はしないで、スポットインスタンスのリクエストだけにしてみます。
結論的には、以下の画像で分かるとおり、安くなっています。
t2.nanoが、bastionインスタンスで、これは、nanoなので、とても安いので、このままでもいいかな、と。
t3.small の方ですけど、通常で立ち上げていたら、このときは、1時間あたり 0.0272ドル なんですけど、スポット要求だと、ちょうど 10時間で 0.08ドル なので、1時間あたり 0.008ドル となるので、説明ページのとおりとなり、30%程度(約70%割引)の値段で利用できていることがわかりました。