Azure AI Foundry更新:Foundry Localモデルのストレージ変更とisArchived対応を解説

2026年5月20日の公式リポジトリ更新で、Azure AI Foundryに関連するFoundry Localモデル資産は、新しいストレージアカウント名foundrylocalassetdataを使う形に変更され、リリースパイプライン上でモデルをisArchived: trueとして扱う更新が入りました。結論から言うと、利用者側のAzure Storageをすぐ作り替える変更ではありません。ただし、Foundry Localモデルの取得、モデル一覧の取得、自社CI/CDでの資産同期、ネットワーク許可リスト、モデル名・バージョンの固定運用には影響が出る可能性があります。特に「モデル一覧から最新を選ぶ」実装や、foundrylocalmodelsなど旧ストレージ名をハードコードしている運用は確認が必要です。(GitHub)

目次

今回のAzure AI Foundry更新で変わったこと

今回の更新は、Azure AI Foundryの画面に新ボタンが増えるような表面的な機能追加ではなく、Foundry Localモデル資産の公開・管理に関わるメタデータ更新です。公式PRでは、すべてのFoundry Localモデルを新しいストレージアカウントfoundrylocalassetdataに更新し、リリースパイプライン中にモデルをアーカイブするためにisArchiveを使う趣旨が説明されています。実際のYAML差分では、モデル定義のstorage_namefoundrylocalassetdataへ変更され、spec.yamlにはisArchived: trueが追加されています。(GitHub)

変更点変更前の例変更後実務上の意味
ストレージアカウント名foundrylocalmodels、一部でautomlcesdkdataresourcesfoundrylocalassetdataモデル資産の参照先メタデータが変わる。自社スクリプトや許可リストで旧名を使っている場合は見直しが必要
アーカイブ指定記載なしisArchived: trueモデルが削除されたわけではないが、通常の一覧取得で見え方が変わる可能性がある
対象Foundry Localモデル資産Foundry Localモデル資産全体として更新CPU/GPU/NPU向けの複数バリアントを扱う運用では、モデルごとに確認が必要
実際の差分model.yamlspec.yaml.yamlファイル群自社でazureml-assetsをミラー・解析している場合、YAMLパーサーや検証ルールの更新が必要

注意したいのは、PR説明ではisArchiveという表記が使われていますが、実際のファイル差分に追加されているキーはisArchived: trueです。自社のYAML、JSONスキーマ、CI検証、検索スクリプトに反映する場合は、isArchiveではなくisArchivedを確認してください。DeepSeek-R1-Distill-QwenやMistral、Phi系のFoundry Localモデルでも、storage_name変更とisArchived: true追加のパターンが確認できます。(GitHub)

これは「モデル削除」ではなく「公開・一覧表示の整理」と考えるべき

Azure Machine Learningのモデル管理では、アーカイブされたモデルは既定でaz ml model listのようなリストクエリから非表示になります。一方で、アーカイブされたモデルをワークフローから参照・使用し続けることは可能です。つまり今回のisArchived: trueは、モデル資産を消す変更というより、リリースパイプラインやカタログ上の見せ方を整理するためのライフサイクル管理と捉えるのが適切です。(Microsoft Learn)

実務で問題になりやすいのは、次のような実装です。

  • モデル一覧を取得し、最初に見つかったモデルを使う
  • latest相当のモデルを一覧結果から独自判定している
  • 旧ストレージアカウント名を文字列で判定している
  • spec.yamlに未知のプロパティがあるとCIを落とす
  • アーカイブ済みモデルを「利用不可」と誤判定する

既存アプリが特定のモデル名とバージョンを明示して参照している場合、直ちに壊れるとは限りません。ただし、初回ダウンロード、モデルカタログ同期、社内ミラー作成、ネットワーク制御、監査ログ連携をしている環境では、リリース前に冷スタート検証を行うべきです。

Foundry Local利用者にとって何が重要か

Foundry Localは、ユーザーのデバイス上でAIモデルを実行するためのローカルAIソリューションです。Microsoft Learnでは、C#、JavaScript、Rust、Python向けSDK、オンデバイス向けに最適化されたモデルカタログ、自動ハードウェアアクセラレーション、モデルの初回ダウンロードとローカルキャッシュなどが説明されています。モデル取得やモデル管理がアプリの起動体験に関わるため、今回のようなモデル資産メタデータの変更は、アプリ開発者にも無関係ではありません。(Microsoft Learn)

特に確認すべきなのは、次の3点です。

確認対象確認すべきこと失敗しやすいポイント
初回起動新規端末でモデルをダウンロードできるか開発端末ではキャッシュ済みで問題に気づかない
モデル選択CPU/GPU/NPUなど想定バリアントが選ばれるか一覧取得ロジックがアーカイブ済みモデルを除外してしまう
ネットワークモデル取得時の通信がブロックされないか旧ストレージ名だけを許可しているプロキシ・EDR・FWで失敗する
CI/CDYAMLのisArchivedを正しく扱えるか未知フィールド扱いで検証ジョブが落ちる
監査「アーカイブ済み」を「削除済み」と誤記録しないか運用レポートでモデル消失と誤認する

管理者がまず確認すべき設定

管理者は、Azureポータル上の通常リソースだけを見るのではなく、モデル資産の取得経路と運用ルールを確認してください。今回の変更はユーザーのサブスクリプション内にあるストレージアカウントを直接変更するものではありませんが、組織側でモデル取得先やアセット定義を厳密に制御している場合は影響します。

ネットワーク許可リストを確認する

プロキシ、ファイアウォール、CASB、EDR、DLP、閉域網ゲートウェイなどで、モデル取得先のストレージ名やURLパターンを許可リスト化している場合は、foundrylocalassetdataが想定に入っているか確認します。

すぐに旧名を削除するのではなく、次の順で進めるのが安全です。

手順作業判断基準
1通信ログでfoundrylocalmodelsautomlcesdkdataresourcesfoundrylocalassetdataを検索旧名参照が残っているか把握する
2検証端末でFoundry Localモデルをキャッシュなしで取得新規端末でも成功するか確認する
3必要に応じてfoundrylocalassetdataを許可ブロックログが出ている場合に対応する
4旧名の削除は段階的に実施既存リリースやロールバックで旧参照が残らないことを確認してから行う

モデル一覧の取得コマンドを見直す

Azure ML CLIのaz ml model listには、アーカイブ済みモデルを含める--include-archived、アーカイブ済みのみを対象にする--archived-onlyがあります。リスト結果を使ってモデル存在確認や最新バージョン判定をしている場合は、通常の一覧だけで判断しないようにします。(Microsoft Learn)

# アーカイブ済みも含めてモデルを確認
az ml model list \
  --registry-name <registry-name> \
  --name <model-name> \
  --include-archived

# アーカイブ済みモデルだけを確認
az ml model list \
  --registry-name <registry-name> \
  --name <model-name> \
  --archived-only

# 特定バージョンの詳細を確認
az ml model show \
  --registry-name <registry-name> \
  --name <model-name> \
  --version <version>

社内の運用手順書で「az ml model listに出ないので存在しない」と判断している場合は、今回の変更後に誤判定する可能性があります。アーカイブ済みでも参照・使用できるという前提を、運用ルールに明記しておくと混乱を防げます。

開発者が確認すべき実装ポイント

開発者が最も注意すべきなのは、「モデルカタログやモデル一覧は常にアクティブなモデルだけを返す」という前提でコードを書いていないかです。Foundry Localはモデルの取得、キャッシュ、ハードウェアに応じたモデル選択を行うため、アプリ側のモデル選定ロジックが過度に自前実装されていると、今回のようなメタデータ変更で影響を受けやすくなります。

旧ストレージ名のハードコードを探す

azureml-assetsをミラーしている、モデル定義を社内で解析している、独自カタログを生成している場合は、リポジトリ内を検索します。

grep -R "foundrylocalmodels" .
grep -R "automlcesdkdataresources" .
grep -R "foundrylocalassetdata" .
grep -R "isArchived" .

見つかった場合は、単純に文字列を置き換える前に、そのコードが何のために使われているかを確認してください。たとえば、監査レポート用の表示名なのか、実際のダウンロード許可判定なのかで対応が変わります。

YAMLバリデーションを更新する

自社CIでmodel.yamlspec.yamlを検証している場合、isArchivedを未知のキーとして落とさないようにします。特に、次のような独自ルールは見直し対象です。

ルールリスク修正方針
許可キーを固定列挙しているisArchived追加でCI失敗スキーマ更新、または許可キーに追加
storage_nameを旧名だけ許可新モデル定義を拒否するfoundrylocalassetdataを許可
isArchived: trueを利用不可扱い参照可能なモデルまで除外する「一覧非表示」と「使用不可」を分けて判定
大文字小文字を無視しているisArchiveisArchivedを混同実フィールド名isArchivedで統一

モデル選定は「名前+バージョン」で固定する

本番アプリでは、一覧取得結果から曖昧にモデルを選ぶより、利用するモデルID、バージョン、想定ハードウェア、フォールバックモデルを明示する運用が安全です。

悪い例は、一覧の先頭や最新らしきものを自動選択する実装です。アーカイブ指定やカタログ整理が入ると、候補が変わる可能性があります。

避けたい例:
- 一覧の先頭を使う
- 名前に "mistral" を含む最初のモデルを使う
- アーカイブ済みを常に除外する
- バージョンを指定しない

推奨は、アプリのリリースごとに検証済みモデルを固定し、必要な場合だけ更新する方法です。

推奨:
- モデル名を明示する
- バージョンを明示する
- CPU/GPU/NPUなど検証済み環境を記録する
- 起動時にモデル取得失敗時の代替モデルを用意する
- キャッシュなし端末で回帰テストする

展開前に行うべきテスト

Foundry Localモデルは、開発者のPCではキャッシュ済みで問題なく動いても、新規端末や制限ネットワークでは失敗することがあります。今回のAzure AI Foundry更新を受けて、展開前には「キャッシュなし」「制限ネットワーク」「複数ハードウェア」の3条件で検証してください。

テスト内容合格基準
コールドスタートモデル未取得の端末でアプリを起動モデル取得、ロード、初回応答まで成功する
キャッシュ利用2回目以降の起動を確認再ダウンロードせず、想定時間内に起動する
ネットワーク制限社内プロキシ・VPN・EDR配下で起動ストレージ変更後もブロックされない
ハードウェア差分CPU、GPU、NPU端末で確認想定バリアントまたはフォールバックで動作する
モデル一覧--include-archivedあり/なしで確認アーカイブ状態を正しく解釈できる
ロールバック旧アプリ版や旧設定で起動旧参照が必要な場合に失敗しない

特に業務アプリに組み込む場合、ネットワークが安定した開発環境だけで確認しても不十分です。営業端末、工場端末、店舗端末、VDI、プロキシ配下の端末など、実際の利用場所に近い条件でテストする必要があります。

管理者・開発者別の対応チェックリスト

立場すぐ確認すること優先度
Azure管理者foundrylocalassetdataが通信・監査・許可リストで問題にならないか
セキュリティ担当旧ストレージ名だけを許可していないか
開発者モデル一覧取得でアーカイブ済みを誤除外していないか
MLOps担当spec.yamlisArchivedをCIが許容できるか
QA担当キャッシュなし端末でモデル取得テストを実施したか
運用担当「一覧にない=削除」と誤判定しない手順になっているか
情シス端末配布後の初回モデル取得に時間・通信量の問題がないか

よくある誤解と正しい見方

foundrylocalassetdataというAzure Storageを自社で作る必要がある?

通常の利用者が、自分のサブスクリプション内に同名のストレージアカウントを作る必要はありません。今回の変更は、Foundry Localモデル資産の公開元・参照メタデータに関する更新です。自社で問題になるのは、旧ストレージ名を使って通信制御、監査、ミラーリング、YAML検証をしている場合です。

isArchived: trueならモデルは使えない?

使えないと決めつけるのは誤りです。Azure MLのドキュメントでは、アーカイブされたモデルは既定のリストクエリから非表示になりますが、ワークフロー内で参照・使用し続けることができると説明されています。必要に応じてaz ml model list --include-archivedaz ml model showで確認します。(Microsoft Learn)

既存のFoundry Localアプリは必ず修正が必要?

必ず修正が必要とは限りません。モデルをSDK経由で標準的に取得し、旧ストレージ名を自前で扱っていないアプリでは、影響が見えない場合もあります。ただし、モデル一覧を自前で解析している、社内ネットワークで通信先を厳しく制限している、モデルファイルを社内配布している、リリースパイプラインでazureml-assetsを検証している場合は確認が必要です。

isArchiveisArchivedはどちらを使う?

実装上はisArchivedを確認してください。PR説明の文脈ではisArchiveという表現が出ていますが、実際のYAML差分ではisArchived: trueが追加されています。大文字小文字や末尾のdを誤ると、独自スクリプトやバリデーションで検出漏れが起きます。(GitHub)

今回の更新後に取るべき次の行動

今回のAzure AI Foundry documentation updateは、Foundry Localモデルの配布・管理メタデータを整理する更新です。重要なのは、storage_namefoundrylocalassetdataへ変わったこと、そしてisArchived: trueによりモデル一覧の見え方が変わり得ることです。

まずは、自社コードと運用で旧ストレージ名を使っていないかを検索してください。次に、Azure ML CLIやSDKでモデル一覧を取得している処理が、アーカイブ済みモデルを正しく扱えるか確認します。最後に、キャッシュなし端末でFoundry Localモデルの初回取得テストを行い、ネットワーク、モデル選択、フォールバックまで確認してから本番展開するのが安全です。

この更新は、単なるドキュメント差分として流すよりも、AIアプリを安定配布するためのモデル資産管理ルール変更として扱うべきです。モデル名・バージョンの固定、通信許可リストの見直し、isArchivedを考慮した一覧取得の3点を押さえれば、管理者と開発者の双方が余計な障害を避けやすくなります。

この記事を書いた人

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

コメント

コメントする

目次