Azure

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

2026-05-24
NicheeLab編集部

AKS の Node Pool は、同一構成の Worker Node をグループ化した単位で、1 つの AKS クラスタに複数 Node Pool を持つことで用途別の最適化が可能です。 Node Pool の設計が AKS の運用効率・コスト・パフォーマンスを大きく左右する重要トピック。 本記事では、System / User / Spot / GPU / Windows の各 Node Pool の使い分け・Cluster Autoscaler vs NAP・運用ベストプラクティスを網羅的に整理します。

System Node Pool と User Node Pool

項目System Node PoolUser Node Pool
用途kube-system 名前空間 Podアプリ Pod
TaintCriticalAddonsOnly=true:NoSchedule自由設定
必須あり (1 つ以上)任意 (複数可)
OSLinux のみLinux / Windows
Min Node 数 (本番)3 (AZ 冗長)用途による
推奨 VM サイズD2s_v5 / D4s_v5 以上D / E / N シリーズ

新規 AKS はSystem 1 つ (D4s_v5 × 3 ノード AZ 冗長) + User 複数の構成が標準です。

Spot Node Pool

Spot Node Pool は Azure Spot VM を Node として使用、コスト最大 90% 削減

設計上の注意

  • Spot Node は突然 Eviction される可能性
  • Pod の Tolerations で kubernetes.azure.com/scalesetpriority=spot:NoSchedule を許容
  • Pod に Node Selector または Node Affinity で kubernetes.azure.com/scalesetpriority=spot を指定して意図的にスケジュール
  • Eviction Policy を Delete (Deallocate でなく)
  • Max Price を Pay-as-you-go 価格まで OK にすると Eviction 頻度低下

適用シーン

  • バッチ処理 Pod (CronJob)
  • Stateless Worker
  • CI/CD パイプラインの一時 Pod
  • ML トレーニングジョブ

本番ステートフルワークロード (Database・Cache) には絶対使わない、ステートレスかつ Eviction 耐性のあるワークロードのみが対象。

Cluster Autoscaler vs Node Auto Provisioning (NAP)

項目Cluster AutoscalerNode Auto Provisioning (NAP, 2024 GA)
分類AKS 標準機能Karpenter ベース新機能
動作Pending Pod 検出 → Node 起動Pod 要件から最適 VM サイズ動的選択
スケール速度10 分程度1-2 分
Node Pool 管理事前定義必要不要 (動的)
コスト効率標準より最適化
推奨度既存運用新規・効率重視

新規 AKS では NAP 採用が主流になりつつありますが、NAP は新機能のため Cluster Autoscaler の知識も継続的に必要です。

GPU Node Pool

機械学習・グラフィック処理・LLM トレーニング向け Node Pool。Azure VM の N シリーズを使用。

推奨 VM シリーズ

  • NCv3: NVIDIA Tesla V100、ML トレーニング・推論
  • NDv4: NVIDIA A100 40GB、大規模 ML トレーニング
  • ND H100 v5: NVIDIA H100 80GB、最新世代 LLM トレーニング
  • NVadsA10 v5: NVIDIA A10、グラフィック・推論

構成手順

  1. NVIDIA Device Plugin をインストール (Azure の GPU Operator も活用可能)
  2. GPU 要件を持つ Pod の resources.limits に nvidia.com/gpu: 1 を指定
  3. Node Selector で GPU Node Pool に明示スケジュール
  4. Spot GPU Node Pool でコスト最適化 (ML トレーニング向け)

ND H100 v5 (H100 80GB GPU・最新世代) は月数百万-数千万円規模、Quota Request が必要なケースも多く、計画的な利用が必要です。

Windows Node Pool

AKS では Linux Node Pool に加えて Windows Node Pool も追加可能 (System Node Pool は必ず Linux)。

使用シーン

  • .NET Framework アプリのコンテナ化
  • MSI ベースのレガシーアプリ
  • Windows 認証 (Kerberos) 必要なアプリ

注意点

  • Windows Container イメージは Linux より大きい (数 GB)、Pull 時間が長い
  • Pod 起動時間も Linux より遅い
  • Node Pool 単位で Windows と Linux は分離 (混在不可)
  • Pod の Node Selector で kubernetes.io/os=windows を指定

レガシー Windows アプリのコンテナ化移行プロジェクトで価値が高い機能で、新規プロジェクトは Linux 中心でコンテナ化するのが標準的なベストプラクティスです。

本番標準 Node Pool 構成

Node PoolVM サイズMinMax用途
SystemD4s_v535kube-system Pod
User (Regular)D4s_v5310本番 Web/API
User (Spot)D4s_v5 Spot020バッチ Worker
GPUNCsv305ML 推論・トレーニング (必要時)
Memory OptimizedE16s_v505In-memory cache (必要時)

Taints と Tolerations の活用

Node Pool 単位でアプリ Pod のスケジューリングを制御する仕組み。

代表的な Taint パターン

  • CriticalAddonsOnly=true:NoSchedule: System Node Pool 専用 (kube-system のみ実行)
  • workload=batch:NoSchedule: バッチ Node Pool 専用
  • sku=gpu:NoSchedule: GPU Node Pool 専用
  • spot=true:PreferNoSchedule: Spot Node Pool 優先 (NoSchedule は強制、PreferNoSchedule は推奨)

Pod 側 Tolerations 例

tolerations:
  - key: "workload"
    operator: "Equal"
    value: "batch"
    effect: "NoSchedule"
nodeSelector:
  workload: batch

Node Pool アップグレード戦略

  1. Surge Upgrade: 新 Node を起動 → Pod を移動 → 旧 Node 削除、ゼロダウンタイム
  2. Pod Disruption Budget (PDB) 設定: 同時 Eviction 数を制限
  3. Node Pool 単位で交互アップグレード (Cluster 全体ダウンタイムなし)
  4. Auto-upgrade Channel: stable / rapid / patch / node-image で自動更新
  5. Production は stable Channel + Manual Approval 推奨
  6. 定期的な Node Image 更新 (セキュリティパッチ適用)

運用ベストプラクティス

  1. System Node Pool は AZ 冗長 + 最低 3 ノード
  2. User Node Pool は用途別に分離 (Regular・Spot・GPU・Memory)
  3. Cluster Autoscaler または NAP で動的スケール
  4. Pod に適切な resources.requests/limits を設定 (Autoscaler の正確な判断のため)
  5. Pod Disruption Budget 設定で安全な Eviction
  6. Reserved Instance 購入 (Regular Node Pool の定常負荷分)
  7. Spot で部分コスト削減 + Regular で安定性確保
  8. Microsoft Defender for Containers で Node セキュリティ監視
  9. Azure Monitor for Containers で Node メトリクス可視化
  10. 定期的な Node Pool レビュー (使われていない Pool 削除)

関連認定試験

よくある質問

AKS の Node Pool とは?

AKS の Node Pool は、同一構成の Worker Node (Linux/Windows VM) をグループ化した単位。1 つの AKS クラスタに複数 Node Pool を持ち、用途別 (System・User・GPU・Spot) に分離するのが定石。System Node Pool は必須で kube-system 名前空間の Pod (CoreDNS・konnectivity・metrics-server 等) を実行、User Node Pool でアプリ Pod を実行。Node Pool 単位で VM サイズ・OS・Auto Scaling 設定・Taint/Label を独立構成可能、Pod の Node Affinity / Tolerations で適切な Node Pool に配置を制御。エンタープライズ AKS では Node Pool の設計が運用効率・コスト・パフォーマンスを大きく左右する重要トピックです。

System Node Pool と User Node Pool の違いは?

System Node Pool: kube-system 名前空間の Pod (CoreDNS・konnectivity・metrics-server・azure-cni-pod など) を実行、AKS の管理機能を担う、Taint: CriticalAddonsOnly=true:NoSchedule (アプリ Pod を排除)、Min Node 数 1 (本番は 3 推奨で AZ 冗長)、VM サイズは Burstable 系 (B2s_v3) ではなく Standard 系 (D2s_v5 以上) 推奨。User Node Pool: アプリ Pod を実行、Taint 自由設定、複数作成可能 (Spot・GPU・Memory 最適化など用途別)、Cluster Autoscaler でスケール、Auto Provisioning (Karpenter 相当) もサポート開始。新規 AKS は System 1 つ (D4s_v5 × 3 ノード AZ 冗長) + User 複数の構成が標準です。

Spot Node Pool はどう使いますか?

Spot Node Pool は Azure Spot VM を Node として使用、コスト最大 90% 削減。設計上の注意: 1) Spot Node は突然 Eviction される可能性、Pod の Tolerations で『kubernetes.azure.com/scalesetpriority=spot:NoSchedule』を許容、2) Pod に Node Selector または Node Affinity で『kubernetes.azure.com/scalesetpriority=spot』を指定して Spot Node に意図的にスケジュール、3) Eviction Policy を Delete (Deallocate でなく)、4) Max Price をオプションで Pay-as-you-go 価格まで OK にすると Eviction 頻度低下。適用シーン: バッチ処理 Pod (CronJob)・Stateless Worker・CI/CD パイプラインの一時 Pod。本番ステートフルワークロード (Database・Cache) には絶対使わない、ステートレスかつ Eviction 耐性のあるワークロードのみが対象です。

Cluster Autoscaler と Karpenter の違いは?

Cluster Autoscaler (CA): AKS 標準の Node 自動スケール機能、Pending Pod (リソース不足で Schedule できない Pod) を検出 → 新 Node 起動 → Pod Schedule、Idle Node 検出 → Node 削除。Node Pool ごとに有効化、Min/Max Node 数を設定。10 分程度のスケール遅延あり。Node Auto Provisioning (NAP、Karpenter ベース、2024 GA): Pod の要件 (CPU/Memory/Affinity) から最適 VM サイズを動的選択して Node 作成、より高速 (1-2 分)・効率的・コスト最適化。複数 Node Pool 管理が不要に。AWS の Karpenter プロジェクトのコードベースを Microsoft が Azure 向けに最適化、新規 AKS では NAP 採用が主流になりつつあります。ただし NAP は新機能のため Cluster Autoscaler の知識も継続的に必要です。

GPU Node Pool の構成は?

GPU Node Pool は機械学習・グラフィック処理・暗号通貨マイニング (組織で許可される場合のみ) で使用。Azure VM の N シリーズ (NCv3・NDv4・ND H100 v5 等) を Node として構成。Microsoft 推奨パターン: 1) NVIDIA Device Plugin をインストール (Azure の GPU Operator も活用可能)、2) GPU 要件を持つ Pod の resources.limits に nvidia.com/gpu: 1 を指定、3) Node Selector で GPU Node Pool に明示スケジュール、4) Spot GPU Node Pool でコスト最適化 (機械学習トレーニング向け)。NDv5 (H100 80GB GPU・最新世代) は LLM トレーニング向け超高性能で、月数百万-数千万円の規模になる場合あり。Quota Request が必要なケースも多く、計画的な利用が必要です。

Windows Node Pool は使えますか?

AKS では Linux Node Pool に加えて Windows Node Pool も追加可能 (System Node Pool は必ず Linux)。Windows Server 2019 / 2022 ベースの Worker Node で、.NET Framework アプリ・MSI ベースのレガシーアプリをコンテナ化して実行。注意点: 1) Windows Container イメージは Linux より大きい (数 GB)、Pull 時間が長い、2) Pod 起動時間も Linux より遅い、3) Node Pool 単位で Windows と Linux は分離 (混在不可)、4) Pod の Node Selector で kubernetes.io/os=windows を指定。レガシー Windows アプリのコンテナ化移行プロジェクトで価値が高い機能で、新規プロジェクトは Linux 中心でコンテナ化するのが標準的なベストプラクティスです。

Node Pool 設計のベストプラクティスは?

本番 AKS の標準パターン: 1) System Node Pool 1 つ (D4s_v5 × 3 ノード・AZ 冗長・CriticalAddonsOnly Taint)、2) User Node Pool (Regular): D4s_v5 × 3 ノード Auto Scale Min 3-Max 10、本番 Web/API、3) User Node Pool (Spot): D4s_v5 Spot × Auto Scale Min 0-Max 20、バッチ Worker、4) GPU Node Pool (必要時): NCsv3 系・Auto Scale Min 0-Max 5、5) Memory Optimized Node Pool (必要時): E シリーズで In-memory cache。Node Pool 単位の Upgrade を交互実行で Cluster 全体のダウンタイムなしアップグレード。AZ 配置・Pod Disruption Budget 設定・Cluster Autoscaler / NAP 適用がコスト最適化と高可用の両立を実現します。

関連認定試験は?

AZ-104 (Administrator) のドメイン 3 で AKS 基礎、AZ-204 (Developer Associate、2026-07 リタイア注意) で開発者視点での AKS デプロイ、AZ-400 (DevOps Engineer Expert) で CI/CD パイプラインからの AKS デプロイ・GitOps (Argo CD / FluxCD)、AZ-305 (Solutions Architect Expert) でアーキテクチャ判断、SC-100 (Cybersecurity Architect Expert) で AKS セキュリティ。Microsoft 外: CKA (Certified Kubernetes Administrator)・CKAD (Application Developer)・CKS (Security) との二刀流が DevOps エンジニアにとって強い武器。Azure DevOps エンジニア キャリアロードマップで AKS は中核技術です。

関連記事・技術深掘り

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 Spot VM 詳細ガイド|Eviction Policy・Max Price・Placement Score・AKS Spot Node Pool【2026 年版】

Azure Spot VM の詳細ガイド。Eviction Policy (Deallocate / Delete) 選択・Max Price 戦略・Spot Placement Score・制約・AKS Spot Node Pool 構成・コスト効果・運用ベストプラクティス・関連認定試験 (AZ-104 / AZ-305 / AZ-400) を日本語で網羅。最大 90% コスト削減の実装パターン。

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 Managed Identity vs Service Principal 完全比較|認証パターンの選定と実装ベストプラクティス【2026 年版】

Azure の認証エンティティ Managed Identity と Service Principal を完全比較。System-assigned / User-assigned の使い分け、Client Secret vs Certificate vs Workload Identity Federation の選定、AKS Workload Identity、Azure サービス対応状況、関連認定試験 (SC-300 / AZ-204 / AZ-400) を日本語で網羅。実装パターン集付き。

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

この記事で学んだ内容を問題で確認しましょう

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.