Azure AI Foundry Hosted Agentのデプロイ手順と注意点|2026年5月更新を実務向けに整理

Azure AI Foundryでエージェント開発を始めるなら、今回押さえるべきポイントは「Hosted Agentをコンテナ化してFoundry Agent Serviceへデプロイする流れ」と「権限・ACR・監視・プレビュー機能の扱い」です。Microsoft Learnの2026年5月8日更新の「What’s new」では、Quickstart: Deploy your first hosted agent が更新記事として掲載されています。一方、該当クイックスタート本文のページ表示上の最終更新日は2026年4月23日です。そのため本稿では、2026年5月8日更新一覧に含まれた公式情報として、実務で確認すべき変更点と影響範囲を整理します。(Microsoft Learn)

結論から言うと、このQuickstartは「Azure AI Foundry上で、独自コードを含むAIエージェントをHosted Agentとして動かすための最短手順」です。開発者はAzure Developer CLIまたはVS Code拡張機能を使って、サンプル作成、ローカルテスト、Azureへのデプロイ、Playgroundでの確認まで進められます。管理者は、Azure AI Project Manager、Azure AI User、Azure Container Registryのプル権限、Application Insightsの監視設定を事前に確認しておく必要があります。(Microsoft Learn)

目次

Azure AI FoundryのHosted Agentとは

Azure AI FoundryのHosted Agentは、独自のエージェントコードをコンテナイメージとしてパッケージし、Foundry Agent Service上で実行する仕組みです。プロンプトだけで定義するエージェントとは異なり、PythonやC#のコード、任意のフレームワーク、外部ツール連携、カスタム処理を含められる点が特徴です。(Microsoft Learn)

Hosted Agentを使うと、開発者は次のようなエージェントをAzure AI Foundry上で運用しやすくなります。

  • Web検索やMCPツールを呼び出す業務支援エージェント
  • LangGraph、Semantic Kernel、Microsoft Agent Frameworkなどを使った独自ワークフロー
  • TeamsやMicrosoft 365 Copilot連携を見据えた対話型エージェント
  • Webhook、分類、抽出、バッチ処理など、チャット以外の入力を扱うエージェント

公式Quickstartでは、Foundryモデルを呼び出し、Foundryツールを利用するコンテナ化AIエージェントをデプロイします。最終的にはFoundry Playgroundからエージェントと対話できる状態になります。(Microsoft Learn)

何が変わったのか:今回の更新で見るべきポイント

今回の更新で重要なのは、単に「新しいクイックスタートがある」という点ではありません。管理者と開発者にとっては、Hosted Agentのデプロイ体験、権限設計、ランタイムの前提が明確になったことが実務上のポイントです。

観点確認すべき内容実務への影響
デプロイ方法Azure Developer CLIまたはVS Code拡張機能からHosted Agentを作成・デプロイできる初回検証はIaCやSDKよりもQuickstartが速い
ランタイムHosted Agentはscale-to-zeroを使い、アイドル時は一定時間後にコンピュートが解除されるコールドスタートやセッション保持を考慮した設計が必要
権限作成・デプロイにはAzure AI Project Managerが推奨されるContributorだけではデータプレーン操作やロール割り当てで詰まりやすい
ACRエージェントのコンテナイメージはAzure Container Registryに置くACRのプル権限とネットワーク到達性が重要
監視Application InsightsとOpenTelemetryトレースが利用される本番化前にログ・トレース確認の運用を決める必要がある
プレビューHosted Agentsはプレビュー機能として扱われている本番導入では変更リスク、制限、サポート範囲を確認する

特に注意したいのは、Quickstartが「Hosted Agents on the new backend」を対象としており、azd ai agent0.1.27-preview 以降が必要とされている点です。レガシー体験としてAzure Container Appsを使う場合は 0.1.25-preview を継続利用する案内になっているため、既存検証環境を持つチームはバージョンを混在させないようにしましょう。(Microsoft Learn)

影響を受ける利用者とシステム範囲

今回のQuickstartは、Azure AI Foundryを使うすべての利用者に直ちに影響するものではありません。影響が大きいのは、エージェントを単なるプロンプト設定ではなく、独自コードを含むアプリケーションとして運用したいチームです。

影響が大きいチーム

次のいずれかに当てはまる場合は、今回の内容を確認する価値があります。

  • Azure AI FoundryでAIエージェントを試作している
  • Azure OpenAIやFoundryモデルを使った社内AIアプリを開発している
  • LangChain、LangGraph、Semantic KernelなどのフレームワークをAzure上で動かしたい
  • MCP、Web Search、File Search、Code Interpreterなどのツール連携を検討している
  • TeamsやMicrosoft 365 Copilotへの将来展開を見据えている
  • Azure Container AppsやApp Serviceで個別にエージェント基盤を作るか迷っている

影響が限定的なケース

一方で、次のようなケースでは急いで移行する必要はありません。

  • Prompt Agentだけで十分な用途
  • 既存のAzure FunctionsやApp Serviceで安定稼働している簡易API
  • コンテナ化やRBAC設計をまだ検討していないPoC初期段階
  • プレビュー機能を本番利用できない社内ルールがある環境

Hosted Agentは強力ですが、コンテナ、権限、監視、ネットワークを含む運用対象になります。プロンプトだけで完結する用途にまで無理に適用すると、構成が複雑になりすぎることがあります。

管理者が最初に確認すべき設定

Azure AI FoundryのHosted Agentで失敗しやすいのは、コードそのものよりも権限とリソース構成です。特に企業環境では、開発者がAzureサブスクリプションのOwner権限を持っていないことが多いため、Quickstartを始める前に管理者側で準備しておくとスムーズです。

必須ロールと権限の確認

公式ドキュメントでは、Hosted Agentの作成とデプロイにはプロジェクトスコープのAzure AI Project Managerが必要とされています。このロールには、エージェント作成に必要なデータプレーン権限と、プラットフォームが作成するエージェントIDにAzure AI Userロールを割り当てるための権限が含まれます。(Microsoft Learn)

対象推奨される確認内容よくある失敗
開発者ユーザーFoundryプロジェクトスコープでAzure AI Project Managerを付与Contributorだけ付与していてエージェント作成に失敗する
エージェントIDFoundryプロジェクトに対してAzure AI Userが必要デプロイ後にモデルやツールへアクセスできない
FoundryプロジェクトのマネージドIDACRに対するContainer Registry Repository ReaderまたはAcrPullが必要AcrPullUnauthorized や image pull failed が発生する
デプロイ担当のユーザーまたはサービスプリンシパルACRへイメージをpushできる権限が必要コンテナイメージを登録できない
監視担当者Application InsightsまたはLog Analyticsの閲覧権限が必要メトリックは見えてもトレースを確認できない

ここで重要なのは、AzureのOwnerやContributorが万能ではないことです。Microsoft FoundryではARMの管理プレーンだけでなく、Foundryのデータプレーン権限も関係します。たとえば、Contributorがあってもエージェントの作成や対話に必要なデータプレーン権限が不足する場合があります。(Microsoft Learn)

Azure Container Registryの到達性を確認する

Hosted Agentでは、コンテナイメージをAzure Container Registryに格納します。公式ドキュメントでは、Hosted Agentが利用するACRは現時点でパブリックエンドポイントから到達可能である必要があり、プライベートエンドポイントでパブリックネットワークアクセスを無効化したACRはサポートされないと説明されています。(Microsoft Learn)

セキュリティを重視する組織ほど、ACRをプライベートネットワーク内に閉じる設計を採用している場合があります。その場合、Hosted Agentの検証では次のどちらかを判断してください。

選択肢向いているケース注意点
Hosted Agent用に到達可能なACRを用意するQuickstartやPoCを進めたいネットワーク制限と社内ポリシーの整合性を確認する
既存のプライベートACR設計を維持する本番セキュリティ要件が厳しいHosted Agentの現行制限により利用できない可能性がある
Azure Container Appsなど別基盤を継続する既存運用が安定しているFoundry Agent Serviceの管理機能は使えない

開発者が確認すべき前提条件

Quickstartを実行する開発者は、ローカル環境とAzure側の準備を分けて確認しましょう。特に、CLIや拡張機能のバージョン違いは原因特定に時間がかかります。

ローカル環境の前提

公式Quickstartでは、Python 3.10以降、Azure Developer CLI 1.24.0以降、Visual Studio Code、Microsoft Foundry Toolkit for VS Code拡張機能が前提として挙げられています。(Microsoft Learn)

項目確認コマンド・確認方法注意点
Pythonpython --version3.10以上を使う
Azure Developer CLIazd version1.24.0以上が必要
azd agent extensionazd ext listazure.ai.agents が入っているか確認
VS Code拡張機能Extensions画面で確認プレビュー版への切り替えが必要な場合がある
Azure認証azd auth login認証エラー時はログアウト・再ログインする

azd ai agent init が失敗する場合は、まず azd versionazd ext list を確認します。公式ドキュメントでは、azure.ai.agents 拡張機能を 0.1.27-preview 以降へ更新することも案内されています。(Microsoft Learn)

azd version
azd ext list
azd ext upgrade azure.ai.agents

サンプルにMCPツールを使わない場合の注意

Quickstartでは、Web Searchや任意のMCPツールを使うサンプルが扱われます。MCPサーバーを使わないのにツール付きサンプルを選んだ場合、agent.yaml の接続ID設定を残したままにすると構成不整合の原因になります。

公式手順では、MCPサーバーを使わない場合、agent.yaml にある AZURE_AI_PROJECT_TOOL_CONNECTION_ID の行をコメントアウトまたは削除するよう案内されています。(Microsoft Learn)

- name: AZURE_AI_PROJECT_TOOL_CONNECTION_ID
  value: <CONNECTION_ID_PLACEHOLDER>

この設定が残っていると、「ツール接続を使う前提のサンプルなのに接続先が存在しない」という状態になります。初回検証では、まずWeb Searchだけ、またはツールなしの最小構成で動作確認し、その後MCPや社内API連携を追加するのが安全です。

デプロイ手順の全体像

Quickstartの基本的な流れは、サンプル作成、リソースプロビジョニング、ローカルテスト、デプロイ、Playground確認、クリーンアップです。

Azure Developer CLIで進める場合

Azure Developer CLIを使う場合は、空のディレクトリでHosted Agentプロジェクトを初期化します。

azd ext install azure.ai.agents
azd ai agent init
azd provision
azd ai agent run
azd ai agent invoke --local "What is Microsoft Foundry?"
azd deploy

azd provision では、Foundryプロジェクト、モデルデプロイ、Azure Container Registry、Application Insights、Log Analytics Workspace、マネージドIDなどが作成されます。公式Quickstartでは、検証後に azd down でリソースを削除し、課金を止めることが案内されています。(Microsoft Learn)

azd down

ただし、既存のリソースグループを使っている場合は注意が必要です。azd down はQuickstartで作ったものだけでなく、対象リソースグループ内の関連リソースを削除する可能性があります。検証では専用のリソースグループを使うのが安全です。

VS Codeから進める場合

VS Code拡張機能を使う場合は、コマンドパレットからFoundryプロジェクトの作成、モデルデプロイ、Hosted Agentプロジェクト作成、ローカルテスト、デプロイまで進められます。公式Quickstartでは、Microsoft Foundry ToolkitとFoundry拡張機能のプレリリース版を使うよう案内されています。(Microsoft Learn)

VS Codeから進める場合の流れは次の通りです。

手順操作確認ポイント
Foundryプロジェクト作成Microsoft Foundry: Create Projectサブスクリプションとリソースグループを確認
モデルデプロイMicrosoft Foundry: Open Model Catalog対象リージョンで利用可能なモデルを選ぶ
Hosted Agent作成Microsoft Foundry: Create new Hosted AgentPython/C#、Responses/Invocationsを選択
ローカルテストF5または python main.pyhttp://localhost:8088/ で起動するか確認
AzureへデプロイMicrosoft Foundry: Deploy Hosted AgentACR、CPU、メモリ構成を選ぶ
Playground確認Hosted AgentsツリーからPlaygroundを開く応答とログを確認する

GUI中心で試せるため、初回検証や開発者向けハンズオンにはVS Code方式が向いています。一方、CI/CDや再現性を重視する場合は、Azure Developer CLIやSDK、REST APIによる管理を検討しましょう。

ResponsesとInvocationsはどちらを選ぶべきか

Hosted Agentでは、コンテナがResponsesまたはInvocationsのプロトコルを公開します。どちらを選ぶかで、クライアント設計や状態管理が変わります。

プロトコル向いている用途判断基準
Responsesチャットボット、アシスタント、RAG、ストリーミング、複数ターン対話OpenAI互換のResponses APIとして扱いたい場合
InvocationsWebhook、分類、抽出、独自JSON入力、非会話型処理入力・出力スキーマを自分で決めたい場合
両方チャットUIと業務APIの両方を提供したい場合同じコンテナで複数の呼び出し口を持ちたい場合

公式ドキュメントでは、迷った場合はResponsesから始め、必要に応じてInvocationsを追加できると説明されています。Responsesは会話履歴、ストリーミング、バックグラウンド実行などをプラットフォーム側で扱いやすいため、一般的なAIアシスタント用途では最初の選択肢になります。(Microsoft Learn)

scale-to-zeroとセッション保持の実務上の注意

Hosted Agentは、アイドル状態が続くとコンピュートを解除し、次のリクエストで復元するscale-to-zeroの動作を取ります。公式Quickstartでは、約15分の非アクティブ後にアイドルコンピュートが解除され、次回リクエスト時に自動復元されると説明されています。また、セッションは状態を保持し、最大30日間持続できます。(Microsoft Learn)

この仕様はコスト面では有利ですが、アプリ設計では次の点に注意が必要です。

注意点起きやすい問題対策
コールドスタート久しぶりのリクエストで応答開始が遅くなるUIに「処理開始まで数秒かかる場合があります」と表示する
セッション依存セッションIDを失うと状態を復元できないクライアント側で会話ID・セッションIDを適切に保持する
一時ファイルコンテナ内の作業ファイルを永続ストレージと誤解する$HOME/files の扱いを仕様に沿って設計する
長時間処理同期処理だけで待たせるResponsesのbackground実行やポーリング設計を検討する
負荷試験初回リクエストと連続リクエストで性能差が出るウォーム時・コールド時を分けて測定する

特に社内チャットボットとして使う場合、朝一番や昼休み明けの初回アクセスでコールドスタートが目立つ可能性があります。PoCの段階から「初回応答時間」と「連続利用時の応答時間」を分けて記録しておきましょう。

コンテナ設計で失敗しやすいポイント

Hosted Agentはマネージドな実行基盤ですが、実体はコンテナ化されたアプリケーションです。コンテナの作り方が不適切だと、Foundry側の設定が正しくても起動しません。

linux/amd64イメージを使う

公式のデプロイ記事では、Hosted Agentのプラットフォームは x86_64、つまり linux/amd64 のコンテナイメージを要求すると説明されています。Apple SiliconなどARMベースのマシンでビルドする場合は、--platform linux/amd64 を指定しないと互換性のないイメージになる可能性があります。(Microsoft Learn)

docker build --platform linux/amd64 -t myagent:v1 .

ローカルでは動くのにAzure上で起動しない場合、まずアーキテクチャ不一致を疑いましょう。

ポート8088を前提にする

Hosted Agentのコンテナは、ローカルでは8088番ポートでエンドポイントを提供する前提になっています。本番環境ではFoundry gatewayがルーティングを担うため、コンテナ自体を公開ポートとして外部公開する必要はありません。(Microsoft Learn)

ローカル検証では次のように呼び出せます。

curl -sS -H "Content-Type: application/json" \
  -X POST http://localhost:8088/responses \
  -d '{"input":"What is Microsoft Foundry?","stream":false}'

環境変数を重複定義しない

Hosted Agentのプラットフォームは、FOUNDRY_PROJECT_ENDPOINTFOUNDRY_AGENT_NAMEFOUNDRY_AGENT_VERSIONAPPLICATIONINSIGHTS_CONNECTION_STRING などの環境変数を自動注入します。公式ドキュメントでは、こうしたプラットフォーム注入変数を agent.yaml に再宣言しないよう案内されています。(Microsoft Learn)

独自に指定するのは、たとえば次のようなアプリ固有の値です。

environment_variables:
  MODEL_DEPLOYMENT_NAME: "your-model-deployment"
  APP_ENV: "dev"

シークレット値を環境変数に直接置く設計は避け、Key VaultやマネージドID、接続リソースを使う方針を検討してください。Hosted Agentの概念ページでも、コンテナイメージや環境変数にシークレットを入れないことが推奨されています。(Microsoft Learn)

監視とログ確認は最初から組み込む

AIエージェントは、通常のWeb APIよりも「なぜその応答になったか」を追いにくいシステムです。Hosted Agentの検証では、デプロイ成功だけで終わらせず、ログとトレースを見られる状態にしておきましょう。

Quickstartでは、azd ai agent monitor でコンテナのライブログやシステムイベント、セッションログを確認できます。また、Application Insightsの接続文字列がコンテナへ自動注入され、OpenTelemetryトレースを確認できると説明されています。(Microsoft Learn)

azd ai agent monitor
azd ai agent monitor --tail 20
azd ai agent monitor --type system
azd ai agent monitor --session <session-id> --follow

本番を見据えるなら、次の項目をPoCの段階で決めておくと後戻りが少なくなります。

監視項目見るべき理由
起動ログコンテナ起動失敗や依存関係エラーを検出するimport error、port conflict
リクエストログ入力件数や失敗率を見る4xx、5xx、タイムアウト
モデル呼び出しレイテンシとコスト傾向を見るモデル応答時間、トークン使用量
ツール呼び出しMCPやWeb Searchの失敗を切り分ける接続エラー、認可エラー
セッションログ状態復元やファイル操作を追跡するsession-id単位の処理履歴

管理者は、開発者にAzure AI Project Managerを付与するだけでなく、Application Insightsのトレースを確認できるMonitoring Readerなどの権限も検討してください。公式の権限リファレンスでは、Azure AI Userではトレース閲覧が十分でない場合があることも示されています。(Microsoft Learn)

移行・展開時に確認すべきこと

すでにAzure Container AppsやApp Service、AKSでAIエージェントを運用している場合、Hosted Agentへすぐ置き換えるべきかは用途によって異なります。重要なのは、Hosted Agentが「エージェント運用に特化したマネージド基盤」である一方、プレビュー段階の制限もあることです。

移行を検討しやすいケース

次の条件に当てはまる場合は、Hosted Agentへの移行検証に向いています。

  • エージェントごとのバージョン管理やロールバックを簡単にしたい
  • Foundryのモデル、ツール、Playground、監視とまとめて管理したい
  • TeamsやMicrosoft 365 Copilotへの展開を見据えている
  • 独自コードを含むエージェントをPoCから本番候補へ進めたい
  • コンテナ実行基盤の個別管理を減らしたい

Hosted Agentでは、エージェントバージョンがコンテナイメージ、CPU、メモリ、環境変数、プロトコル構成のスナップショットとして扱われます。更新時は新しいバージョンを作成し、必要に応じてカナリアやブルーグリーン展開のような考え方を取り入れられます。(Microsoft Learn)

すぐ移行しない方がよいケース

一方で、次の条件では慎重に判断しましょう。

  • プレビュー機能を本番利用できない
  • ACRを完全にプライベート化しており、パブリック到達性を許容できない
  • 独自のネットワーク制御、固定スケール、特殊なランタイム要件がある
  • 既存のCI/CD、監視、セキュリティ審査がAzure Container Apps前提で整備済み
  • エージェントではなく単純なREST APIとして十分に動いている

移行判断では「Foundryに寄せることで運用が楽になる部分」と「既存基盤で自由度を維持した方がよい部分」を分けて比較するのが現実的です。

よくあるエラーと対処法

Hosted Agentの初回デプロイで詰まりやすいポイントを、管理者と開発者の両方が見られる形で整理します。

エラー・症状主な原因対処
AuthenticationError または DefaultAzureCredential 失敗Azure認証セッションが古いazd auth logout 後に azd auth login する
ResourceNotFoundFoundryのエンドポイントURLが違うFoundryポータルの値と設定ファイルを照合する
DeploymentNotFoundモデルデプロイ名が違うBuild > Deploymentsでデプロイ名を確認する
Connection refused8088番ポートが競合している別プロセスを停止するかポート利用状況を確認する
AcrPullUnauthorizedFoundryプロジェクトのマネージドIDにACRプル権限がないACRにContainer Registry Repository ReaderまたはAcrPullを付与する
SubscriptionNotRegisteredリソースプロバイダー未登録Microsoft.CognitiveServices を登録する
azd ai agent init 失敗azdまたは拡張機能が古いazd versionazd ext upgrade azure.ai.agents を確認する

公式Quickstartでも、これらの認証、リソース、デプロイ、ACR関連のトラブルシューティングが案内されています。(Microsoft Learn)

本番導入前のチェックリスト

PoCが成功しても、そのまま本番へ進めるのは危険です。Hosted AgentはAI機能、コンテナ、ID、外部ツール、監視が組み合わさるため、次のチェックを完了してから展開しましょう。

分類チェック項目完了の目安
権限開発者、デプロイ担当、エージェントID、プロジェクトIDの権限を分離した個人Owner依存をなくしている
コンテナlinux/amd64 でビルドし、固定タグを使っているlatest だけに依存していない
ACRFoundryプロジェクトのマネージドIDがイメージをpullできるimage pull errorが出ない
ネットワークACRの到達性と社内ポリシーが整合しているプライベートACR制限を把握している
設定agent.yaml の不要なMCP接続やプレースホルダーを削除した未使用の接続IDが残っていない
シークレットコンテナイメージや環境変数に秘密情報を埋め込んでいないKey Vaultや接続リソースを検討済み
監視Application Insightsでログ・トレースを確認できる障害時に原因を追える
コストモデル、ACR、Log Analytics、Application Insightsの課金範囲を確認した検証後の削除手順も決めている
性能コールドスタートと連続利用時の応答時間を測定したユーザー体験上の許容値を決めている
プレビュープレビュー機能としての制限や変更可能性を関係者に共有した本番採用の判断材料がそろっている

次に取るべき行動

Azure AI Foundryの Quickstart: Deploy your first hosted agent は、Hosted Agentを初めて試す開発者にとって最短ルートです。ただし、実務では「動いた」で終わらせず、権限、ACR、監視、セッション、コールドスタート、プレビュー制限まで確認することが重要です。

まずは専用のリソースグループを用意し、Azure Developer CLIまたはVS Code拡張機能で最小構成のHosted Agentをデプロイしてください。そのうえで、MCPツール、Web Search、File Search、社内API連携などを段階的に追加すると、原因切り分けがしやすくなります。

管理者は、開発者に必要な権限を一時的に広く渡すのではなく、Foundryプロジェクト、ACR、Application Insights、Log Analyticsのスコープごとに役割を整理しましょう。開発者は、ローカルテスト、azd deploy、Playground確認、azd ai agent monitor によるログ確認までを一連の検証手順として残しておくと、チーム内展開やCI/CD化に進めやすくなります。

この記事を書いた人

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

コメント

コメントする

目次