EC2 インスタンスを起動できない時に考えること

この記事は2017年9月14日に書かれたものです。
現在は内容が古い可能性が高いのでご注意ください。
2017/12/14 追記
この情報は古くなりました。以下のリリースでスポットインスタンスの価格設定履歴のグラフからキャパシティの状況をうかがい知ることは不可能になりました。
Amazon EC2 Spot で新しい料金モデルと RunInstances API を介してスポットインスタンスを起動する機能を導入

※ これはあくまで僕の妄想のお話です。

オンデマンドの EC2 インスタンスを起動しようとして、以下のようなメッセージで起動できない事があります。

A server error (InsufficientInstanceCapacity) occurred when calling
the StartInstances operation: We currently do not have sufficient
<インスタンスタイプ> capacity in the Availability Zone you requested (<選んだ AZ>). 
Our system will be working on provisioning additional capacity.
You can currently get <インスタンスタイプ> capacity by not specifying an Availability Zone
in your request or choosing <他の AZ>.

これが出てしまうと、インスタンスを起動しようとした AZ のリソースに空きがないから少し待つか他をあたってくれ (*インスタンスの容量に関するトラブルシューティング) という事なんですが、しかしこれがいつ起きるかは全く予想不能ということになっています。

しかし全く状況が見えないというのも考えものなので、ちょっと妄想のタネを探してみたところ関連性が強そうなものを見つけました。

これはタイトルの通り、(c4.4xlarge の) スポットインスタンス (*スポットインスタンス) の価格の推移を表したものです (EC2 Management Console > インスタンス > スポットリクエスト画面の価格設定履歴ボタンから見る事ができます)。
スポットインスタンスの価格は AWS のリソースの空き状況によって変動するので「価格が高い≒混雑していてオンデマンドインスタンスが起動しない可能性が高い」と予想できます。

実際に 8 月は EC2 起動できない!みたいな事が僕の身近なところで起きていて、その時間帯の価格を確認するとオンデマンド価格を超えて天井に張り付いていたりしました。
なので全く信頼できないただの妄想、とも言い切れないかなと思うところです。

さらにこういうところ (明らかに最低価格が変動している) が見えると、8 月の終わりに物理的なリソースの拡張工事があったのかな?やっぱり拡張を検討するほど混雑が深刻化していたのかな?拡張後は明らかに混雑が緩和されているな〜などと妄想が捗ります。(←これは AWS から情報が出てくることはないと思うので、完全に根拠のない妄想です)

暇があったらスポットインスタンスの価格推移を確認しておいて、オンデマンド価格を超える状況が頻発していないインスタンスタイプを選んでおくと事故が減るかもしれません。あるいはリザーブドインスタンスを購入するなど、AWS の案内に従ったほうが良さそうです。

などと、時間があったので適当に妄想を膨らませてみました。

シェアする

フォローする