AI Infrastructure & Deployment

スポットインスタンス

Spot Instances

スポットインスタンスは、AWS、Azure、GCPが提供する割引価格のクラウドコンピューティングリソースで、バッチ処理、分析、機械学習トレーニングなどの耐障害性ワークロードに最適です。

スポットインスタンス クラウドコンピューティング AWS Azure GCP
作成日: 2025年12月19日

スポットインスタンスとは?

スポットインスタンスは、クラウドコンピューティングにおける購入モデルで、ユーザーは余剰キャパシティにアクセスし、オンデマンド価格と比較して最大90%の割引を受けることができます。主要なクラウドプロバイダーは、それぞれ異なる機能と価格メカニズムを持つスポットインスタンスプログラムを提供しています。

Amazon Web Services (AWS) スポットインスタンス: ユーザーは最大価格を指定し、市場価格がこの閾値を下回る場合にインスタンスを受け取ります。キャパシティが必要になった場合、または価格が最大入札額を超えた場合、2分前の通知でスポットインスタンスは回収されます。

Microsoft Azure スポット仮想マシン (VM): ユーザーは最大価格を設定し、市場価格がこの制限を超えるとVMは削除されます。Azureは30秒前の削除通知を提供します。

Google Cloud スポットVM: 同様の割引を提供し、固定的かつ大幅な節約が可能です。価格は最大1ヶ月間安定しています。Googleは30秒前のプリエンプション通知を提供します。

スポットインスタンスは、柔軟で耐障害性のあるアプリケーションに最適です。プロバイダーは短時間の通知でこれらのインスタンスを回収できるため、中断への耐性が重要な要件となります。

スポットインスタンスの仕組み

価格メカニズム

動的な需給主導型: 各インスタンスタイプとリージョンのスポット価格は、リアルタイム入札ではなく、需給の長期的なトレンドに基づいて変動します。

最大価格: ユーザーは支払い意思のある最大価格を設定できます。現在のスポット価格がこれを下回る限り、インスタンスは実行されます。

リアルタイム入札なし(現代のモデル): 初期のシステムではライブ入札が行われていましたが、現在ほとんどのプロバイダーは簡素化のために最大価格設定モデルを使用しています。

課金粒度: AWS、Azure、GCPは、1分間の最小値の後、秒単位で課金します。

例: AWSでは、m5.largeオンデマンドインスタンスのコストは$0.096/時間ですが、スポット価格は$0.019/時間まで低くなる可能性があります(80%以上の節約)。

可用性と中断

キャパシティプール: 各スポットインスタンスは、インスタンスタイプとアベイラビリティゾーンで定義されたプールから提供されます。

中断ポリシー: プロバイダーは、キャパシティが必要な場合、またはスポット価格が最大入札額を超えた場合、短時間の通知(AWSでは2分、AzureとGCPでは30秒)でインスタンスを終了または割り当て解除する場合があります。

中断通知:

  • AWS: 2分前の警告
  • Azure: 30秒前の通知
  • GCP: 30秒前の通知

リバランシング: AWSは「リバランス推奨」を提供し、スポットインスタンスが中断リスクが高まっていることを早期に警告します。

重要なポイント: アプリケーションは中断を処理できるように設計する必要があります。ステートレス性、チェックポイント、自動復旧が不可欠です。

比較:スポット vs オンデマンド vs リザーブド

機能スポットインスタンスオンデマンドインスタンスリザーブドインスタンス
価格変動、最大90%割引固定、最高価格割引(最大72%)、固定
可用性余剰キャパシティがある場合のみ常に利用可能予約期間中は保証
中断中断される可能性あり(2分または30秒前通知)ユーザーが終了時期を決定期間中は中断されない
コミットメントコミットメントなしコミットメントなし1年または3年必要
ユースケース柔軟、耐障害性、非クリティカルすべてのワークロード、特にクリティカル予測可能、定常状態
SLASLAなし標準SLA標準SLA
課金秒単位(最初の1分後)秒単位秒単位

クラウドプロバイダー間の比較

機能AWSスポットGCPスポットVMAzureスポット VM
価格モデル変動、需給主導型固定割引(最大91%オフ)変動、需給主導型
使用時間制限固定制限なし最大24時間固定制限なし
中断通知2分30秒30秒
課金秒単位(1分後)秒単位秒単位
SLASLAなしSLAなしSLAなし
統合ツールSpot Fleet、ASG、KubernetesMIG、GKEVM Scale Sets、AKS
最適なユースケースバッチ、CI/CD、ML、HPC、ステートレスバッチ、分析、開発/テストバッチ、ステートレスアプリ、CI/CD
独自機能スポットブロック(固定期間中断)継続使用割引削除ポリシーのカスタマイズ

コアコンセプト

スポットキャパシティプール

同じアベイラビリティゾーン内の同じインスタンスタイプの未使用仮想マシンのグループ。各プールは独立して動作し、キャパシティ/価格はプール間で異なる場合があります。

スポットインスタンスリクエスト

ユーザーが開始するスポットインスタンスの割り当てリクエスト:

  • ワンタイム: キャパシティが利用可能な場合に一度だけプロビジョニング
  • 永続的: 中断された場合に自動的に再送信(最終的に完了する必要があるジョブに有用)

リバランス推奨(AWS)

AWSは、スポットインスタンスが終了リスクが高まっている場合、標準の中断通知の前にリバランス推奨を発行し、ワークロードを事前に移行またはチェックポイントできるようにします。

ユースケースと例

理想的なユースケース

バッチ処理: データ分析、ビデオトランスコーディング、レンダリング、ETLジョブ
例: 研究者が気候データのモンテカルロシミュレーションを実行し、コンピューティングコストを80%以上節約。

ビッグデータ分析: Hadoop/Sparkクラスター、大規模なログ/データ分析
例: メディア企業がAWS EMRでスポットインスタンスを使用して、毎晩ペタバイト規模のログを処理。

CI/CDパイプライン: 短期間のビルドおよびテスト環境
例: SaaSプロバイダーがJenkinsビルドエージェントとしてスポットインスタンスを使用し、コスト効率の高い並列CIを実現。

機械学習トレーニング: ディープラーニング、ハイパーパラメータチューニング、GPUでのチェックポイント付きトレーニング
例: チームがスポットGPUインスタンスでニューラルネットワークをトレーニングし、中断復旧のための自動保存を使用。

コンテナとマイクロサービス: KubernetesまたはDocker Swarmによってオーケストレーションされるステートレスサービス

開発/テスト環境: 中断が許容される非本番ワークロード

ハイパフォーマンスコンピューティング(HPC): ゲノムシーケンシング、金融モデリング、科学シミュレーション

非理想的なユースケース

ミッションクリティカルなアプリケーション: 高可用性と最小限のダウンタイムが最優先される場合

耐性のないステートフルアプリ: 状態をチェックポイントできない、または突然の終了から回復できないアプリ

リスクと軽減戦略

主要なリスク

中断リスク: インスタンスは最短30秒前の通知で終了される可能性があります

キャパシティの変動性: スポットキャパシティは予測不可能に消失する可能性があります

価格変動: スポット価格は、特に人気のあるインスタンスタイプで急騰する可能性があります

SLAなし: プロバイダーは稼働時間や可用性を保証しません

軽減戦略

自動化:

  • オーケストレーションシステム(Kubernetes、AWS Auto Scaling)を使用して、中断されたワークロードを再スケジュールおよび置換
  • 耐性のためにスポットをオンデマンドおよびリザーブドインスタンスと組み合わせる
  • ライフサイクルとフォールバックを管理する自動化プラットフォームを採用

アプリケーション設計:

  • サービスをステートレスとして設計し、外部ストレージを活用
  • 中断後にジョブを再開するためのチェックポイントを実装
  • ノード障害に耐えるために疎結合を使用

プロアクティブな監視:

  • AWS Spot Instance Advisorなどのツールを使用して、リージョン/タイプ別の中断率を監視
  • リバランス推奨に基づいて早期にワークロードを移行

多様化:

  • 「群れ」中断を避けるために、インスタンスタイプとリージョンの組み合わせを使用
  • 突然の削除リスクを減らすために適切な最大入札額を設定

ベストプラクティス

1. 非クリティカルなワークロードから開始
クリティカルなワークロードを移行する前に、中断処理戦略を検証します。

2. 多様化
信頼性を高めるために、複数のインスタンスタイプとアベイラビリティゾーンを使用します。

3. 自動化
AWS Spot Fleet、Auto Scaling Groups、またはKubernetesオートスケーラーを採用します。

4. トレンドを監視
AWS Spot Price HistoryとSpot Instance Advisorを使用します。

5. 最大価格を設定
入札額をオンデマンド価格以下に制限します。

6. 中断を計画
高速復旧とデータ損失ゼロのために設計します。

7. サードパーティツールを活用
最適化と自動化のためにCast AIまたはCloudZeroを試します。

8. タグを使用
チーム/プロジェクト別に使用状況と節約を追跡します。

9. 定期的にレビュー
使用状況レポートに基づいて組み合わせと戦略を更新します。

課金と価格

スポット価格: プロバイダーが設定し、市場の需要と供給に応じて変動

課金粒度: 最初の1分後、秒単位(AWS、Azure、GCP)

終了課金: 一般的に、AWSが中断した場合、最後の部分時間は課金されません。ユーザーが終了した場合、使用した秒数分が課金されます。

節約の追跡: プロバイダーダッシュボード、AWS Spot Fleet節約レポート、またはサードパーティツールを使用

Savings Plansとの重複なし: スポット使用はAWS Savings Plansのコミットメントには貢献しません

シナリオ例

シミュレーションを実行する研究チーム

大学の研究グループは、気候モデリングのために数千のモンテカルロシミュレーションを実行する必要があります。Kubernetesによってオーケストレーションされたスポットインスタンスを使用することで、オンデマンド価格と比較してコンピューティングコストを85%削減しました。チェックポイントは中断前に永続ストレージに保存されるため、ジョブは損失なく再開されます。

よくある質問

Q: 本番ワークロードにスポットインスタンスを使用できますか?
A: はい、アプリケーションが中断に対して耐性がある場合は可能です。多くの組織は、クリティカルなワークロードのためにスポットをオンデマンドまたはリザーブドインスタンスと組み合わせています。

Q: スポットインスタンスでどれくらい節約できますか?
A: 通常、リージョン、タイプ、需要に応じて、オンデマンドと比較して70〜90%節約できます。

Q: スポットインスタンスが中断されるとどうなりますか?
A: 短い中断通知(AWSでは2分、Azure/GCPでは30秒)を受け取ります。その後、インスタンスは終了、停止、または休止状態になります。

Q: スポットインスタンスをリクエストするにはどうすればよいですか?
A: クラウドプロバイダーのコンソール、CLI、またはAPIを使用します。必要に応じてインスタンスタイプ、最大価格、期間を指定します。

Q: スポットインスタンスはKubernetesで使用できますか?
A: はい、Kubernetesなどのコンテナオーケストレーターは、スポットインスタンスが中断されたときにポッドを再スケジュールできます。

Q: スポットインスタンスにSLAはありますか?
A: いいえ。プロバイダーはスポットインスタンスの稼働時間や可用性を保証しません。

参考文献

関連用語

AWS

Amazon Web Services(AWS) - 世界中でスケーラブルなインフラストラクチャ、アプリケーションサービス、エンタープライズソリューションを提供する包括的なクラウドコンピューティングプ...

マルチテナンシー

マルチテナンシーは、単一のアプリケーションインスタンスが複数のテナントにサービスを提供するソフトウェアアーキテクチャです。インフラストラクチャを共有しながら、データを論理的に分離します。SaaSやクラ...

Alibaba

Alibabaは、オンラインマーケットプレイスとデジタルサービスを運営する中国のテクノロジー企業で、相互接続されたプラットフォームを通じて、企業と消費者が世界中で製品を購入、販売、決済することを支援し...

SaaS(Software as a Service)

インターネット経由でサブスクリプション形式で提供されるソフトウェアで、インストールやメンテナンスが不要です。ユーザーは任意のデバイスからいつでも最新バージョンにアクセスできます。...

×
お問い合わせ Contact