LASSIC Media らしくメディア
Azure AKSのコスト最適化を外注で進める手順
LASSIC IT事業部|元請(プライムベンダー)としてシステム保守・運用を受託
この記事のポイント
- Azure AKSには、ノードプール停止・Cluster Autoscaler・スポットノードプールなど複数のコスト削減機能があり、組み合わせにより大幅なコスト低減が期待できます
- 各機能は設定が複雑でKubernetes・AKSの専門知識が必要なため、外注を活用することで設定ミスや稼働停止のリスクを下げられます
- 外注先の選定・要件整理から設定・運用監視まで、段階的に外注範囲を決める手順を解説します
目次
Azure AKSコスト最適化と外注の概要
Azure AKS(Azure Kubernetes Service)のコスト最適化を外注で進めるとは、Kubernetes(コンテナーオーケストレーション基盤)上で動くAKSクラスターのリソース管理・スケーリング設定・コスト可視化を、Azure・Kubernetesの専門知見を持つ外部パートナーに委託する取り組みです。
Microsoft Learn公式ドキュメント「AKS でのコスト最適化のベスト プラクティス」*1によると、AKS環境のコスト最適化はCluster Autoscalerによる自動スケール、ノードプールの停止・起動、スポットノードプールの活用、Microsoft Cost Managementによる可視化など、複数の機能を組み合わせて実現します。これら機能の設定・運用にはAzure CLIやKubernetes YAMLマニフェストの知識が必要です。
コスト削減に直結するAKSの主要機能
AKSのコスト最適化で外注パートナーに依頼する主な作業範囲は、次の4つの機能カテゴリです。それぞれのしくみと外注作業の要点を整理します。
ノードプールの開始・停止による非稼働時間のコスト削減
Microsoft Learn公式ドキュメント「AKS でノード プールを開始および停止する」*2によると、開発・テスト用ノードプールなど継続的な稼働が不要なプールは、az aks nodepool stopコマンドで停止し、az aks nodepool startで再開できます。停止中はコンピューティング課金が発生しません。
クラスター全体の停止が必要な場合は、Microsoft Learn「AKS クラスターの停止と起動」*3に記載のaz aks stopコマンドでコントロールプレーンを含む全リソースを停止します。再開時はaz aks startを実行します。停止中は状態が12か月まで保持されます。
注意すべき制限事項として、システムノードプールは停止できません。スポットノードプールも停止対象外です。また、ノードの自動プロビジョニング(NAP)機能を使用しているクラスターではノードプール停止が利用できません。
Cluster Autoscalerによる需要連動のスケールダウン
Cluster Autoscaler(クラスターオートスケーラー)は、AKSが提供するKubernetesの自動スケーリング機能です。リソース制約でスケジュールできないポッドを検知するとノード数を増やし、稼働ポッドがないノードを削減します*4。ピーク時と閑散時でノード数が自動調整されるため、常時フルノードを維持するよりもコストを抑えられます。
コスト最適化向けのプロファイル設定として、scale-down-unneeded-time(不要ノードと判断するまでの時間)やscale-down-utilization-threshold(スケールダウン対象とする使用率の上限)を調整することで、積極的なスケールダウン挙動を実現できます*4。ただし設定値が不適切だと、必要なタイミングでノードが起動できずサービス影響につながるリスクがあります。
スポットノードプールによる大幅な割引活用
Azureスポット仮想マシンを使ったスポットノードプールは、Azureの未使用容量を活用するため、従量課金制と比べて90%までの割引で利用できます*1。バッチ処理・開発/テスト環境・一時的な大量計算など、中断を許容できるワークロードへの適用が前提です。
スポットノードプールの追加コマンドは以下のとおりです*5。--priority Spotでスポット優先度を指定します。
az aks nodepool add \
--resource-group $RESOURCE_GROUP \
--cluster-name $AKS_CLUSTER \
--name spotnodepool \
--priority Spot \
--eviction-policy Delete \
--spot-max-price -1 \
--enable-cluster-autoscaler \
--min-count 1 \
--max-count 3
スポットノードはAzureが容量を必要とした際に強制排除されます。SLAは提供されません。本番サービスの常時稼働ポッドには適用できないため、ワークロードの特性確認が外注パートナーの重要な作業になります。
VMサイズ選定と高コスト構成の見直し
適切なVMサイズの選定もコスト削減の軸です。Microsoft Learn「AKS でのコスト最適化のベスト プラクティス」*1では、Arm64ベースのVMが同等のx86ベースVMより価格性能比で50%まで優れる場合があると記載されています。ワークロードの実際のCPU・メモリ使用量をモニタリングし、過剰プロビジョニングを排除するのが外注パートナーの役割です。
垂直ポッドオートスケーラー(VPA)を使うと、過去の実績値に基づいてコンテナーのCPU・メモリ要求値を自動調整します。実際の使用量よりも高い要求値が設定されていると、ノードのリソースが無駄に消費されます*1。
外注前に整理すべき要件と現状把握
外注をスムーズに進めるには、委託前に自社側の現状と要件を整理しておく必要があります。
Microsoft Cost ManagementとAzure Advisorで現状コストを可視化
まず現在のAKSコスト構造を把握します。Microsoft Cost Management*6のAKS Cost Analysisアドオンを使うと、Kubernetesコンストラクト(ノードプール・名前空間・ワークロード)ごとの詳細なコスト内訳を取得できます。Azure Advisorのコストに関する推奨事項*7も参照し、過剰なVMサイズや未使用リソースを特定します。
この可視化ステップは外注パートナーへのブリーフィング材料にもなるため、先行して実施することが望まれます。
停止・削減できるワークロードの特定
次に、各ノードプールの稼働パターンを整理します。開発・テスト用プールは夜間や週末に停止できるケースが多くあります。常時稼働が必要な本番プールと、停止しても影響がないプールを分類し、外注パートナーへの作業指示書に反映します。
スポットノードプールの適用可否も検討します。バッチ処理や非同期ジョブなど中断を許容できるワークロードが存在するかを確認します。
内製で対応可能な範囲の確認
AKS操作にはAzure CLI・kubectl・Kubernetes YAMLマニフェスト・IAM設定の知識が必要です。社内に対応できるエンジニアがいない場合、設定作業だけでなくテスト確認・ドキュメント整備も外注範囲に含めることを検討します。
外注先の選定基準:AKS実績・スキルセット・契約形態
外注先の選定では、Azure・AKSの実務経験、Kubernetesの設定スキル、契約の柔軟性を評価します。
| 評価軸 | 確認ポイント | 注意点 |
|---|---|---|
| Azure・AKS実績 | AKSクラスター設計・運用の支援実績件数。 Microsoft認定パートナー(Azure Expert MSP等)の保有状況。 |
実績の詳細(業種・規模・作業内容)をヒアリングし、自社と近いケースがあるか確認する。 |
| Kubernetesスキル | CKA(Certified Kubernetes Administrator)等の認定保有者がいるか。 Cluster Autoscaler・VPA・HPAの設定経験。 |
認定保有だけでなく実運用での障害対応経験も確認する。 |
| コスト管理スキル | Azure Cost Management・Azure Advisorを用いたコスト分析の経験。 FinOps(クラウドコスト最適化の方法論)の実践経験。 |
コスト削減目標の数値を設定し、達成状況をレポートできる体制か確認する。 |
| 契約形態 | 準委任(スキル提供型)か、成果物納品型か。 月次の定期レポートや保守対応の範囲。 |
コスト最適化は継続的な作業のため、単発契約より継続的な保守契約が望ましいケースが多い。 |
外注範囲の切り出しが難しい場合は、まず「現状分析・コスト可視化レポート作成」の単発業務から始め、次ステップの設定作業に移行する段階的な委託も有効です。
外注で進めるAKSコスト最適化の実施手順
実際に外注でコスト最適化を進める場合の手順を整理します。外注パートナーへの依頼内容と自社の確認事項をセットで示します。
手順1:コスト可視化と分析(外注依頼範囲:調査・分析)
外注パートナーにAzure Cost ManagementのAKS Cost Analysisアドオン設定と、ノードプール・名前空間別のコスト内訳レポートを依頼します。Azure Advisorの推奨事項も確認し、過剰なVMサイズや未使用リソースをリストアップします。
この段階で自社側が確認すべき事項は、各ノードプールの用途(本番・開発・バッチ等)と稼働時間帯の整理です。停止可能な時間帯の情報がなければ外注パートナーも設計できません。
手順2:スケーリング設定とノードプール停止スケジュール(外注依頼範囲:設計・実装)
外注パートナーに以下の設定作業を依頼します。
- Cluster Autoscalerの有効化:
--enable-cluster-autoscalerオプションによるオートスケール設定と、コスト最適化プロファイルの適用*4 - 開発用ノードプールの停止スケジュール:
az aks nodepool stopとaz aks nodepool startを使ったスクリプト作成と、Azure Automationや他のスケジューラーとの連携 - スポットノードプールの追加:中断許容ワークロード向けに
--priority Spotを指定したノードプールを追加し、toleration・nodeAffinityをYAMLマニフェストに反映 - VPA(垂直ポッドオートスケーラー)の設定:CPU・メモリ要求値の自動調整によるオーバープロビジョニング排除
設定変更は非本番環境で検証してから本番環境へ適用するよう、外注パートナーとの作業手順書に明記します。設定ミスにより本番クラスターのノードが停止した場合、サービス停止に直結するリスクがあります。
手順3:動作検証とフォールバック手順の確認(外注依頼範囲:テスト・ドキュメント化)
設定後の動作確認では、ノードプール停止・再開の所要時間と正常起動の確認、Cluster Autoscalerのスケールアップ・スケールダウン動作ログの確認、スポットノードの排除イベント発生時のポッド再スケジュール確認を実施します。
フォールバック手順(設定を元に戻す手順)もドキュメント化し、自社エンジニアが緊急時に対処できる状態にします。
手順4:継続的な監視とレポート(外注依頼範囲:月次保守)
コスト最適化は一回の設定で完結しません。ワークロードの増減・新機能追加・Azureの価格改定に合わせて定期的に見直しが必要です。外注パートナーに月次のAzure Cost Managementレポート提出と、Azure Advisorの推奨事項への対応を依頼します。
内製リスクと外注メリットの比較
AKSコスト最適化を内製で進める場合に必要なスキルと外注した場合の違いを整理します。
| 観点 | 内製の場合 | 外注の場合 |
|---|---|---|
| 必要スキル | Azure CLI・kubectl・Kubernetes YAMLマニフェスト・IAM設定・Azure Cost Management分析・FinOpsの知識が必要。 Cluster AutoscalerのプロファイルチューニングにはKubernetes内部知識も求められる。 |
自社側の確認作業は、ワークロードの稼働要件定義と承認のみ。 技術的な実装・テストは外注パートナーが担当。 |
| 工数の目安 | 初期設定だけでAzure・Kubernetes経験者2名×2〜4週間程度の工数が発生する。 継続的な監視・調整も月次で数日単位の工数が必要。 |
自社側の工数は要件確認・レビューのみ。 継続保守も定期レポートの確認程度に抑えられる。 |
| 設定ミスのリスク | Cluster Autoscalerの設定ミスや誤ったノードプール停止は、本番ポッドが起動できない障害につながる。 障害復旧に追加工数と時間が発生する。 |
実績ある外注パートナーであれば、変更前の非本番検証・フォールバック手順を標準的に実施する。 ただし要件定義が曖昧だと外注先でも対処できない。 |
| 継続的なコスト改善 | 担当者異動や工数不足で対応が途切れるリスクがある。 Azureの新機能(AKS Automatic・NAP等)への追従も自社で対応が必要。 |
月次保守契約があれば継続的な改善が期待できる。 Azureの新機能情報も外注パートナーから提供される。 |
内製とリスクのトレードオフを踏まえると、AKS・Kubernetesの専門スキルを持つ社内エンジニアがいない場合や、継続的なモニタリング工数を確保できない場合は、外注によるリスク低減が有効です。
まとめ:外注で進めるAKSコスト最適化の3つの判断軸
本稿では、Azure AKSのコスト最適化を外注で進める手順と要点を整理しました。要点を3点に集約します。
第一に、AKSのコスト最適化手段はノードプール停止・Cluster Autoscaler・スポットノードプール・VMサイズ適正化と複数あり、それぞれにAzure・Kubernetes固有の設定知識が必要です。設定ミスは本番サービス停止に直結するリスクがあるため、実績ある外注パートナーの活用が設定ミスのリスクを下げます。
第二に、外注前に自社側でコスト可視化(Azure Cost Management・Azure Advisor活用)とワークロードの稼働要件整理を実施しておくことが、外注依頼の精度を上げます。現状コストが把握できていない状態では外注パートナーも適切な設計ができません。
第三に、外注先の選定はAKS実績・Kubernetesスキル・継続保守体制の3軸で評価します。一度の設定で完結するものではなく、ワークロード変化やAzure新機能への追従が継続的に必要なため、月次保守を含む契約形態を検討することが望まれます。
よくある質問
AKSのノードプールを停止するとデータは消えますか?
ノードプールを停止してもKubernetesオブジェクト(DeploymentやConfigMap等)の状態はetcdに保持されます。ただしMicrosoft Learn公式ドキュメント*3によると、クラスター全体を停止した場合、Deployment・StatefulSet・DaemonSet等で管理されていないスタンドアロンポッドは削除されます。再開後のクラスターは以前のコントロールプレーン状態とエージェントノード数で起動します。また、停止状態は12か月まで保持されます。
スポットノードプールは本番環境で使えますか?
スポットノードプールはAzureが容量を必要とした際に強制排除されるため、SLAが提供されません*5。常時稼働が必要な本番サービスのポッドには適用できません。バッチ処理・開発/テスト環境・非同期ジョブなど、中断を許容できるワークロードに限定して適用することが望まれます。本番環境でコストを抑えたい場合は、Azure予約(1年・3年コミットメントで72%までの割引)またはAzure節約プランの活用を検討します*1。
Cluster Autoscalerと垂直ポッドオートスケーラー(VPA)は併用できますか?
ノードレベルのCluster AutoscalerとポッドレベルのVPAは、対象が異なるため基本的に併用できます。ただし、VPAとHPA(水平ポッドオートスケーラー)を同一のCPU・メモリメトリックに対して同時使用すると、両オートスケーラーが競合して意図しない動作になるリスクがあります*1。CPU・メモリにVPAを使い、カスタムメトリックにHPAを使うなど、スケーリング対象の分離が推奨されます。設定の組み合わせが複雑なため、外注パートナーへの依頼時に各オートスケーラーの役割を明記します。
外注パートナーにAzureのアクセス権限を渡す際の注意点は何ですか?
Azure RBAC(ロールベースのアクセス制御)を使い、外注パートナーには作業に必要な最小限のロール(AKS Contributor等)のみを付与します。本番環境へのアクセスは変更作業時のみ一時的に許可し、作業完了後に権限を削除する運用も有効です。アクセス権の付与・管理は自社側で行い、外注パートナーに管理者権限を常時渡さないことが望まれます。
AKS Automaticを使えばコスト最適化は外注不要になりますか?
AKS Automaticはノードの自動プロビジョニング(NAP)・VPA・HPA・KEDAを既定で有効にし、コスト最適化設定の多くを自動化するクラスターモードです*1。ただし、どのワークロードをどのノードプールに配置するかの設計、停止スケジュールの設定、Azure Cost Managementを用いたコスト分析・改善サイクルは引き続き人手による判断が必要です。AKS Automaticの導入自体をスムーズに進めるためにも、Kubernetes・Azure設計の知見を持つ外注パートナーの支援は有効です。
著者:テレリモ総研編集部 鈴木 亮佑
ご不明な点はお問い合わせフォームからもご連絡いただけます。
- *1 出典:Microsoft「Azure Kubernetes Service (AKS) でのコスト最適化のベスト プラクティス」(2026年5月更新)
- *2 出典:Microsoft「Azure Kubernetes Service (AKS) でノード プールを開始および停止する」(2023年4月更新)
- *3 出典:Microsoft「Azure Kubernetes Service (AKS) クラスターの停止と起動」(2026年3月更新)
- *4 出典:Microsoft「Azure Kubernetes Service (AKS) でのクラスターの自動スケーリングの概要」(2024年1月更新)
- *5 出典:Microsoft「Azure Kubernetes Service (AKS) クラスターに Azure スポット ノード プールを追加する」(2025年4月更新)
- *6 出典:Microsoft「Microsoft Cost Management とは」
- *7 出典:Microsoft「Azure Advisor での Azure Kubernetes Service (AKS) のコストに関する推奨事項の取得」