Azure

Azure Spot VM 詳細ガイド|Eviction Policy・Max Price・Placement Score・AKS Spot Node Pool

2026-05-24
NicheeLab編集部
目次
  1. Spot VM の基本
  2. Eviction Policy の選択
  3. Max Price 設定の戦略
  4. Spot Placement Score
  5. Spot VM の制約
  6. AKS Spot Node Pool
  7. VMSS Flexible での Spot Priority Mix
  8. コスト効果の実例
  9. Graceful Shutdown 実装
  10. 運用ベストプラクティス
  11. 関連認定試験
  12. よくある質問

Spot VM は Azure の余剰キャパシティを最大 90% 割引で利用できる特殊な VM です。 30 秒前通知の Eviction (停止) リスクがあるためステートフルワークロードには不向きですが、適切な設計でバッチ処理・AKS Spot Node Pool・Dev/Test 環境のコストを劇的に削減できます。 本記事では、Eviction Policy・Max Price・Placement Score・AKS 統合・コスト効果を網羅的に整理します。

Spot VM の基本

  • Azure の余剰キャパシティを最大 90% 割引で利用
  • Microsoft が他顧客のために必要時に 30 秒前通知で停止 (Eviction)
  • Eviction Policy (Deallocate / Delete) で停止後の動作制御
  • Max Price で許容価格を指定
  • Spot 単独で SLA なし (可用性保証なし)

代表的なユースケース

  • バッチ処理 (Genomics 解析・動画レンダリング・ML トレーニング)
  • Dev / Test 環境
  • Stateless Web Tier の一時スケールアウト
  • AKS Spot Node Pool
  • Azure Batch のワーカーノード
  • HPC ジョブ

Eviction Policy の選択

Policy動作用途
Deallocate停止のみ・Disk と Network 設定は保持・後で再起動可能Web Tier スケールアウト・再起動継続
DeleteVM 自体が削除・完全停止コストゼロ・再起動不可バッチ処理・AKS Spot Node Pool

判断: バッチ処理で『中断したら別 VM で最初からやり直し』なら Delete、Web Tier スケールアウトで『再起動して継続したい』なら Deallocate。 AKS Spot Node Pool では Delete が標準。

Max Price 設定の戦略

設定動作推奨度
-1 (Capacity Only)Spot Price 無視・Capacity 不足時のみ Eviction★ Microsoft 推奨
Pay-as-you-go Price通常 VM と同じ価格を上限価格高騰時のみ Eviction
具体的な価格 (例: 0.05 USD/h)低価格設定で Eviction 頻発非推奨

-1 (Capacity Only) が標準。コスト爆発リスクなし (Spot Price は Pay-as-you-go を超えない) + Eviction 頻度最小。 Max Price を低く設定すると Eviction 頻発で実用性低下するため避けるべき。

Spot Placement Score

2023 GA、Spot VM を作成する前に Region / VM Size 別の Spot 可用性を確認できる API / Portal 機能。

  • Score は 1-10 のスケール、10 が最も Spot 可用性高 (Eviction されにくい)、1 は低
  • Microsoft が機械学習で予測する Score を提供

代表的な活用パターン

  • バッチジョブ実行前に Score 確認 → 高 Score Region を選定
  • AKS Spot Node Pool の Region 選定
  • コスト最適化レポートで Score 推移トラッキング
  • Score 低下時に別 VM Size / Region への自動切り替え (Logic App / Functions で自動化)

Spot VM の制約

  1. VM サイズ制限: 一部 SKU のみ Spot 対応 (B シリーズ・H シリーズ Burstable など非対応)
  2. Region 制限 (一部 Region で Spot 提供なし)
  3. Reserved Instance / Savings Plan 適用不可 (既に大幅割引)
  4. VM Snapshot 不可 (Delete Policy の場合)
  5. Spot 単独で SLA なし
  6. Eviction 通知は30 秒前 (短時間で Graceful Shutdown 必要)
  7. Quota 別 (通常 vCPU Quota と Spot vCPU Quota は別管理、申請必要)
  8. Confidential VM の Spot は限定対応
  9. Azure Backup の Spot VM Backup は推奨されない
  10. Auto-shutdown 機能との同時利用不可

AKS Spot Node Pool

Spot VM を AKS Node として活用する標準パターン。

構成手順

  1. AKS Node Pool 追加 → Mode: User → Priority: Spot を指定
  2. Eviction Policy: Delete を選択 (AKS 推奨)
  3. Max Price: -1 (Capacity Only) を設定
  4. Min/Max Node 数を設定 (Cluster Autoscaler 連携)
  5. Taint: kubernetes.azure.com/scalesetpriority=spot:NoSchedule を Default で付与
  6. Pod の Tolerations で同じ Key を許可した Pod のみ Spot Node にスケジュール

動作

  • AKS が Eviction を自動検出 → 別 Spot Node に Pod 再配置
  • または通常 Node Pool に Failover

バッチ Workload・CI/CD Pipeline・開発 Pod に最適、本番 Web は通常 Node Pool + 余剰負荷を Spot で吸収するハイブリッド構成が標準。

VMSS Flexible での Spot Priority Mix

VMSS Flexible mode の Spot Priority Mix で、1 つの VMSS 内に Spot VM と通常 (Regular) VM を混在可能。

  • 通常 30% + Spot 70%: コスト最適化バランス型
  • 通常 0% + Spot 100%: バッチ処理 (停止時ジョブ再実行)
  • 通常 50% + Spot 50%: 高可用 + コスト削減

Spot VM が Eviction された際に自動的に通常 VM で補充される動作。

コスト効果の実例

東日本リージョン、Standard_D4s_v5 (4 vCPU・16 GB RAM・Pay-as-you-go 月額 約 4 万円) 想定:

時間帯Spot 月額割引率Eviction リスク
余剰多い時間帯約 0.4 万円90%低
通常時間帯約 1 万円75%中
需要高い時間帯約 2 万円50%高

GPU 系 (ML トレーニング)

  • NCsv3 シリーズ・NDv4 では割引率さらに大きく
  • Pay-as-you-go 月 200 万円 → Spot で月 40 万円 (80% 削減) も実現可能

コスト削減効果が劇的だが、Eviction による処理中断・再実行コストも考慮必須。 『Total Cost (Spot コスト + Eviction による再実行コスト)』で評価。

Graceful Shutdown 実装

Eviction 通知 (30 秒前) を受けて適切に処理を完了させる Graceful Shutdown 実装。

Azure Metadata Service での Eviction 検知

# Eviction 通知 Polling (Linux)
while true; do
  EVICTION_NOTICE=$(curl -s -H Metadata:true \
    "http://169.254.169.254/metadata/scheduledevents?api-version=2020-07-01")
  if echo "$EVICTION_NOTICE" | grep -q "Preempt"; then
    echo "Eviction detected, gracefully shutting down..."
    # ジョブ完了処理・State 保存・Pod Drain など
    break
  fi
  sleep 5
done

AKS では kubelet が自動的に Eviction を検知して Pod を Graceful Shutdown するため、アプリは標準的な SIGTERM ハンドリングのみで OK。

運用ベストプラクティス

  1. Max Price は -1 (Capacity Only)
  2. Eviction Policy は用途別 (Web スケール → Deallocate・バッチ → Delete)
  3. Spot Placement Score で Region 選定
  4. Stateless + Idempotent ワークロードに特化
  5. 本番ステートフルには絶対使わない
  6. VMSS Flexible で Spot + Regular 混在 (HA + コスト両立)
  7. AKS Spot Node Pool でバッチ Pod 専用
  8. Graceful Shutdown 実装で Eviction 時のデータ損失防止
  9. Azure Monitor で Eviction イベント追跡
  10. Total Cost (Spot + 再実行) で月次レビュー

関連認定試験

よくある質問

Spot VM とは?

Spot VM は Azure の余剰キャパシティを最大 90% 割引で利用できる特殊な VM。Microsoft が他顧客のために必要になったタイミングで 30 秒前の通知で停止 (Eviction) される可能性があり、ステートフルワークロード・本番ミッションクリティカルには不向き。代表的なユースケース: 1) バッチ処理 (Genomics 解析・動画レンダリング・ML トレーニング)、2) Dev / Test 環境、3) Stateless Web Tier の一時スケールアウト、4) AKS Spot Node Pool でコスト最適化、5) Azure Batch のワーカーノード、6) HPC ジョブ。Eviction Policy (Deallocate / Delete) と Max Price でリスクとコスト管理。コスト削減効果が劇的 (Pay-as-you-go の 1/10 価格も実現可能) で、適切な設計で本番でも活用可能です。

Eviction Policy の選択は?

2 つの Eviction Policy: Deallocate (停止のみ・Disk と Network 設定は保持・後で再起動可能・標準推奨): Eviction 時に VM が Deallocated 状態に、Public IP / Disk / NIC 設定はそのまま、後でキャパシティが空いたら再起動可能。停止中の Compute コストはゼロだが Disk と Public IP は課金継続。Delete (完全削除・コスト最小・再起動不可): Eviction 時に VM 自体が削除される、Disk / NIC / Public IP は別途設定により残るか削除される、完全に停止コストゼロにしたい場合。判断: バッチ処理で『中断したら別 VM で最初からやり直し』なら Delete、Web Tier スケールアウトで『再起動して継続したい』なら Deallocate。AKS Spot Node Pool では Delete が標準 (Pod の状態は Kubernetes が管理するため VM 自体は不要)。本番運用ではユースケースに応じた選定が重要です。

Max Price 設定の戦略は?

Spot VM の Max Price (最大価格) はユーザーが許容する最高価格を指定する仕組み。動作: 1) Spot Price (現在の Spot 市場価格、Azure の余剰キャパシティに応じて変動) が Max Price を超えたら Eviction、2) Max Price 未満なら継続稼働。設定オプション: 1) -1 (Capacity Only、Spot Price は気にせず Capacity 不足時のみ Eviction、最も安定)、2) Pay-as-you-go Price (例: 0.10 USD/h、通常 VM と同じ価格を上限に設定、価格高騰時のみ Eviction)、3) 具体的な価格 (0.05 USD/h など、価格に応じた Eviction)。Microsoft 推奨は -1 (Capacity Only)、コスト爆発リスクなし (Spot Price は Pay-as-you-go を超えない) + Eviction 頻度最小。本番運用では -1 が標準、Max Price を低く設定すると Eviction 頻発で実用性低下するため避けるべきです。

Spot Placement Score とは?

Spot Placement Score (2023 GA) は、Spot VM を作成する前に Region / VM Size 別の Spot 可用性を確認できる API / Portal 機能。Score は 1-10 のスケール、10 が最も Spot 可用性高 (Eviction されにくい)、1 は低 (Eviction されやすい / VM 作成失敗の可能性)。代表的な活用パターン: 1) バッチジョブ実行前に Score 確認 → 高 Score Region を選定、2) AKS Spot Node Pool の Region 選定、3) コスト最適化レポートで Score 推移トラッキング、4) Score 低下時に別 VM Size / Region への自動切り替え (Logic App / Functions で自動化)。Multi-region 戦略の実装で『東日本 Score 3 → 西日本 Score 8 なら西日本にデプロイ』のような動的判断が可能。Microsoft が機械学習で予測する Score を提供、本番 Spot 運用での重要な意思決定支援機能です。

Spot VM の制約は?

重要な制約: 1) VM サイズ制限 (一部 SKU のみ Spot 対応、B シリーズ・H シリーズ Burstable など非対応)、2) Region 制限 (一部 Region で Spot 提供なし)、3) Reserved Instance / Savings Plan 適用不可 (既に大幅割引)、4) VM Snapshot 不可 (Eviction Policy が Delete の場合)、5) Spot 単独で SLA なし (Microsoft の余剰提供のため可用性保証なし)、6) Eviction 通知は 30 秒前 (短時間で Graceful Shutdown 必要)、7) Quota 別 (通常 vCPU Quota と Spot vCPU Quota は別管理、申請必要)、8) Confidential VM の Spot は限定対応、9) Azure Backup の Spot VM Backup は推奨されない、10) Auto-shutdown 機能との同時利用不可。本番運用では制約を踏まえてアーキテクチャ設計、Stateless + Idempotent ワークロードに特化することが成功の鍵です。

AKS Spot Node Pool の構成は?

AKS Spot Node Pool は Spot VM を Node として活用する標準パターン。構成手順: 1) AKS Node Pool 追加 → Mode: User → Priority: Spot を指定、2) Eviction Policy: Delete を選択 (AKS 推奨)、3) Max Price: -1 (Capacity Only) を設定、4) Min/Max Node 数を設定 (Cluster Autoscaler 連携)、5) Taint: kubernetes.azure.com/scalesetpriority=spot:NoSchedule を Default で付与、6) Pod の Tolerations で同じ Key を許可した Pod のみ Spot Node にスケジュール。AKS が Eviction を自動検出 → 別 Spot Node に Pod 再配置、または通常 Node Pool に Failover。バッチ Workload・CI/CD Pipeline・開発 Pod に最適、本番 Web は通常 Node Pool + 余剰負荷を Spot で吸収するハイブリッド構成が標準です。

コスト効果はどれくらいですか?

Spot VM の割引率は VM サイズ・Region・需要によって変動。代表例 (東日本リージョン、Standard_D4s_v5・4 vCPU・16 GB RAM・Pay-as-you-go 月額 約 4 万円 想定): 1) 余剰多い時間帯: 約 0.4 万円 (90% 割引)、2) 通常時間帯: 約 1 万円 (75% 割引)、3) 需要高い時間帯: 約 2 万円 (50% 割引)、Eviction 頻発の可能性も。GPU 系 (NCsv3 シリーズ・NDv4) では割引率さらに大きく、ML トレーニングで Pay-as-you-go 月 200 万円 → Spot で月 40 万円 (80% 削減) も実現可能。コスト削減効果が劇的だが、Eviction による処理中断・再実行コストも考慮必須。本番運用では『Total Cost (Spot コスト + Eviction による再実行コスト)』で評価、適切に設計すれば Pay-as-you-go の 1/5-1/10 コストが実現可能です。

関連認定試験は?

AZ-104 (Administrator) のドメイン 3 (Compute 20-25%) で Spot VM の基礎概念、AZ-305 (Solutions Architect Expert) でアーキテクト視点でのコスト最適化設計、AZ-204 (Developer Associate) で開発者視点での Spot 活用 (バッチ処理)、AZ-400 (DevOps Engineer Expert) で CI/CD パイプラインでの Spot 活用、AKS の Node Pool 設定で深く問われる。Microsoft 外: CKA (Kubernetes Administrator) で Spot Node Pool の Pod スケジューリング。Azure コスト最適化の重要技術で、FinOps エンジニア・SRE にとって必須スキルです。

関連記事・技術深掘り

AKS Node Pool 戦略|System/User/Spot/GPU/Windows の使い分けとコスト最適化【2026 年版】

Azure Kubernetes Service (AKS) の Node Pool 設計戦略を完全解説。System / User / Spot / GPU / Windows Node Pool の使い分け、Cluster Autoscaler vs Node Auto Provisioning (NAP/Karpenter)、Pod の Affinity / Tolerations、コスト最適化、関連認定試験 (AZ-104 / AZ-400 / CKA) を日本語で網羅。

Azure Kubernetes Service (AKS) 入門ガイド|アーキテクチャ・Networking・Ingress・セキュリティ完全解説【2026 年版】

Azure Kubernetes Service (AKS) の入門ガイド。Control Plane と Node Pool の構造、Azure CNI Overlay vs Kubenet の選定、Application Gateway / NGINX Ingress 選定、Workload Identity (新方式)、Private Cluster・Microsoft Defender for Containers・Azure Policy のセキュリティ、関連認定試験 (AZ-104 / AZ-204 / AZ-400 / CKA) を日本語で網羅。

Azure DevOps エンジニア キャリアロードマップ|AZ-104 → AZ-400 → SC-100 シニア DevOps への道【2026 年版】

Azure DevOps Engineer になるための認定取得ロードマップ完全版。AZ-900 → AZ-104 → AZ-400 の王道ルート、GitHub と Azure DevOps の両方を扱う AZ-400 の構成、Kubernetes 認定 (CKA / CKAD / CKS) との二刀流、IaC (Bicep / Terraform) 戦略、年収レンジまで日本語で網羅。

Azure VMSS 完全ガイド|Uniform/Flexible・Auto Scale・Rolling Upgrade・Spot 混在【2026 年版】

Azure Virtual Machine Scale Sets (VMSS) の完全ガイド。Uniform vs Flexible Orchestration mode の使い分け、Auto Scale (Metric/Schedule/Custom)、Custom Image と Azure Compute Gallery、Rolling Upgrade Policy、Spot + Regular 混在パターン、関連認定試験 (AZ-104 / AZ-305 / AZ-400) を日本語で網羅。

本記事の技術情報は Azure Spot Virtual Machines Documentation に基づいています。 本記事は Microsoft Corporation の公式商品ではなく、いかなる提携・後援関係もありません。 Microsoft、Azure は Microsoft group of companies の商標です。 情報は 2026 年 5 月 24 日時点の公式公開資料に基づきます。最新情報は必ず公式ページをご確認ください。

この記事の内容を、基礎から読む

Azure の管理 (AZ-104) の出題範囲を体系的に扱う教科書があります。全 16 章・図 67 枚、登録なしで全部読めます。

教科書の目次をすべて見る →
この記事で学んだ内容を問題で確認しましょう

16,000問以上の問題で実力チェック

Azure 試験対策ページを見る
この記事の著者

NicheeLab編集部

データエンジニアリング・クラウド資格の専門家。Databricks・Snowflake等の認定資格を保有し、実務経験に基づいた問題作成・解説を行っています。NicheeLab運営。


関連記事
Azure

AZ-900 完全ガイド|Microsoft Azure Fundamentals 出題範囲・学習リソース・合格戦略

Microsoft Azure Fundamentals (AZ-900) の 2026 年 1 月 14 日改訂版に対...

Azure

Azure 認定資格ロードマップ 2026 完全版|全 26 試験の体系と大型再編 (AI-901/AI-103/SC-500)

Microsoft Azure 認定資格 全 26 試験 (現行 23 + 退役 3) の 2026 年版ロードマップ。...

Azure

AI-901 完全ガイド|Azure AI Fundamentals 新試験

Microsoft Certified: Azure AI Fundamentals (AI-901) の出題範囲・Mi...

Azure

Microsoft Entra ID 入門|旧 Azure AD から学ぶ ID 管理 (AZ-900/SC-900/AZ-104 必須知識)

Microsoft Entra ID (旧 Azure Active Directory) の入門解説。2023 年 7...

Azure

DP-900 完全ガイド|Azure Data Fundamentals 出題範囲・学習リソース・合格戦略

Microsoft Azure Data Fundamentals (DP-900) の完全ガイド。4 ドメインの出題範...

Azureの記事一覧 (103件)
© 2026 NicheeLab All rights reserved.