morimorihogeです.今回はAWSの話.
昨日日曜の10/20から,AWS tokyoリージョンが混み合っているのか,spot instanceが値上がりしています.眺めてみた感じでは,t1.micro, m1.small, m1.medium, m1.large, m3.xlarge, m2.xlarge, m2.2xlarge等,通常のsmall-largeの他に,メモリ量が多めのインスタンスが値上がり傾向にあるようでした.
こちらがweekly(2013/10/21現在の直近)です.
この影響と対処について,現状をまとめます.
2013/10/20(日)
日曜の午後に一度oversubscribedで落とされてしまい,しばらく様子を見ていたのですが,ap-northeast-1a AZはリソースが足りないのか,再度spot requestを投げてもqueueに詰まっていて起動する気配がありませんでした.ぐぬう.
この時点では,ap-northeast-1c AZはまだ値上がりの兆しがなかったので,急遽1a -> 1cにAZを変更して起動し,事なきを得ました.
2013/10/21(月)
そして月曜の昼前,ap-northeast-1cに移動したm2.xlargeのspot instanceが入札価格オーバーで落とされました.ちなみに入札価格は1 USDで,価格は1 USD丁度でした.
その後1.2 USDまで値上がりしています.
元々m2.xlargeのondemand instanceが0.505 USDなので,この価格を超えてしまうとspot instanceを使うメリットはなくなってしまいます.
というわけで,spot instanceで上げるのを急遽止めてondemand instanceで上げ直して現在様子を見ている所です.
考察
そもそもspot instanceはオークション形式で起動し,突然落とされても文句言わない前提の構成のため,安定していない前提で使うのが推奨されています.
参考;Amazon EC2 Spot Instanceが安い!
今回構築していたサーバ群でspot instanceを使っていたのは冗長系のいつ死んでもサービス継続には問題のないホストだったため,休日に飛び起きて対応するまでには至りませんでしたが,開発用サーバやテスト環境ではたまに安いからという理由でspot instanceを使っているので,そちらが急に落ちたら多少開発に支障が出るかな,と言うところです.
といっても,最近はchef/capistranoですぐに環境再構築できるので,よっぽど切羽詰まったタイミングで無い限りは問題はないとは思います.
今回の値上がりの原因については,今のところAWS側からの公式アナウンスは特にないです.実際,spot instanceのサービス的には別に障害というわけではないのでアナウンスされていないのだとは思います.
一点注意として,今tokyoリージョンでspot instanceを起動した場合,インスタンスタイプによってはondemand instanceよりも高額になるということだけ注意しましょう.
ちなみに,直近のspot instanceの価格推移を見たい時は,AWS Management ConsoleでEC2を開き,左メニューで「Spot Requests」を選んでから「Pricing History」のボタンで見られます.
安いと思って使っていたspot instanceが実はondemand instanceより高かった,ということのない様,起動時にbidsする価格は適当じゃなくて真面目に決めましょう,という教訓でした.