BeeX Tech blog

BeeXではクラウドネイティブアプリ開発、企業の基幹クラウド基盤構築、システム移行、運用保守を行っています。

【小ネタ】Dedicated Host上で動くEC2の同時実行数について

BeeXの榊原です。今回はDedicated Host(以下DH)に関する小ネタについて話します。

早速ですが問題です。

問題

128vCPUのDHを用意し、この上に32vCPUのインスタンスを可能な限り構築するとします。

この場合、以下の選択肢のうちどちらが正しいでしょうか。

・選択肢1:EC2インスタンスは、起動/停止状態に関わらず4台までしか構築できない。

・選択肢2:DHのキャパシティを超えず、EC2を同時起動しない限り、EC2は何台でも構築できる。(停止しているEC2インスタンスはキャパシティにカウントされない)

答えは

選択肢2です。自分は最初選択肢1かと考えていましたが、実際は選択肢2が正しかったです。

AWSの公式ドキュメントには以下の通り記載があります。

具体例を挙げると、c5インスタンスファミリー内にある複数のインスタンスタイプをサポートしているDedicated Hostの場合、いかなるインスタンスも実行されていなければ 72 の vCPU を使用できます。これは、Dedicated Hostにおいては 72 の使用可能な vCPU を使って異なるインスタンスタイプの組合せを起動できることを意味します。

以下に検証の様子を記載します。

検証

①DH上で試しに起動

自分の環境でm6iのDH(vCPU:128)を購入しました。購入後の画面は以下の通りです。

注目いただきたいのが赤枠のvCPU使用率で、DHのキャパシティの残りを確認できます。

ためしにこのDH上にm6i.32xlarge(vCPU:128)のインスタンスを起動します。

すると当然キャパシティも大きくなります。

この状態でもう1台起動を試みると、当然キャパシティ不足とエラーが出ます。

➁DH上のインスタンスを停止し、別インスタンスを起動

ここで上で起動したインスタンスを停止します。

すると、DHのvCPU使用率が0/128になりました。

この状態で再度DH上にm6i.16xlarge(vCPU:64)のインスタンスを2台起動します。

DHのvCPU使用率も128/128となりました。

図にすると以下の通りです。
m6i.32xlargeは停止しておりDHのキャパシティにカウントされません。そのため、新規で2台のm6i.16xlargeのインスタンスが起動可能となりました。

この状態で停止したインスタンスを起動しようとすると、「Dedicated host h-xxx has insufficient capacity to launch the instances in this request.」と表示され、起動できません。

2台のm6i.16xlargeのインスタンスが起動しているため、キャパシティ不足となっています。

キャパシティ確保のため、新規起動した2台を停止します。

この状態で再度m6i.32xlarge(vCPU:128)のインスタンスを起動します。キャパシティは解放されているため、今度は問題なく起動しました。

検証は以上です。DH上でインスタンスを起動する際は、同時起動中のコア数に注意しましょう。短いですが今回は以上です。ここまでお読みいただきありがとうございました。