はじめに
2026 年 2 月 26 日、AWS は Amazon ECS Managed Instances と Amazon EC2 Capacity Reservations の統合を発表しました。
この統合により、ECS Managed Instances のキャパシティプロバイダーで予約済みキャパシティを活用できるようになっています。
本機能は全 AWS リージョンで即時利用可能です。
本記事では、新機能の詳細、従来との違い、実際の使い方、コストや制限事項についてまとめています。
新機能の概要
今回の統合により、ECS Managed Instances のキャパシティプロバイダーに capacityOptionType=reserved が追加されました。
これまで選択できた spot / on-demand に加え、事前に確保した予約済みキャパシティを ECS から直接利用できるようになっています。
設定時には Capacity Reservation Group と合わせて、以下の 3 つの予約戦略から用途に応じたものを選択します。
| 戦略 | 挙動 |
|---|---|
reservations-only |
予約済み容量のみを使用 |
reservations-first |
予約済み容量を優先して使用し、不足時はオンデマンドにフォールバック |
reservations-excluded |
予約済み容量を使用しないよう明示的に除外 |
本機能を利用するには事前に EC2 Capacity Reservation Group を作成しておく必要があります。
何が変わったのか
従来の課題
主な課題としては以下の 2 つがありました。
- 購入オプションの制限
- Capacity Reservations 活用時の運用オーバーヘッド
購入オプションの制限
ECS Managed Instances で選択できる購入オプションは Spot と On-Demand のみでした。
Spot はコスト効率に優れる一方、中断リスクがあるため、月末バッチ処理や決済処理など需要のピークが予測できるワークロード・中断を許容できないミッションクリティカルな処理には適用が難しい状況でした。
Capacity Reservations 活用時の運用オーバーヘッド
Capacity Reservations を活用してキャパシティを事前確保したい場合、EC2 側での手動管理が必要でした。
ECS Managed Instances のフルマネージドの恩恵を受けながら予約済みキャパシティを活用する手段がなく、運用上のオーバーヘッドが生じていました。
新機能による変化
新機能により、従来の課題がすべて解決されました。
購入オプションとして Reserved が追加
キャパシティプロバイダーに capacityOptionType=reserved が追加され、予約済みキャパシティを ECS から直接指定できるようになりました。
Spot・On-Demand・Reserved の 3 つの選択肢が揃ったことで、ワークロードの特性に応じた使い分けが可能になっています。
ECS による自動管理
キャパシティの確保から管理まで ECS に委ねられるようになりました。
従来必要だった EC2 側での手動設定が不要になり、インフラ管理の手間を増やすことなく予約済みキャパシティを活用できます。
使い方
新機能の使い方を 事前準備はAWS CLIで、ECS側の設定はコンソールで紹介します。
Capacity Reservation Group の作成
本機能を利用するには、事前に EC2 Capacity Reservation Group を作成しておく必要があります。
リソースグループの作成
次のコマンドを実行して、キャパシティ予約のリソースグループを作成する。
aws resource-groups create-group \
--name MyCRGroup \
--configuration \
'{"Type": "AWS::EC2::CapacityReservationPool"}' \
'{"Type": "AWS::ResourceGroups::Generic", "Parameters": [{"Name": "allowed-resource-types", "Values": ["AWS::EC2::CapacityReservation"]}]}'
キャパシティ予約をグループに追加
次のコマンドを実行して、キャパシティ予約をグループに追加する。
aws resource-groups group-resources \
--group MyCRGroup \
--resource-arns \
arn:aws:ec2:<region>:<account-id>:capacity-reservation/<capacity-reservation-id> \
arn:aws:ec2:<region>:<account-id>:capacity-reservation/<capacity-reservation-id>
キャパシティプロバイダーの作成
- ECS コンソールから対象のクラスターを開く
- 「キャパシティプロバイダー」タブから「作成」を選択する
- 「プロビジョニングモデル」に「リザーブドキャパシティ」を選択する
- 事前に作成した Capacity Reservation Group を指定する
- 「予約の設定」から用途に応じた戦略を選択する
動作確認のポイント
設定後は選択した予約戦略に応じた挙動を確認します。
reservations-first を指定した場合、予約済みキャパシティが優先して使用され、容量が不足した際にオンデマンドへのフォールバックが発生していることをコンソールまたは CloudWatch メトリクスで確認できます。
コストと制限事項
新機能を利用する前に知っておくべきコストと制限事項について説明します。
料金体系
本機能の利用自体に追加料金は発生しませんが、Capacity Reservations の利用に伴い EC2 の費用が発生します。
Capacity Reservations はインスタンスの起動有無に関わらず、確保した容量に対してオンデマンド料金が課金される点に注意が必要です。
実際のコストはインスタンスタイプや予約台数によって大きく異なるため、AWS 料金ページで事前に確認することをお勧めします。
コスト最適化のポイント
- まずは非本番環境で実際のキャパシティ消費量を測定する
- コストと可用性のバランスを取りたい場合は
reservations-firstを選択し、予約の使い残しリスクを抑える - 本番環境と非本番環境で戦略を使い分ける(例:本番は
reservations-first、開発はreservations-excluded)
制限事項
機能面の制限
- Capacity Reservation Group の事前作成が必要なため、ECS の設定前に EC2 側での準備が必要
-
reservations-onlyは予約容量が不足した際にタスクが起動できないリスクがある
運用上の注意点
- 予約戦略は作成後に変更可能だが、意図しないオンデマンド起動や予約の未使用が発生しないよう変更時は十分な確認が必要
-
reservations-excludedを指定すると、既存の Capacity Reservations が意図せず使用されることを防げる
まとめ
今回の統合により、ECS Managed Instances のキャパシティプロバイダーから予約済みキャパシティを直接活用できるようになりました。
インフラ管理の手間を増やすことなく、ミッションクリティカルなワークロードの可用性をより確実に担保できる点が最大のメリットです。
月末バッチ処理や決済処理など需要のピークが予測できるワークロードを ECS Managed Instances で運用しているチームは、まずは非本番環境で reservations-first を試してみることをお勧めします。
参考リンク
Amazon ECS Managed Instances now integrates with Amazon EC2 Capacity Reservations - AWS
Create a Capacity Reservation group - Amazon Elastic Compute Cloud