3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

特定 EC2 インスタンスをターゲットにオンデマンドキャパシティ予約(ODCR)を設定する

3
Posted at

ガバメントクラウドで AWS の EC2 や RDS を使っている場合、2026 年度以降の長期継続割引を検討する時期になってきました。

ガバメントクラウドでの EC2 の長期継続割引として Savings Plans を利用する場合、忘れずにセットでオンデマンドキャパシティ予約(On-Demand Capacity Reservation、ODCR)を設定することをお勧めします。

ODCR を設定しておくことで、EC2 インスタンスをメンテナンス等で停止、起動する際にも AWS 側で優先的にキャパシティが確保されますので、キャパシティ不足による起動エラー(Insufficient Instance Capacity Error、通称 ICE)に遭う確率を下げることができます。

具体的な ODCR の利点や適用すべき理由については、以下のブログ記事がとても参考になります。

ここでは EC2 インスタンスに ODCR を設定する手順と注意事項について整理したいと思います。

EC2 の ODCR はターゲット型がお勧め

ODCR には、オープン型(条件を満たしている EC2 インスタンスが起動していると、当該 EC2 インスタンスに自動的に ODCR が設定される)と、ターゲット型(EC2 インスタンスを起動する際に特定の ODCR を選択することで設定される)の 2 種類があります。

一見オープン型の方が楽そうですが、ターゲット型の方をお勧めします。

その理由について、先のブログ記事から引用します。

自動的にキャパシティ予約済みのリソースが適用されるため便利ではありますが、意図しないインスタンスが予約済キャパシティを消費してしまうリスクがあります。たとえば、検証用環境のインスタンスを構築した際に、誤って本番環境用に確保したはずのキャパシティが割り当てられてしまい、本番環境はキャパシティが確保されない状態になってしまう可能性があります。

ガバクラ生命保険「キャパシティ予約」をご存知ですか? より

オープン型の場合、自動的に ODCR が適用されてしまうがために、意図しない EC2 インスタンスに ODCR が適用されてしまう運用上のリスクを考慮しなければなりません。

そこで、本記事ではターゲット型の ODCR について解説していくことにします。

ターゲット型の ODCR の適用手順

EC2 インスタンスの ODCR の作成

EC2 マネジメントコンソールから「キャパシティの予約」で「キャパシティ予約の作成」に進みます。

スクリーンショット 2026-03-08 7.06.57.png

ODCR を適用したい EC2 インスタンスのプロパティ(インスタンスタイプや数、AZ など)と一致するよう、「インスタンスの詳細」を設定します。

スクリーンショット 2026-03-08 7.42.09.png

キャパシティ予約の開始は、即時と将来日の設定が可能です。(将来日はターゲット型のみで有効)また、特定の日時を有効期限とすることもできます。

「インスタンスの適格性」で、「ターゲットに設定済み」を選択して作成します。

スクリーンショット 2026-03-08 7.45.08.png

EC2 インスタンスへの適用

ターゲット型 ODCR を EC2 インスタンスに適用するためには、一旦対象の EC2 インスタンスを停止する必要があります。

EC2 マネジメントコンソールからインスタンスを停止したら、当該 EC2 インスタンスの「インスタンスの設定」より「キャパシティーの予約の設定」に進み、先ほど作成した ODCR を選択し、適用します。

スクリーンショット 2026-03-08 8.11.52.png

ODCR が適用されているか確認する

EC2 マネジメントコンソールから、「キャパシティーの予約」にて先ほど作成した ODCR を選択して詳細を確認します。

スクリーンショット 2026-03-08 9.26.22.png

利用可能なインスタンス数が 0 で、使用されたインスタンス数が意図した数値であれば OK です。

適用されている EC2 インスタンス側の詳細も確認し、作成した ODCR の ID が設定されていることを確認しておきましょう。

スクリーンショット 2026-03-08 9.29.47.png

これで当該 EC2 インスタンスを停止したタイミングで他に条件を満たしそうな EC2 インスタンスが起動したとしても、そちらに ODCR が適用されることはなく、当該 EC2 インスタンスのみに有効な ODCR が設定できました。

ターゲット型の ODCR の適用手順は以上のとおりです。

ODCR の注意点

ODCR が空振っていると無駄な料金が発生する

スクリーンショット 2026-03-08 7.46.25.png

ODCR は、条件を満たす EC2 インスタンスに適用され、かつ当該 EC2 インスタンスが起動している間は料金がかかりません。しかし、当該 EC2 インスタンスが停止している間は、当該 EC2 インスタンスのオンデマンド料金と同額の料金が発生します。

要するに起動していても停止していても請求されるのは当該 EC2 インスタンス 1 台分の 24 時間のオンデマンド料金がかかると考えて OK です。

なお、ODCR の料金には Savings Plans が適用されるので、Savings Plans の条件を満たしていれば、当該 EC2 インスタンスにかかるオンデマンド料金にも ODCR の料金にも Savings Plans の割引が適用されるので安心です。

逆に注意が必要なのは、ODCR を設定したが、ODCR の対象となる EC2 インスタンスがない状態だと、ODCR の料金だけが延々と請求され続けることになることです。

ODCR が空振っていないか、必ず確認するようにしましょう。

ターゲット型の ODCR を設定したままインスタンスタイプ等の変更はできない

ターゲット型の ODCR を設定した状態の EC2 インスタンスを一旦停止し、インスタンスタイプを変更してみます。

スクリーンショット 2026-03-08 7.21.43.png

スクリーンショット 2026-03-08 7.23.46.png

インスタンスタイプの変更自体は可能ですが、この状態で起動しようとすると、以下画像のとおりエラーとなります。

スクリーンショット 2026-03-08 7.29.05.png

これは当該 EC2 インスタンスに設定されている ODCR のインスタンスタイプの条件と、起動しようとしているインスタンスタイプが異なることが原因です。

そのため、ターゲット型の ODCR を設定した EC2 インスタンスのインスタンスタイプなどの条件を変更したい場合は、当該 EC2 インスタンスの ODCR の設定を一旦なしかオープンに変更してから起動するようにしましょう。

なお、この間に元の ODCR をキャンセルしないと、変更したインスタンスタイプのオンデマンド料金に加えて、元の ODCR の料金もかかってしまいますので、十分に注意してください。

結びに…Gov-JAWS #6 のご案内

2026/03/17(火曜日)の 19 時から、Gov-JAWS #6 が開催されます。

今回触れたガバメントクラウドの長期継続割引についてのお話もあるので、興味のある方はぜひ参加をお願いします!

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?