Azure Kubernetes Service(AKS)Core Concepts更新の要点:変更点と管理者が確認すべき設定

Azure Kubernetes Service(AKS)の「Core Concepts」は、AKSを使う前提知識を整理しただけの記事ではありません。今回確認すべき要点は、Azure Linux 2.0ノードのサポート終了、ノードプールとOS SKUの見直し、VMサイズを未指定にした場合の挙動、Automatic/Standardモードの選び方です。特にAzure Linux 2.0を使っている環境では、2026年3月31日以降にノードイメージが削除され、ノードプールをスケールできなくなる影響があるため、管理者は早めに棚卸しと移行計画を進める必要があります。(Microsoft Learn)

この記事では、Azure Kubernetes Serviceの「Azure Kubernetes Service (AKS) Core Concepts – Azure Kubernetes Service」で押さえるべき変更点を、管理者・開発者・インフラ担当者の視点で整理します。単なる用語解説ではなく、既存クラスターの確認方法、移行時の注意点、展開設計で失敗しやすいポイントまで実務向けにまとめます。

目次

Azure Kubernetes ServiceのCore Conceptsでまず押さえるべき結論

Azure Kubernetes Service(AKS)のCore Conceptsは、AKSクラスターを「何で構成するか」「どこまでAzureが管理するか」「利用者がどこを設計・運用するか」を整理する公式ドキュメントです。AKSクラスターは、Azureが管理するコントロールプレーンと、アプリケーションを実行するノードで構成されます。ノードはAzure VMとして動作し、kubelet、kube-proxy、container runtimeなどのKubernetesノードコンポーネントを実行します。(Microsoft Learn)

今回の実務上のポイントは、次の3つです。

確認ポイント実務への影響優先度
Azure Linux 2.0ノードの有無サポート終了、セキュリティ更新停止、スケール不可につながる
ノードプールのOS SKUとKubernetesバージョンAzure Linux 3.0やUbuntu 24.04への移行計画に関係する
VMサイズ・ノードプール・クラスターSKUの指定IaCや本番展開で構成差分・コスト差分が出やすい
kube-systemやノードリソースグループの扱いAKS管理領域を誤って変更すると障害調査が難しくなる
Automatic/Standardモード、Free/Standard/Premium価格レベル運用責任、SLA、LTS利用可否に影響する

Core Conceptsの更新を「初心者向けの用語整理」と見なして放置すると、OS移行、スケール、ノードプール設計、SLA設計で後から手戻りが発生します。特に本番AKSでは、ノードプール単位でOS SKU、Kubernetesバージョン、VMサイズ、システム用・アプリ用の分離状況を確認することが重要です。

何が変わるのか:重要なのはAzure Linux 2.0とノード構成

今回もっとも注意すべき内容は、Azure Linux 2.0の扱いです。Microsoft Learnでは、2025年11月30日からAKSがAzure Linux 2.0のサポートおよびセキュリティ更新を提供しなくなり、2026年3月31日以降はノードイメージが削除され、該当ノードプールをスケールできなくなると案内されています。移行先としては、サポートされるKubernetesバージョンへのノードプールアップグレード、またはosSku AzureLinux3への移行が示されています。(Microsoft Learn)

これは「新規作成時の推奨が変わった」だけではありません。既存クラスターでAzure Linux 2.0を使い続けている場合、次のような運用リスクがあります。

リスク起こり得る事象影響を受ける場面
セキュリティ更新が止まる既知脆弱性への対応が遅れる本番ワークロード、監査対象環境
ノードイメージが削除されるノードプールのスケールアウトや復旧ができない障害復旧、オートスケール、繁忙期対応
Kubernetesアップグレードが詰まるOS SKUとKubernetesバージョンの組み合わせが制約になるLTS利用、定期アップグレード
IaCの再適用で差分が出る未指定項目が現在の既定値で解釈されるTerraform、Bicep、ARMテンプレート

管理者が最初に行うべきことは、全AKSクラスターのノードプールを棚卸しし、osSku、Kubernetesバージョン、VMサイズ、ノードイメージバージョンを確認することです。

az aks nodepool list \
  --resource-group <resource-group-name> \
  --cluster-name <cluster-name> \
  --query "[].{name:name,mode:mode,osType:osType,osSku:osSku,kubernetesVersion:orchestratorVersion,vmSize:vmSize,nodeImageVersion:nodeImageVersion,count:count}" \
  --output table

この確認でAzureLinuxかつ古いKubernetesバージョンのノードプールが見つかった場合は、単にノードイメージを更新するだけでなく、KubernetesバージョンアップとOS SKU移行のどちらを先に進めるかを検討してください。

管理者が確認すべき設定:ノードプール、OS SKU、VMサイズ

AKSのノードは、同じ構成のノードをまとめたノードプールとして管理されます。初期作成時には、CoreDNSやkonnectivity-agentなど重要なシステムPodをホストするシステムノードプールが作成され、アプリケーション用にはユーザーノードプールを追加して分離できます。(Microsoft Learn)

本番環境では、システムノードプールとアプリケーション用ノードプールを混在させない設計が基本です。たとえば、バッチ処理やGPUワークロードをシステムノードプールに同居させると、CoreDNSなどの基盤Podに影響が出たとき、アプリ障害なのかクラスター基盤の問題なのか切り分けに時間がかかります。

VMサイズを未指定にしているIaCは見直す

Core Conceptsでは、2025年5月以降、デプロイ時にVM SKUやサイズのパラメーターを空白のままにした場合、AKSが利用可能な容量とクォータに基づいて既定のVM SKUとサイズを動的に選択すると説明されています。(Microsoft Learn)

これは検証環境では便利ですが、本番環境のIaCでは注意が必要です。VMサイズが明示されていないと、リージョン、クォータ、作成タイミングによって想定と異なるVMサイズが選ばれる可能性があります。結果として、CPU・メモリ、エフェメラルOSディスク可否、コスト、Pod配置数の前提が変わることがあります。

本番環境では、少なくとも次の項目を明示することを推奨します。

項目明示すべき理由
vmSize性能、単価、Pod密度、ディスク構成を固定するため
osSkuAzure Linux 3.0、Ubuntu、Windowsなど移行方針を明確にするため
orchestratorVersionKubernetesアップグレード計画を管理するため
modeシステムノードプールとユーザーノードプールを区別するため
nodeCountまたはオートスケール設定最小・最大ノード数とコストを管理するため

「Azureに任せる」設定と「自社で固定する」設定を混同しないことが、AKS運用の安定性を左右します。

Azure Linux 3.0へ移行する場合の注意点

Azure Linux 3.0へ移行する方法は、大きく2つあります。既定のOS SKUを使ってKubernetesバージョンアップに合わせて移行する方法と、AzureLinux3のようなバージョン指定OS SKUへ手動で移行する方法です。Microsoft Learnでは、AzureLinux3はKubernetes 1.28から1.36でサポートされ、Azure Linux 2.0からAzure Linux 3.0へ移行するためにも利用できると説明されています。(Microsoft Learn)

既存ノードプールのOS SKUは、Linuxノードプールであればaz aks nodepool updateを使って更新できます。ただし、対象OSが現在のKubernetesバージョン、VMサイズ、FIPS設定などに対応していない場合は失敗する可能性があります。(Microsoft Learn)

az aks nodepool update \
  --resource-group <resource-group-name> \
  --cluster-name <cluster-name> \
  --name <nodepool-name> \
  --os-sku AzureLinux3 \
  --kubernetes-version <supported-kubernetes-version>

移行前には、次の順で確認すると失敗を減らせます。

| 手順 | 確認内容 | 判断基準 |
| -: | —————— | ———————————- |
| 1 | 現在のKubernetesバージョン | AzureLinux3のサポート範囲内か |
| 2 | 現在のOS SKUとノードイメージ | Azure Linux 2.0依存がないか |
| 3 | ワークロードの互換性 | DaemonSet、CSI、CNI、監視エージェントが新OSで動くか |
| 4 | ノードプールの冗長性 | ローリング更新中も必要Pod数を維持できるか |
| 5 | 失敗時の戻し方 | 別ノードプールへの退避、スケール調整、メンテナンス時間を決めているか |

注意したいのは、OS移行を「ノードだけの作業」と捉えないことです。実際には、コンテナランタイム、ネットワークプラグイン、CSIドライバー、監視エージェント、セキュリティエージェントがノードOSに依存することがあります。検証環境で同じDaemonSetや拡張機能を使い、Podの再スケジュール、ログ収集、メトリック収集まで確認してください。

Kubernetesバージョンアップ時の確認ポイント

AKSのアップグレードでは、コントロールプレーン、全クラスター、ノードプール単位のアップグレードを使い分けます。Microsoft Learnでは、コントロールプレーンのみ、フルクラスター、ノードプールのみの3種類のアップグレードが整理されており、コントロールプレーンを先に上げることでKubernetes API互換性を確認しやすくなると説明されています。(Microsoft Learn)

また、サポートされるAKSクラスターをアップグレードする場合、Kubernetesのマイナーバージョンを飛ばすことはできません。たとえば1.28から1.30へ直接上げるのではなく、1.28から1.29、1.29から1.30のように順番に進める必要があります。(Microsoft Learn)

アップグレード前には、利用可能なバージョンを確認します。

az aks get-upgrades \
  --resource-group <resource-group-name> \
  --name <cluster-name> \
  --output table

実務では、次のように段階的に進めると安全です。

フェーズ作業目的
事前確認az aks get-upgradesで候補バージョンを確認サポートされる移行先を把握する
API確認deprecated APIを検出マニフェストの互換性問題を先に直す
検証非本番クラスターで同じ手順を実行ノード更新、Pod再配置、監視を確認する
コントロールプレーン更新APIサーバー側を先に更新API互換性を確認する
ノードプール更新システム、ユーザーの順に計画的に更新ワークロード影響を抑える
事後確認Pod、Ingress、ログ、メトリックを確認表面上の成功だけで終わらせない

AKSのサポート対象Kubernetesバージョンは定期的に変わります。Microsoft Learnでは、Kubernetesコミュニティのマイナーバージョンリリースはおおよそ4か月ごとで、AKSはGAのKubernetesバージョンに対して12か月のサポートポリシーを採用していると説明されています。(Microsoft Learn)

開発者が押さえるべきCore Concepts:Pod、Namespace、kube-system

開発者にとって重要なのは、AKSがマネージドサービスであっても、Kubernetesの基本概念は変わらないという点です。Podは、同じネットワークとストレージリソースを共有する1つ以上のコンテナーのグループです。通常は1Podに1コンテナーで設計しますが、サイドカーなど複数コンテナーを1Podに入れる構成もあります。(Microsoft Learn)

Namespaceは、PodやDeploymentなどのKubernetesリソースを論理的に分け、表示・管理・アクセス制御をしやすくする仕組みです。AKSではdefaultkube-node-leasekube-publickube-systemなどが既定で作成されます。kube-systemはCoreDNS、konnectivity-agent、metrics-serverなどクラスター管理用リソースに使われるため、独自アプリケーションをここへデプロイすることは推奨されていません。(Microsoft Learn)

よくある失敗は、検証時にdefault名前空間へアプリを置き続け、本番でもそのまま使ってしまうことです。チーム、環境、アプリケーション単位でNamespaceを切ると、RBAC、NetworkPolicy、ResourceQuota、監視ダッシュボードを整理しやすくなります。

悪い例問題改善例
すべてdefaultへデプロイ権限、ログ、障害範囲が曖昧になるapp-prodapp-stgなどに分ける
kube-systemへ独自アプリを配置AKS管理コンポーネントと競合しやすいアプリ用Namespaceを作る
Namespaceだけ作り、ResourceQuotaを設定しない特定アプリがCPU・メモリを使い切るNamespace単位でQuotaとLimitRangeを設定
環境名とアプリ名が混在運用時に対象を誤りやすい命名規則を先に決める

開発者は、マニフェストを書く段階でNamespace、requests/limits、ヘルスチェック、PodDisruptionBudgetをセットで考えると、ノードプール更新やOS移行時の影響を抑えやすくなります。

AutomaticとStandardはどう選ぶべきか

AKSでは、AutomaticモードとStandardモードを選択できます。Core Conceptsでは、AKS Automaticはノード、スケーリング、セキュリティ、事前構成済み設定などをよりマネージドに扱えるモードであり、AKS Standardはノードプールやスケーリングなどクラスター構成をより細かく制御できるモードと説明されています。(Microsoft Learn)

AKS Automaticは、Azureがクラスター設定、ノード管理、スケーリング、セキュリティ、Well-Architected推奨に沿った事前構成を担う体験として案内されています。Automaticクラスターは、ワークロード要件に基づいてコンピューティングリソースを動的に割り当てるため、Kubernetes運用に慣れていないチームや、標準的な本番アプリを素早く展開したいケースに向いています。(Microsoft Learn)

一方で、VMサイズ、ノードプール分離、特殊なDaemonSet、GPU、細かなネットワーク設計、コスト最適化を自社で詰めたい場合はStandardの方が適しています。

選択肢向いているケース注意点
AKS Automatic早く安全な既定構成で始めたい、運用負荷を下げたいすべてを細かく制御したい用途には合わない場合がある
AKS Standardノードプール、ネットワーク、スケール、拡張機能を細かく設計したい設計・監視・更新の責任が大きくなる

判断基準は「Kubernetesをどこまで自社で運用したいか」です。アプリ開発に集中したいチームはAutomatic、プラットフォームチームが標準基盤を作り込む場合はStandardを検討するとよいでしょう。

Free、Standard、Premium価格レベルの見直しも必要

AKSには、クラスター管理の価格レベルとしてFree、Standard、Premiumがあります。Microsoft Learnでは、Freeは開発・テストや学習用途、Standardは本番ワークロードやSLAが必要な環境、PremiumはLTS Kubernetesバージョンの24か月サポートや規制対応が必要な環境向けと整理されています。(Microsoft Learn)

StandardとPremiumにはUptime SLAが既定で含まれ、可用性ゾーンありではKubernetes APIサーバーの99.95%、可用性ゾーンなしでは99.9%の可用性が示されています。一方、FreeはベストエフォートでSLA保証はありません。(Microsoft Learn)

本番環境でFreeを使っている場合は、コストだけで判断せず、APIサーバー可用性、監査要件、障害時の説明責任を考慮してください。特にCI/CD、GitOps、オートスケーラー、監視ツールがKubernetes APIに依存している環境では、APIサーバーの安定性はアプリケーション運用全体に影響します。

ノードリソースグループとAKS管理領域を触りすぎない

AKSクラスターを作成すると、通常のAzureリソースグループとは別に、ノードリソースグループが自動作成されます。このリソースグループには、VM、仮想マシンスケールセット、ストレージなどクラスターに関連するインフラリソースが含まれます。(Microsoft Learn)

運用でありがちな失敗は、Azureポータルからノードリソースグループ内のVMSSやディスク、NICを直接変更してしまうことです。AKSが管理しているリソースを手動変更すると、アップグレード、スケール、修復、削除時に予期しない差分が出る可能性があります。

AKS管理領域であることを示すラベルやHelmリリースにも注意してください。Core Conceptsでは、AKS管理コンポーネントにはkubernetes.azure.com/managedby: aksラベルがあり、aks-managedプレフィックスのHelmリリースはAKSが管理し、リビジョンが増え続けることは想定内で安全と説明されています。(Microsoft Learn)

運用ルールとして、次の線引きを明文化しておくと安全です。

対象推奨される扱い
AKS管理ラベル付きリソース原則として手動変更しない
aks-managed Helmリリースリビジョン増加を異常と判断しない
ノードリソースグループ内のVMSSAzureポータルで直接変更せず、AKS CLIやIaCで管理する
アプリ用NamespaceのリソースGitOpsやCI/CDで変更履歴を残す
セキュリティ・監視アドオン更新前に公式ドキュメントと互換性を確認する

既存AKSクラスターで今日確認するチェックリスト

既存環境を運用している場合は、まず「現在の状態」を一覧化してください。特に複数サブスクリプションや複数リージョンにAKSが分散している場合、古い検証クラスターがAzure Linux 2.0のまま残っていることがあります。

確認項目コマンド・確認先対応方針
AKSクラスター一覧az aks list不要な検証環境を削除する
ノードプールのOS SKUaz aks nodepool listAzure Linux 2.0相当の環境を特定する
Kubernetesバージョンaz aks showaz aks get-upgradesサポート対象内か確認する
VMサイズノードプール情報、IaC定義未指定や過小サイズを見直す
System/Userノードプール分離modeアプリPodをUser側へ分離する
Namespace設計kubectl get nsdefault依存を減らす
kube-system内の独自リソースkubectl get all -n kube-system原則として専用Namespaceへ移す
価格レベルAKSのSKU/tier本番はStandard以上を検討する
OS移行検証環境非本番クラスターAzureLinux3やUbuntu 24.04を先に試す

確認後は、対応を3段階に分けると進めやすくなります。

対応区分対象実施例
即時対応Azure Linux 2.0、サポート切れKubernetes、スケール不可リスク移行計画、検証、メンテナンス日程の確保
計画対応VMサイズ未指定、System/User混在、Free本番利用IaC修正、ノードプール追加、価格レベル変更
継続改善Namespace設計、監視、GitOps、リソース制限運用標準化、レビュー項目化

移行・展開で失敗しやすいポイント

AKSのCore Conceptsを読み替えるうえで重要なのは、「概念」を「運用設計」に落とし込むことです。たとえば、ノードプールは単なるVMの集合ではなく、OS、Kubernetesバージョン、VMサイズ、スケール設定、ワークロード分離をまとめて管理する境界です。

移行や展開でよくある失敗は次の通りです。

失敗例なぜ危険か回避策
OS移行とKubernetesアップグレードを同時に本番適用する障害時に原因を切り分けにくい非本番で検証し、本番は段階適用する
VMサイズをIaCで未指定にするタイミングにより構成が変わる可能性がある本番ではvmSizeを明示する
default Namespaceへ継続的にデプロイする権限・監視・Quotaの管理が曖昧になるアプリ・環境単位でNamespaceを分ける
システムノードプールに重いアプリを配置するCoreDNSなど基盤Podに影響するUserノードプールへ分離する
ノードリソースグループ内のリソースを直接変更するAKS管理状態と差分が生じるAKS CLI、API、IaC経由で変更する
価格レベルをコストだけで決めるAPIサーバーSLAやLTS要件を見落とす本番要件からFree/Standard/Premiumを選ぶ

展開時は「作れるか」ではなく「更新できるか」「スケールできるか」「障害時に戻せるか」を基準にしてください。AKSはマネージドKubernetesですが、ワークロード、ノードプール、OS SKU、バージョン、価格レベルの選択は利用者側の設計責任です。

次に取るべき行動

Azure Kubernetes ServiceのCore Conceptsは、AKSの基本構造を理解するための記事であると同時に、既存環境を見直すためのチェックリストとして使えます。特に2026年時点では、Azure Linux 2.0のサポート終了とノードイメージ削除の影響を最優先で確認してください。

まずは、すべてのAKSクラスターでノードプールのosSku、Kubernetesバージョン、VMサイズ、System/User分離を棚卸しします。そのうえで、Azure Linux 2.0相当の環境はAzure Linux 3.0やサポートされるOSへ移行し、IaCでは本番に必要なVMサイズやOS SKUを明示します。

開発者はNamespace、リソース制限、ヘルスチェックを見直し、管理者はアップグレード計画、価格レベル、ノードプール設計を整理してください。Core Conceptsを単なる入門記事として読むのではなく、AKS運用の前提条件を点検する材料として使うことが、安定したコンテナー基盤への近道です。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次