インフラ

ap-northeast-1でEC2インスタンスが作成出来ない事がある?

投稿日:

EC2インスタンスを作ろうと思ったら……。

お疲れ様です。
例えば、EC2インスタンスを普通に作成しようとして、以下のようなメッセージが表示されてインスタンスが作成できない!ということはございますでしょうか。

We currently do not have sufficient m5.large capacity in the Availability Zone you requested (ap-northeast-1a).
Our system will be working on provisioning additional capacity. You can currently get m5.large capacity by not specifying an Availability Zone in your request or choosing ap-northest-1d.

「ごめーんキャパオーバーでap-northeast-1aにm5.largeインスタンスは今作れないんだ。メンゴメンゴ。ap-northeast-1dなら今作れるかも知んないよ」

上限数にも満たしていないのにインスタンスが作成できず、上記のようなメッセージが出てきた。となれば、
(メッセージの通りですが)該当のアベイラビリティゾーンに今インスタンスの空きが無く、インスタンスの生成が出来ない状態にあるということです。

 

結論としては、どのように解決する?

解決方法としては、いくつか考えられます。

 

発生条件を整理してみよう

EC2のキャパシティオーバーについては、

  • リージョンごと
  • アベイラビリティゾーンごと
  • インスタンスタイプごと

に発生します。

 

そこから考えられる解決方法とは?

その為、例えばm5.largeが作成できなかった場合、他のインスタンスタイプでも代用が利くならインスタンスタイプを違うものにして再作成を試みることで、インスタンスの生成を行うことが出来るようになる可能性があります。

また、インスタンスタイプは代用できないよ!という場合はアベイラビリティゾーンを変更すれば作成を行うことが出来る可能性があります。
上記のメッセージの例で言えば、ap-northeast-1aでは作成できなかったけど、ap-northeast-1dでは作成出来るよ、と既にアナウンスされています。

インスタンスタイプもアベイラビリティゾーンも譲れない!という場合は、リージョンを変えてみるのもありです。(ただアベイラビリティゾーンを譲れないのにリージョンを譲れるというケースがあるのかは不明ですが……)

全部譲れない!このインスタンスは東京リージョンのap-northeast-1aに、m5.largeでどうしても作らなければならないんだ!という場合は、
しばらく待つか、何度も作成を試みてみることで作成できるケースがあります。
というのも、現在は「特定リージョンの特定アベイラビリティゾーンの特定インスタンスタイプの空きが無い」という状態になっていると思われますので、単純に同じ条件の誰かのインスタンスが破棄されれば、そこに空きが出ます。そこをうまく狙えれば、インスタンスは作成することが出来るようになります。
あるいは、こうしたキャパシティー不足に対してもちろんAWS側も認識しており、急ぎ対処している状態なので時間経過により対応が完了し、キャパシティーが増える可能性があります。

まとめると、解決方法は以下です。

  • 時間経過を待ってみる
  • 作成を連打してみる
  • リージョンを変えてみる
  • アベイラビリティゾーンを変えてみる
  • インスタンスタイプを変えてみる

 

この現象が起きていることはどのように知ればいいの?

例えばEC2 AutoScalingを行っている環境においても、このキャパシティ不足は深刻な問題になります。
その為、この現象が発生しているということは出来れば知りたいと思うでしょう。

では、どこからこの情報を知れば良いのでしょうか。

 

AWS公式からのアナウンスは無い

実は、この情報に関してAWS公式からのアナウンス(通知)はないそうです(2019年4月時点調査 AWSサポート回答)。
つまり知る術はないということです。

また、この状態からの復旧時のアナウンスも、発生中のアナウンス同様に存在しません。

 

それでもAWSは見えないところで対応してくれている

アナウンスこそありませんが、キャパシティ不足の状態にはなるべく早急に対応できるよう、
AWS側でも対応を行ってくれているようです。

どのリージョンのどのアベイラビリティゾーンで発生しているかなど、知る術こそありませんが、
AWS側の対応力を信じて待つことは出来ると思います。(それは実質的にユーザ側ではどうにもしようがないということでもありますが……)

 

まとめ

  1. AWS側のキャパシティ不足によって、特定リージョン、特定AZ、特定タイプのインスタンスが作成出来ない事がある
  2. 解決方法はいくつか考えられるが、根本的な解決策としては時間経過を待つこと
  3. これらの状態の発生と復旧を知る術は無い(AWS側で未公開)

以上が、EC2インスタンスが作成できない場合の対処です。
お疲れさまでした。

-インフラ
-

Copyright© すじこネット , 2019 - 2021 All Rights Reserved Powered by STINGER.