リザーブドインスタンス、Savings Plans、Spot
安定したワークロードにはリザーブドインスタンスまたはSavings Plansを契約し、中断に耐えられるバッチ処理やステートレスなタスクにはSpot Instancesを使用します。
「リザーブドインスタンス、Savings Plans、Spot」はCoddyKit上の無料Cloud & IT Cert Prepレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCloud & IT Cert Prep学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。
EC2 の購入モデルの概要
AWS では、柔軟性とコスト削減のバランスが異なる、複数の EC2 購入モデルを提供しています。On-Demand はコミットメントなしで秒単位の料金が発生するモデルで、最も柔軟ですが、最も高額です。Reserved Instances は、1 年または 3 年のコミットメントにより最大 72% の削減を実現します。Savings Plans は、1 時間あたりの利用額を柔軟にコミットすることで、最大 66% の削減を実現します。Spot Instances は余剰キャパシティを利用することで最大 90% の削減が可能ですが、中断される場合があります。Dedicated Hosts は、ライセンス要件への準拠を目的として物理サーバーを提供しますが、コストは割高です。各モデルを理解することは、SAA-C03 のコストに関するシナリオ問題で非常に重要です。
# EC2 pricing models (m5.large in us-east-1, approximate):
# On-Demand: $0.096/hr ($70/month)
# 1yr RI (No Upf): $0.062/hr ($45/month) - 35% savings
# 1yr RI (All Upf): $0.051/hr ($37/month) - 47% savings
# 3yr RI (All Upf): $0.032/hr ($23/month) - 67% savings
# Spot: $0.030-0.050/hr - 50-70% savings
# Rule: RI/SP for steady state, Spot for burst/interruptibleReserved Instances:種類と支払いオプション
Reserved Instances(RI)は特定のインスタンスではなく、請求上の仕組みです。アカウント内の条件に一致する On-Demand インスタンスに適用される割引を提供します。RI には次の種類があります。Standard RI — 最大 72% と最も高い割引率ですが、インスタンスファミリーを変更できません。Convertible RI — 割引率は低く(約 54%)なりますが、別のインスタンスファミリー、OS、テナンシーに交換できます。支払いオプションには、No Upfront(月払いで、初期コミットメントが最小)、Partial Upfront(実効料金が低い)、All Upfront(実効時間単価が最も低い)があります。予測可能で変化のないワークロードには、Standard RI を選択してください。
# Purchase Reserved Instance
aws ec2 purchase-reserved-instances-offering \
--reserved-instances-offering-id offering-id-here \
--instance-count 5
# List RI offerings
aws ec2 describe-reserved-instances-offerings \
--instance-type m5.large \
--product-description 'Linux/UNIX' \
--offering-type 'No Upfront' \
--duration 31536000 \
--query 'ReservedInstancesOfferings[].{Price:RecurringCharges[0].Amount,Class:OfferingClass}'RI のスコープ:リージョナルとゾーナル
Reserved Instances には、柔軟性に影響する 2 種類のスコープがあります。リージョナルスコープでは、同じファミリー内でインスタンスサイズの柔軟性を利用できます。リージョナル m5 RI は、リージョン内の任意の AZ にある任意のサイズ(m5.small、m5.large など)を対象にできます。ただし、キャパシティは予約されません。ゾーナルスコープでは、特定の AZ のキャパシティ(キャパシティ予約)が確保されるため、需要が高い状況でもインスタンスを利用できますが、インスタンスサイズの柔軟性はありません。確実なキャパシティ(DR や厳格な SLA など)が必要でない限り、リージョナルスコープを使用してください。
# Regional RI: flexible across sizes in a family
# 1x m5 regional RI covers:
# - m5.large (1.0 units)
# - 2x m5.medium (0.5 units each)
# - 0.5x m5.xlarge (2.0 units)
# Zonal RI: specific AZ, reserves capacity
# 1x m5.large in us-east-1a:
# - Only covers m5.large in us-east-1a
# - Guarantees capacity is available
# Most use cases: prefer REGIONAL for flexibilitySavings Plans:RI より柔軟な選択肢
Savings Plansは、1 年または 3 年にわたって、1 時間あたりの最低利用額(ドル)をコミットする柔軟な料金モデルです。AWS は対象となる使用量に割引を自動的に適用します。種類は 2 つあります。Compute Savings Plans(最大 66% の削減) — ファミリー、リージョン、OS、テナンシーを問わず、EC2、Lambda、Fargate に適用できます。EC2 Instance Savings Plans(最大 72% の削減) — 特定のリージョンにおける特定のインスタンスファミリー内で適用され、柔軟性が低い代わりに、より高い割引率が得られます。柔軟性が高いため、新たにコミットメントを行う場合は、ほとんどのケースで RI より Savings Plans が推奨されます。
# Purchase Compute Savings Plan
aws savingsplans create-savings-plan \
--savings-plan-offering-id offering-id \
--commitment 10.00 \
--purchase-time '2026-07-01T00:00:00Z'
# $10/hr commitment covers:
# - EC2 instances (any family, region, OS)
# - Lambda invocations and duration
# - Fargate vCPU and memory
# Savings Plans apply AFTER Reserved Instances
# Check coverage in Cost Explorer > Savings PlansRIとSavings Plansの選び方
選択の指針となる主な違いは次のとおりです。RIは、キャパシティ予約(ゾーンRI)が必要な場合、インスタンスタイプを変更しない非常に予測しやすいワークロードの場合、または古いアカウントに既存のRIが多数ある場合に適しています。Savings Plansは、RIを交換しなくても新しいインスタンスタイプ(例:Graviton)に自動的に適用されるため、ほとんどの新しいコミットメントに適しています。AWSは、Compute RIの現代的な代替手段としてSavings Plansを推奨しています。RDS、ElastiCache、Redshiftでは、Reserved Instancesが引き続き利用される仕組みであり、これらのサービスにSavings Plansはありません。
# Savings Plans coverage analysis
aws ce get-savings-plans-coverage \
--time-period Start=2026-05-01,End=2026-06-01 \
--granularity MONTHLY
# Response shows:
# OnDemandCost: $5,000 (not covered)
# SpendCoveredBySavingsPlans: $10,000
# CoveragePercentage: 66%
# Recommendation:
# If coverage < 60%, consider purchasing more
# If coverage > 85%, you may be over-committedSpot Instances:中断を伴う大幅な割引
Spot Instancesは、余剰のAWS EC2キャパシティを使用し、需要と供給に基づいて動的に料金が決まります。通常、オンデマンド料金より60~90%安くなります。AWSはキャパシティが必要になると、2分前に警告したうえでSpot Instancesを回収できます。主な用途は、ビッグデータ処理(EMR)、CI/CDビルドエージェント、ELBを使用するステートレスなWebアプリケーション、機械学習のトレーニング(中断時にモデルのチェックポイントをS3へ保存)、および進捗をチェックポイントに保存できるバッチ処理ジョブです。2分間の終了警告に適切に対応できるよう、アプリケーションを設計してください。
# Check Spot instance interruption notice
# From inside EC2 instance via Instance Metadata Service
curl http://169.254.169.254/latest/meta-data/spot/termination-time
# Returns: 2026-06-21T15:00:00Z if interruption is coming
# Returns 404 if no interruption
# Handle in your application:
# 1. Poll this endpoint every 5 seconds
# 2. On 2-min notice: checkpoint work to S3
# 3. Terminate gracefully
# 4. AWS terminates the instance 2 minutes after noticeSpot Instanceの戦略と分散
Spotの可用性を最大化し、中断を最小限に抑えるには、分散を利用してください。複数のAZにまたがって、複数のインスタンスタイプをリクエストします。単一のSpotプール(特定のインスタンスタイプとAZの組み合わせ)は、同時に中断される可能性があります。多くのインスタンスタイプ(m5.large、m5a.large、m4.large、c5.large)を使用する混合インスタンスASGにすると、中断のリスクを大幅に下げられます。1つのプールが回収されると、ASGが別のタイプに置き換えます。capacity-optimized割り当て戦略を使用すると、最も余裕のあるプール(中断リスクが最も低いプール)が自動的に選択されます。
# ASG with diversified Spot pools
aws autoscaling create-auto-scaling-group \
--mixed-instances-policy '{
"LaunchTemplate": {
"LaunchTemplateSpecification": {
"LaunchTemplateId": "lt-12345",
"Version": "$Latest"
},
"Overrides": [
{"InstanceType": "m5.large"},
{"InstanceType": "m5a.large"},
{"InstanceType": "m4.large"},
{"InstanceType": "c5.large"},
{"InstanceType": "c5a.large"}
]
},
"InstancesDistribution": {
"SpotAllocationStrategy": "capacity-optimized",
"OnDemandPercentageAboveBaseCapacity": 0
}
}'バッチ処理とデータ処理でのSpot
バッチワークロードは中断後に再開できるため、Spotに適しています。AWS BatchはSpotキャパシティをネイティブに管理し、失敗したジョブを自動的に再試行しながら、最適なSpotプールを選択します。Amazon EMRでは、信頼性のためにオンデマンドのマスターノードを使用し、コスト削減のためにSpotのコアノードおよびタスクノードを組み合わせられます。EKSのManaged Node GroupsではSpotインスタンスを使用でき、Kubernetesのノードレベルの正常な終了処理によって2分間の警告に対応できます。これらのマネージドサービスが、Spotの中断処理に伴う複雑さを抽象化してくれます。
# EMR cluster with On-Demand master + Spot workers
aws emr create-cluster \
--instance-fleets \
InstanceFleetType=MASTER,TargetOnDemandCapacity=1,InstanceTypeConfigs=[{InstanceType=m5.xlarge}] \
InstanceFleetType=CORE,TargetSpotCapacity=10,InstanceTypeConfigs=[{InstanceType=m5.xlarge},{InstanceType=m5a.xlarge}],LaunchSpecifications={SpotSpecification={TimeoutAction=SWITCH_TO_ON_DEMAND,TimeoutDurationMinutes=10}}
# SWITCH_TO_ON_DEMAND: if Spot unavailable after 10 min,
# provision On-Demand instead (ensures job completes)購入モデルの組み合わせ
コストを最適化したアーキテクチャでは、3つすべての購入モデルを組み合わせます。Savings PlansまたはRIで、常時稼働するインスタンスの最小数である定常状態のベースラインをカバーし、オンデマンドで予測可能だが変動する超過キャパシティをカバーし、Spotで予測できないバーストトラフィックやバッチワークロードに対応します。ASGでは、オンデマンドのベースキャパシティを信頼性のために必要な最小インスタンス数(SP/RIでカバー)に設定し、スケーリングの増分にSpotを使用するよう構成します。このハイブリッド方式により、信頼性を維持しながら節約効果を最大化できます。
# Hybrid ASG: On-Demand base + Spot burst
# Savings Plan covers On-Demand baseline cost
aws autoscaling create-auto-scaling-group \
--mixed-instances-policy '{
"LaunchTemplate": { ... },
"InstancesDistribution": {
"OnDemandBaseCapacity": 4,
"OnDemandPercentageAboveBaseCapacity": 0,
"SpotAllocationStrategy": "capacity-optimized"
}
}' \
--min-size 4 --max-size 40 --desired-capacity 8
# 4 On-Demand instances (covered by Savings Plan)
# Additional instances = 100% Spot (cheapest burst)コミットメントの利用率の監視
RIまたはSavings Plansを購入したら、支払った分を確実に使用できているか確認するため、利用率を監視してください。Cost ExplorerのRI/SP利用率レポートには、コミットしたキャパシティのうち使用されている割合が表示されます。利用率が80%未満の場合、未使用のコミットメントに費用を支払っていることになります。ワークロードが終了またはサイズ変更されていないか調査してください。RIの場合は、AWS Marketplaceで未使用のRIを販売して、一部の費用を回収できます。Savings Plansには流通市場がないため、購入前にコミットメントに確信があることを確認してください。
# Check Savings Plans utilisation
aws ce get-savings-plans-utilization \
--time-period Start=2026-06-01,End=2026-06-21 \
--granularity DAILY \
--query 'SavingsPlansUtilizationsByTime[].{Date:TimePeriod.Start,Utilization:Utilization.UtilizationPercentage}'
# Also check: Cost Explorer > Savings Plans > Utilization report
# Target: >80% utilisation
# If <80%: you over-committed or workload shrankDedicated HostsとDedicated Instances
Dedicated Hostsは、アカウント専用の物理EC2サーバーを割り当てます。これにより、既存のコア単位またはソケット単位のソフトウェアライセンス(Windows Server、SQL Server、Oracle)を使用できます。Dedicated Hostsは大幅に高額になる可能性がありますが、特定のソフトウェアライセンス契約では必要です。Dedicated Instancesは、より簡易な方式です。インスタンスはアカウント専用のハードウェア上で実行されますが、特定のホストを制御することはできません。セキュリティ分離だけを目的にどちらかを使用することは推奨されません(代わりにVPC分離とSGを使用してください)。これらはライセンス準拠のための機能です。
# Allocate Dedicated Host for Oracle licensing
aws ec2 allocate-hosts \
--quantity 1 \
--instance-type m5.xlarge \
--availability-zone us-east-1a \
--auto-placement on \
--host-recovery on
# Dedicated Host pricing is per host per hour
# Dedicated Instances: $2/region/hr + instance price
# Use Dedicated Host when:
# - Oracle/SQL Server socket-based licensing
# - Windows Server with own license
# - Compliance requires physical server isolation理解度チェック
このレッスンで扱ったAWS Solutions Architect(SAA-C03)の概念について、理解度を確認します。
レッスンのまとめ
このレッスンでは、Savings PlansはReserved Instancesより柔軟性が高く、EC2、Lambda、Fargateに適用できること、Spot Instancesは中断に耐えられるワークロードで最大90%のコスト削減を実現できること、そしてベースラインにSavings Plans、バーストにSpotを組み合わせることで、最大限のコスト最適化を実現できることを学びました。支払った分を確実に使用できるよう、コミットメントの利用率を監視してください。次はCost Explorer、Budgets、コスト配分タグについて説明します。
よくある質問
「リザーブドインスタンス、Savings Plans、Spot」レッスンは無料ですか?
はい。「リザーブドインスタンス、Savings Plans、Spot」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cloud & IT Cert Prepコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。
「リザーブドインスタンス、Savings Plans、Spot」で何を学びますか?
安定したワークロードにはリザーブドインスタンスまたはSavings Plansを契約し、中断に耐えられるバッチ処理やステートレスなタスクにはSpot Instancesを使用します。 ブラウザで直接実行するハンズオンコードでCloud & IT Cert Prepを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cloud & IT Cert Prepを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCloud & IT Cert Prepは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「リザーブドインスタンス、Savings Plans、Spot」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCloud & IT Cert Prepレッスンでコードを書いて実行できますか?
はい。すべてのCloud & IT Cert Prepレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 適正サイズ化とCompute Optimizer
- リザーブドインスタンス、Savings Plans、Spot
- Cost Explorer、Budgets、コスト配分タグ
- S3とデータ転送のコスト最適化