Azure REST API更新:containerserviceの2026-03-02-preview対応と確認ポイント

Azure REST APIの「Update the api-version to 2026-03-02-preview for the dotnet and java client generation config for containerservice」は、AKSそのものを即座に変える更新ではありません。結論から言うと、2026年5月20日にAzure公式のREST API仕様リポジトリでマージされた、Microsoft.ContainerService/aks向けのSDK生成設定の更新です。特に.NET(C#)とJavaの生成設定で、2026-03-01に固定されていた指定を見直し、2026-03-02-preview側の生成に揃える意図があります。既存の本番環境をすぐ切り替える必要はありませんが、AKSをREST API、SDK、IaC、社内自動化で管理しているチームは、api-versionとSDKパッケージの固定箇所を確認しておくべきです。(GitHub)

なお、この更新は「AI/Copilot機能の追加」ではなく、Azure REST API仕様とSDK生成設定に関する変更です。Azure REST APIを直接呼ぶ開発者、.NET/Java SDKでAKSを操作する開発者、AKS管理基盤を運用する管理者向けに、変更点、影響範囲、移行・展開時の注意点を整理します。

目次

Azure REST API documentation updateの要点

Azure REST APIの仕様は、Azureの公式GitHubリポジトリである Azure/azure-rest-api-specs に集約されています。このリポジトリはMicrosoft Azure REST API仕様のcanonical source、つまり基準となるソースとして説明されています。(GitHub)

今回のPR #42536は、2026年5月20日に main ブランチへマージされました。PRタイトルは「Update the api-version to 2026-03-02-preview for the dotnet and java client generation config for containerservice」で、対象は containerservice、実務上はAKSの管理プレーンAPIである Microsoft.ContainerService/aks です。(GitHub)

重要なのは、PR本文で「API仕様を変更せず、SDK構成のみを変更する」趣旨が明示されている点です。つまり、既存のREST APIエンドポイントがこのPRだけで突然変わる、既存クラスターの挙動が自動的に変わる、という種類の更新ではありません。(GitHub)

観点今回の内容実務上の意味
対象サービスAzure REST API / AKS / Microsoft.ContainerService/aksAKSの管理プレーンAPIを扱うコードや自動化が確認対象
変更種別SDK生成設定の変更REST API仕様そのものの大規模変更とは分けて考える
主な対象言語.NET(C#)とJava該当SDKを使う開発チームは依存関係と生成モデルを確認
APIバージョン2026-03-02-previewプレビューAPIのため、本番適用は慎重に判断
直接の対応即時移行ではなく棚卸しと検証api-version固定箇所、SDKバージョン、CI/CDを確認

具体的に何が変わったのか

差分としては、specification/containerservice/resource-manager/Microsoft.ContainerService/aks/tspconfig.yaml の1ファイルが変更されています。PRのFiles changedでは、追加0行、削除3行として表示され、Java用設定とC#管理SDK・C#プロビジョニングSDK用設定から api-version: "2026-03-01" の明示指定が削除されています。(GitHub)

対象になっている設定は、主に次の3系統です。

生成設定関連するSDK・名前空間確認すべき人
@azure-tools/typespec-javacom.azure.resourcemanager.containerserviceJavaでAKS管理SDKを使う開発者
@azure-typespec/http-client-csharp-mgmtAzure.ResourceManager.ContainerService.NETでAKS管理SDKを使う開発者
@azure-typespec/http-client-csharp-provisioningAzure.Provisioning.ContainerService.NETのプロビジョニング系SDKを使う開発者

現在の tspconfig.yaml では、Java用の出力先や名前空間、C#管理SDKの名前空間、C#プロビジョニングSDKの名前空間が定義されています。ここから 2026-03-01 固定の api-version 指定が外れたことで、対象言語のSDK生成時にプレビュー側のバージョンを利用しやすい構成になったと捉えるのが実務上は分かりやすいです。(GitHub)

一方で、AKSのTypeSpec定義側には安定版 2026-03-01 とプレビュー版 2026-03-02-preview の両方が定義されています。2026-03-02-preview@previewVersion として扱われているため、最新だからといって無条件に本番標準へ置き換えるべきものではありません。(GitHub)

2026-03-02-previewはどのような位置づけか

Azure SDKのREST API仕様一覧では、Microsoft.ContainerService/aks に安定版 2026-03-01 とプレビュー版 2026-03-02-preview が並んでいます。2026-03-02-preview は2026年5月9日に作成されたプレビュー仕様として掲載されています。(Azure)

Azure REST APIでは、Azure Resource Manager provider APIの呼び出しに api-version クエリパラメーターが必要です。Microsoft LearnのAzure REST APIリファレンスでも、Azure Resource Manager provider APIsは https://management.azure.com/ を使い、api-version query-string parameterを必要とすると説明されています。(Microsoft Learn)

つまり、REST APIを直接呼び出している場合、どのAPIバージョンを使うかはURLの ?api-version=... によって明示されます。

GET https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.ContainerService/managedClusters/<clusterName>?api-version=2026-03-02-preview

既存コードが 2026-03-01 やそれ以前のバージョンを指定しているなら、このPRのマージだけで自動的に 2026-03-02-preview に変わるわけではありません。変更が起きるのは、SDKを更新した場合、生成済みクライアントの既定バージョンが変わった場合、または自分たちのREST呼び出し・IaC定義で明示的に 2026-03-02-preview を指定した場合です。

影響範囲:誰が何を確認すべきか

REST APIを直接呼んでいる開発者

az rest、curl、PowerShell、社内HTTPクライアントなどでAKSの管理APIを直接呼んでいる場合、最初に見るべきなのはURL内の api-version です。Azure REST APIではリクエストURIのquery stringにAPI versionを含める形が基本で、AKSの各REST APIページでも api-version は必須のqueryパラメーターとして示されています。(Microsoft Learn)

たとえば、Microsoft Learnには 2026-03-02-preview を使うAKS REST APIとして、Agent PoolsのComplete Upgrade、JWT AuthenticatorsのDelete、Identity BindingsのListなどが掲載されています。これらは Microsoft.ContainerService/managedClusters/... 配下の管理プレーン操作です。(Microsoft Learn)

確認ポイントは次のとおりです。

確認項目具体例判断基準
api-versionの固定2026-03-012026-03-02-preview、古いAKS APIバージョン本番は安定版、検証・新機能確認はプレビューに分ける
リクエスト本文properties配下の設定値、プレビュー専用のプロパティ未対応環境で送信していないか確認
レスポンス処理存在前提にしているフィールド、enum、null許容追加・変更・欠落に強い実装にする
LRO処理202 Accepted後のポーリングAzure-AsyncOperationLocationを正しく追跡
エラーハンドリングOther Status CodesError Responsepreview特有の失敗をログで識別できるようにする

特に注意したいのは、api-version を「最新にすれば良い」と考えないことです。プレビュー版は新機能の検証には有効ですが、運用自動化の標準バージョンにするには、ロールバック手順と検証結果が必要です。

.NET SDKを使っている開発者

.NETでは、今回の差分にC#管理SDK用の Azure.ResourceManager.ContainerService と、プロビジョニング系の Azure.Provisioning.ContainerService が関係します。tspconfig.yaml 上でも、それぞれのnamespaceと出力先が定義されています。(GitHub)

確認すべきなのは、アプリケーションコードそのものよりも、まず依存関係です。

grep -RIn --exclude-dir=.git \
  -e 'Azure.ResourceManager.ContainerService' \
  -e 'Azure.Provisioning.ContainerService' \
  -e '2026-03-01' \
  -e '2026-03-02-preview' \
  .

次に、.csprojDirectory.Packages.propspackages.lock.json、CI/CDのrestore設定を確認します。SDKを自動更新している場合、生成モデルやメソッドのシグネチャが変わっても、レビュー前にビルドへ入ってくる可能性があります。

.NET側では、次の観点で検証してください。

確認箇所見るべき内容
NuGetパッケージのバージョン固定Azure.ResourceManager.ContainerService を明示固定しているか
生成モデル新しいプロパティ、enum、nullableの扱い
シリアライズ送信されるJSONに不要なpreviewプロパティが混ざらないか
LROBegin... 系メソッドの戻り値やポーリング完了条件
プロビジョニングコードAzure.Provisioning.ContainerService を使うテンプレート生成やデプロイ処理

PRがマージされたことと、NuGetで新しいパッケージを使うことは同じではありません。実務では「PR確認」「SDKリリース確認」「依存関係更新」「非本番検証」「本番展開」を別々の工程として扱うのが安全です。

Java SDKを使っている開発者

Javaでは、com.azure.resourcemanager.containerservice が確認対象です。今回の設定差分では、Java用TypeSpec emitterの設定から api-version: "2026-03-01" が外れています。(GitHub)

MavenまたはGradleで次のような依存関係を使っている場合は、更新対象に含めてください。

grep -RIn --exclude-dir=.git \
  -e 'azure-resourcemanager-containerservice' \
  -e 'com.azure.resourcemanager.containerservice' \
  -e '2026-03-01' \
  -e '2026-03-02-preview' \
  .

Java SDKでは、Fluent APIやモデルクラスの変更が呼び出し側に影響しやすいです。特に、AKSクラスター作成・更新、Agent Pool更新、ID関連設定、プレビュー機能の有効化を自動化しているコードは、コンパイルが通るだけでなく、実際のHTTPリクエスト内容まで確認してください。

管理者・SRE・プラットフォームチーム

管理者がまず押さえるべき点は、今回の更新がAKSクラスター内のKubernetes APIバージョンではなく、Azure Resource Manager経由でAKSを操作する管理プレーンAPIの話だということです。

確認対象は、アプリケーションコードだけではありません。

領域確認するもの失敗しやすいポイント
IaCARM template、Bicep、Terraform AzAPIapiVersionだけ先に変えて検証不足になる
CI/CDAKS作成・更新・ノードプール操作ジョブREST呼び出しが古いAPIバージョンに固定されている
社内共通ライブラリAKS操作用HTTPクライアント、SDKラッパー呼び出し側からはAPIバージョンが見えない
Azure Policypreview API利用の制限、タグ・リージョン制約検証環境では通るが本番サブスクリプションで拒否される
監査ログ操作ログ、デプロイログ、HTTPログどのAPIバージョンで呼んだか追跡できない

本番環境では、api-version をログに残すことをおすすめします。障害時に「どのSDKバージョンで、どのAPIバージョンを使って、どの操作を実行したか」が分からないと、切り戻し判断が遅れます。

まず実施すべき棚卸し手順

今回のAzure REST API更新で最も大切なのは、すぐに 2026-03-02-preview へ移行することではなく、自社環境の固定箇所を見つけることです。

コードとIaCからapi-versionを探す

まず、リポジトリ全体でAKS関連のAPIバージョンを検索します。

grep -RIn --exclude-dir=.git \
  -e 'Microsoft.ContainerService' \
  -e 'managedClusters' \
  -e 'agentPools' \
  -e '2026-03-01' \
  -e '2026-03-02-preview' \
  -e 'api-version' \
  .

検索対象には、次のファイルを含めてください。

ファイル種別
IaC.bicep.json.tf.tfvars
アプリケーション設定appsettings.json.env、ConfigMap
CI/CDGitHub Actions、Azure Pipelines、Jenkinsfile
スクリプトBash、PowerShell、Python
SDK依存関係.csprojpom.xmlbuild.gradle、lock file

ここで見つかった箇所を、「本番」「検証」「開発」「一時スクリプト」に分類します。すべてを同じ優先度で扱うと対応が散らかるため、まずは本番デプロイや定期ジョブから確認するのが現実的です。

SDKパッケージの固定状況を確認する

SDK利用チームは、APIバージョンだけでなくパッケージ更新ポリシーを確認してください。

状況リスク推奨対応
パッケージを明示固定している更新漏れはあるが、意図しない変更は入りにくい検証後に計画的に更新
minor/patchを自動更新しているSDK生成差分がCIへ突然入る可能性AKS関連SDKだけ一時固定し、差分レビュー
共通基盤がSDKをラップしている利用チームが影響に気づきにくいラッパー側で変更履歴と移行ガイドを出す
REST APIとSDKが混在している同じ処理で異なるAPIバージョンを使う可能性操作単位で利用経路を整理

特に、AKSの作成・更新処理は一度失敗すると環境全体に影響します。SDK更新と本番デプロイを同じ日に実施しないようにしましょう。

2026-03-012026-03-02-previewの使い分け

安定版とプレビュー版は、目的を分けて使うのが基本です。AKSの仕様一覧では、2026-03-01 が安定版として、2026-03-02-preview がプレビュー版として扱われています。(Azure)

利用シーン推奨方針
本番のAKS作成・更新・削除検証済みの安定版APIを優先
新しいAKS管理機能の検証2026-03-02-preview を検証環境で試す
社内共通モジュールの標準化安定版を標準、previewは明示オプションにする
SDKの新機能確認SDK更新とAPIバージョン変更を分けてテスト
コンプライアンス要件が厳しい環境preview利用の承認ルールを設ける

「新しいAPIバージョン=常に安全」ではありません。特にpreviewは、将来の安定版で仕様が変わる可能性を前提に扱うべきです。

非本番での検証手順

同じ操作を複数APIバージョンで比較する

同じ操作が 2026-03-012026-03-02-preview の両方で利用できる場合は、同じリソースに対してレスポンス差分を比較します。

az rest --method get \
  --url "https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.ContainerService/managedClusters/<clusterName>?api-version=2026-03-01" \
  > aks-2026-03-01.json

az rest --method get \
  --url "https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.ContainerService/managedClusters/<clusterName>?api-version=2026-03-02-preview" \
  > aks-2026-03-02-preview.json

jq -S . aks-2026-03-01.json > stable.sorted.json
jq -S . aks-2026-03-02-preview.json > preview.sorted.json
diff -u stable.sorted.json preview.sorted.json

見るべきなのは、単なるフィールド追加だけではありません。次のような差分があると、コード側の修正が必要になる可能性があります。

差分影響例
enum値の追加switch文やバリデーションが失敗する
null許容の変化型変換やJSONパースで例外が出る
読み取り専用プロパティの追加PUT/PATCHで不要な値を送り返して失敗する
LROヘッダーの扱い完了待ち処理が終わらない
エラーコードの変化リトライ条件やアラート条件がずれる

SDK利用時はコンパイルだけでなく送信JSONを見る

.NETやJava SDKでは、コンパイルが通っても、生成されるHTTPリクエストが変わっている場合があります。検証環境では、可能であればHTTPログを有効化し、次の点を確認してください。

確認項目理由
リクエストURLのapi-version意図したAPIバージョンか確認するため
リクエストボディpreview専用プロパティが混入していないか見るため
レスポンスのモデル変換新しいフィールドで例外が出ないか確認するため
202応答後のポーリングLRO完了まで正しく追跡できるか見るため
失敗時のログ切り戻し判断に必要な情報を残すため

Microsoft LearnのAKS REST API例では、Agent PoolのComplete Upgradeが 202 Accepted を返し、Azure-AsyncOperationLocation ヘッダーを使う例が示されています。REST APIを直接実装している場合は、SDKが自動で処理してくれる部分を自前で正しく実装しているか確認が必要です。(Microsoft Learn)

展開時に避けたい失敗

PRマージをSDKリリース完了と同一視する

今回のPRはAzure REST API仕様リポジトリ上のSDK生成設定変更です。PRがマージされたからといって、すべてのSDKパッケージが即座に利用可能になり、既存プロジェクトへ自動反映されるわけではありません。

実務では、次の4段階を分けて管理してください。

段階確認内容
仕様・設定の変更PR、差分、対象APIバージョン
SDK生成・レビュー生成された言語別APIサーフェス
SDKパッケージ公開NuGet、Mavenなどの依存関係更新
自社環境への適用CI、検証、本番展開、ロールバック

PR上ではAPIViewがGo、Java、Python、JavaScript、C#の言語別レビューを作成したことも示されています。差分の主対象がJavaとC#設定であっても、生成結果のレビューは複数言語に波及し得る点に注意が必要です。(GitHub)

previewを本番標準にしてしまう

2026-03-02-preview を使う理由が「新しいから」だけなら、本番への適用は見送るべきです。previewを使うのは、対象機能がpreview APIでしか利用できず、かつ影響範囲と切り戻し手順を確認できている場合に限定しましょう。

preview利用時は、少なくとも次の条件を満たすことを推奨します。

条件内容
利用範囲を限定検証サブスクリプション、検証リソースグループ、特定機能のみ
ロールバック可能旧SDK・旧APIバージョンへ戻せる
差分を記録リクエスト、レスポンス、SDK変更点を保存
監視できる失敗率、LRO失敗、エラーコードを追える
承認済みpreview利用をチームまたは組織で合意している

SDK更新とIaC更新を同時に行う

SDK更新とIaCの apiVersion 更新を同時に行うと、問題が起きたときに原因を切り分けにくくなります。

安全な順序は次のとおりです。

順序作業
先に現行SDK・現行APIバージョンでテストを整備
次にSDKだけ更新して差分を確認
次にREST APIまたはIaCのAPIバージョンだけ変更
最後に本番へ段階展開

この順序にすると、「SDK生成モデルの変更が原因なのか」「REST APIバージョン変更が原因なのか」を分けて判断できます。

管理者向けチェックリスト

AKSを組織で運用している場合は、次のチェックリストを使って影響範囲を確認してください。

チェック確認内容
APIバージョンMicrosoft.ContainerServiceapi-version 固定箇所を洗い出したか
SDK.NET / JavaのContainerService SDK依存関係を確認したか
IaCBicep、ARM template、Terraform AzAPIの apiVersion を確認したか
CI/CDAKS作成・更新・削除ジョブで使うAPIバージョンを確認したか
RBAC自動化アカウントやサービスプリンシパルの権限を確認したか
Policypreview API利用やAKS設定を制限するポリシーに抵触しないか
ログAPIバージョン、SDKバージョン、操作対象を追跡できるか
ロールバック旧SDK・旧APIバージョンへ戻す手順があるか

特に、複数チームが同じAKS基盤を操作している場合は、個別チームがpreview APIを使い始める前に、共通ルールを決めておくことが重要です。

開発者向けの実装上の注意点

レスポンスの追加フィールドに強い実装にする

Azure REST APIのバージョン更新では、レスポンスにフィールドが追加されることがあります。厳密なJSONスキーマで未知フィールドを拒否している場合、preview APIへの切り替えで失敗する可能性があります。

安全な実装例は次のとおりです。

実装方針理由
未知フィールドを許容するレスポンス拡張に耐える
enumのdefaultケースを用意する新しい値で落ちないようにする
nullチェックを追加するpreview差分や未設定値に備える
PUT/PATCHでGET結果を丸ごと送り返さない読み取り専用プロパティ送信を避ける
APIバージョンを定数化する切り戻しと比較を簡単にする

APIバージョンを環境変数だけに逃がさない

api-version を環境変数化するのは便利ですが、誰がいつ変えたか分からない状態にすると危険です。おすすめは、コード上で許可するバージョンを明示し、設定値が想定外なら起動時に失敗させる方法です。

var allowedApiVersions = new[]
{
    "2026-03-01",
    "2026-03-02-preview"
};

if (!allowedApiVersions.Contains(configuredApiVersion))
{
    throw new InvalidOperationException($"Unsupported AKS API version: {configuredApiVersion}");
}

Javaでも同様に、許可リストを設けておくと、誤って古すぎるバージョンや未検証のpreviewへ切り替わるリスクを下げられます。

今回の更新への現実的な対応方針

今回のAzure REST API documentation updateに対して、すべての組織が同じ対応をする必要はありません。利用形態ごとに、次のように判断するとよいでしょう。

状況対応方針
REST APIを直接使っていないすぐの対応は不要。AKS SDK利用有無だけ確認
AKSをSDKで参照のみしているSDK更新時にモデル差分とログを確認
AKS作成・更新をSDKで自動化している非本番でSDK更新テストを実施
IaCでAKSを管理しているapiVersion固定箇所を棚卸し
preview機能を使いたい2026-03-02-preview を検証環境で限定利用
本番基盤を安定運用したい安定版APIを維持し、previewは採用判断を分ける

最初の一歩は、コード検索と依存関係の確認です。api-version とSDKパッケージの固定箇所を把握し、previewを使う理由があるかを判断してください。理由がなければ、本番では検証済みの安定版を維持し、2026-03-02-preview は検証用として扱うのが安全です。

今回の更新は、AKS管理APIを使うチームにとって「いますぐ移行」ではなく「生成SDKとAPIバージョン管理を見直すタイミング」です。REST API、.NET SDK、Java SDK、IaCのどこで Microsoft.ContainerService を操作しているかを棚卸しし、preview利用の範囲を明確にしてから段階的に展開しましょう。

この記事を書いた人

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

コメント

コメントする

目次