EC2 インスタンスにオンデマンドキャパシティ予約を設定する

2022.09.09

概要

EC2 インスタンスにオンデマンドキャパシティ予約を設定する手順と考慮事項を紹介します。

キャパシティ予約の概要は、以下のブログで纏めています。

キャパシティ予約の設定時の挙動確認は、以下ブログで記載しました。

考慮事項

この部分を書きたかったがためにこの記事を作りました。

  • 予約したい対象のインスタンスタイプが、キャパシティ不足の状況だと予約作成できません。
    対象インスタンスタイプでキャパシティ不足エラー発生中に、キャパシティの予約はできません。
    エラーが発生する前に、事前にキャパシティ予約を行っておく必要があります。
    Insufficient Capacity

AWS ドキュメントの記載は以下の通りです。

次のいずれかが当てはまる場合、キャパシティーの予約 を作成するリクエストは失敗する可能性があります。

Amazon EC2 には、リクエストに対応する十分なキャパシティ-がありません。時間をおいてからもう一度試すか、別のアベイラビリティーゾーンを試すか、キャパシティ-を小さくしてみてください。インスタンスタイプとサイズに応じてアプリケーションに柔軟性がある場合は、別のインスタンス属性を試してみてください。

リクエストされた数量は、選択したインスタンスファミリーに対するオンデマンドインスタンスの上限を超えています。インスタンスファミリーに対するオンデマンドインスタンスの上限を上げて、もう一度試してください。詳細については、オンデマンドインスタンス の制限 を参照してください。

キャパシティーの予約 の操作 - Amazon Elastic Compute Cloud


  • 予約したい対象のインスタンスタイプが、対象 AZ で提供されていない場合、予約作成できません。
    キャパシティ予約の設定画面で AZ が選択できても予約作成ができないことがあります。事前に確認しておきましょう。
    良く利用するインスタンスタイプが、ap-northeast-1c では提供されていなかった、ということがあるので注意が必要です。
    (例:t3a.medium は ap-northeast-1a と ap-northeast-1d では提供されていますが、ap-northeast-1c では提供されていない等)
    The requested configuration is currently not supported. Please check the documentation for supported configurations.

インスタンスタイプの対象 AZ について、詳しくは以下の記事を参照ください。

キャパシティ予約の設定手順 概要

この記事ではキャパシティ予約を作成して、インスタンスへ関連付けるところ迄を記載します。

キャパシティ予約を、[オープン] で作成した場合、以下の流れになります。

  1. キャパシティ予約の作成
  2. インスタンスのキャパシティ予約が自動適応される

キャパシティ予約を [対象] で作成した場合、以下の流れになります。

  1. キャパシティ予約の作成
  2. インスタンスを停止し、インスタンスのキャパシティ予約設定を変更
  3. インスタンスを起動し、インスタンスのキャパシティ予約を適応

キャパシティ予約をどの様に設定するかで手順が変わるため注意が必要です。
今回は「キャパシティ予約を [対象] で作成した場合」の設定手順を以下に記載します。

キャパシティ予約の設定手順

1. キャパシティ予約の作成

以下をクリックして、キャパシティ予約の作成画面を開きます。
[Amazon EC2 コンソール] > [キャパシティーの予約] > [キャパシティ予約を作成]

キャパシティ予約の作成画面で、設定値を入力し[作成] をクリックします。

この時、[インスタンスの詳細] で、キャパシティ予約を関連付けたいインスタンスと同じ値を指定します。
今回は [インスタンスの適格性] の設定は [対象] で指定します。

各設定値の詳細は、以下の記事を参考にしてください。

[キャパシティ予約を確認] が表示されますので、内容を確認して [確認] をクリックします。

キャパシティ予約が作成されました。

※この時点で、以下に該当する場合は作成後すぐにインスタンスに関連付けされます。

  • キャパシティ予約の設定で [インスタンスの適格性] を [オープン] で指定している
  • この予約の設定値に該当する、起動しているインスタンスが存在する場合

インスタンスが関連付けられているかは、キャパシティ予約の [利用可能な数量] で確認できます。
(下記画像参照)

2. インスタンスを停止し、インスタンスのキャパシティ予約設定を変更

作成したキャパシティ予約と同じインスタンスタイプ、他詳細設定も同じインスタンスがありますが、
インスタンスはデフォルトだと [キャパシティーの予約の設定] が open になっているので、先ほどのキャパシティ予約とは関連付いていない状況です。

ここからインスタンスをキャパシティ予約の [インスタンスの適格性] 設定が [対象 (targeted) ] のものと関連付くように設定していきます。

対象のインスタンスを停止して、以下をクリックして、キャパシティ予約の設定画面を開きます。
[アクション] > [インスタンスの設定] > [キャパシティー予約設定を変更]

キャパシティの予約の設定画面で、[キャパシティの予約の設定] を選択、
先ほど作成したキャパシティ予約を選択し、[適用] をクリックします。

各設定値の詳細は、以下 AWS ドキュメントを参照してください。

AWS ドキュメント - キャパシティーの予約 の操作 - インスタンスの キャパシティーの予約 設定の変更

キャパシティ予約が設定されました。

3. インスタンスを起動し、インスタンスのキャパシティ予約を適応

この時点では、インスタンスが起動していないので、キャパシティ予約を利用していません。
キャパシティ予約の画面で見ても、[利用可能な数量] は 1 のままです。

インスタンスのキャパシティ予約設定の変更が出来たので、インスタンスを起動してキャパシティ予約を適応した状態で起動します。

対象のキャパシティ予約の画面で [利用可能な数量] が 0 になっていることが確認できました。

以上で「キャパシティ予約を [対象] で作成した場合」の設定は完了です。

お疲れさまでした。

参考

本記事は、以下の AWS ドキュメントを参照して設定、要約した内容です。

アノテーション株式会社について

アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、さまざまな背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社WEBサイトをご覧ください。