次の方法で共有


エージェントを Azure にデプロイする

Important

Microsoft Agent 365 の早期アクセスを利用するには、フロンティア プレビュープログラムに参加する必要があります。 フロンティアは、Microsoft の最新の AI イノベーションと直接接続します。 Frontier のプレビューは、お客様の契約書に記載されている既存のプレビュー利用規約に従います。 これらの機能は現在開発中であるため、提供状況や機能は今後変更される可能性があります。

エージェントを構築し、ローカルでテストしました。次はクラウドで稼働させるタイミングです。 この手順は省略可能であり、エージェントを既にクラウドにデプロイしている場合はスキップできます (Azureする必要もありません)。

このガイドでは、エージェント コードを展開してAzureし、Microsoft 管理センターに発行する手順について説明します。このコードは、組織にとって検出可能な資産になります。

また、Azureではなく、Amazon Web Services や Google Cloud Platform などの他のクラウド プロバイダーにエージェントを既にデプロイしている場合に、メッセージング エンドポイントを更新する方法を示すリソースもあります。

[前提条件]

開始する前に、次のことを確認してください。

必要なアカウントとアクセス許可

必要なツール

Azureにデプロイする

a365 deployコマンドには2つのサブコマンドがあります:

  • a365 deploy app - セットアップ中に作成されたAzure Web アプリにエージェント コードをデプロイします。
  • a365 deploy mcp - エージェントブループリントのMCPサーバー権限を更新します。

このガイドでは、エージェント アプリケーション コードをAzureにデプロイすることに重点を置いています。

エージェントアプリケーションをデプロイする

a365 deployコマンドを実行してください:

a365 deploy

配置オプション

デプロイコマンドはいくつかの便利なオプションをサポートしています:

Option Description 使用事例
--dry-run 実行せずに展開されるものを表示します 実行前のデプロイのプレビューステップ
--inspect デプロイ前に一時停止して、公開フォルダやZIPの内容を確認する デバッグ展開パッケージの問題
--restart ビルドをスキップし、既存のpublishフォルダを圧縮します 手動変更後の迅速な反復
-v--verbose 詳細なログ記録を可能にします デプロイに関する問題のトラブルシューティング
-c--config カスタム設定ファイルパスを指定します 非デフォルト設定の使用

a365 deploy --helpを使って利用可能なすべてのオプションやサブコマンドを確認してください。

デプロイメントの例

# Preview what will be deployed
a365 deploy --dry-run

# Deploy with verbose logging for troubleshooting
a365 deploy --verbose

# Inspect the deployment package before uploading
a365 deploy --inspect

デプロイのしくみ

デプロイメントは使うプログラミング言語によって異なる仕組みになります。

.NET エージェントの deploy コマンド:

  • .NET プロジェクト ファイル (*.csproj*.fsproj、または *.vbproj) を検出します。
  • NuGetパッケージを復元します dotnet restore
  • リリース設定の dotnet publish を使ってアプリケーションを公開します
  • エントリーポイントのDLLコマンド (例えば、dotnet YourApp.dll) でOryxマニフェストを作成します。
  • 検出Azure.NETバージョンに基づいてランタイムを構成します (既定値: DOTNET|8.0)
  • zip ファイル経由で展開して進行状況をリアルタイムで表示する

Warnung

Secrets 管理: デプロイするときは、環境変数 (API キーとシークレットを含む) をAzure App設定として格納します。 環境変数は設定によく使われますが、それらはプレーンテキストで保存されています。 運用環境では、機密性の高いシークレットには Azure Key Vault を使用します。 ASP.NET Core および Azure Key Vault 構成プロバイダーでの開発中のアプリ シークレットの安全なストレージについて説明します。 機密情報を含む .env ファイルをソース管理に絶対にコミットしないでください。

デプロイを検証する

展開終了後は、このリストと以下の指示を使って展開を確認してください

展開コマンドがエラーなく完了しました
ウェブアプリは実行中です
アプリケーションログは起動成功を示しています
環境変数の設定が完了します
メッセージングエンドポイントが応答します

デプロイコマンドがエラーなく完了したことを確認します

デプロイコマンドを実行すると、以下が見えるはずです:

✓ Build completed successfully
✓ Deployment completed successfully

展開ログにも成功が示されているはずです:

  1. 構成した webAppName を検索し、Azure ポータルで Web アプリに移動します。
  2. 設定>でアプリの設定を確認してください。
  3. 展開センターの展開ログを確認してください。

詳細な展開履歴を見るには:

  1. Azure Portal > Web アプリに移動します
  2. 展開>展開センター
  3. 最新のデプロイのログを見る

もしビルドが失敗した場合:

  • まずはローカルでクリーンアップと再構築を行い、ビルドが正常かどうかを確認してください。
  • 依存関係の欠落や構文の誤りがないか確認してください。
  • デプロイコマンドが失敗する」を参照してください。

展開後にアプリがクラッシュした場合:

  • ログで特定のエラーメッセージを確認してください。
  • 必要な環境変数がすべて設定されているか確認してください。
  • 起動 時のアプリケーションクラッシュを参照してください。

ウェブアプリが動作しているか確認してください

az webapp showコマンドを使ってウェブアプリが動いているか確認してください。

az webapp show --name <your-web-app> --resource-group <your-resource-group> --query state

このコマンドの期待される出力は Runningです。

アプリケーションログに成功したスタートアップが表示されているか確認してください

Azure ポータルで Web アプリのログを表示するには:

  1. Azure ポータルで名前で Web アプリを検索します。
  2. Overview>、Logs>、Log Streamへ行ってください。

または、PowerShell az webapp log tail コマンド を使ってウェブアプリのログを読み取ることもできます:

az webapp log tail --name <your-web-app> --resource-group <your-resource-group>

ログにクラッシュやエラーメッセージがある場合は、「 起動時のアプリケーションクラッシュ」を参照してください。

環境変数の設定を確認しましょう

Azure ポータルで次の手順を実行します。

  1. ウェブアプリに移動します。
  2. 設定に行き、>環境変数を選択してください。
  3. 設定が存在しているか確認してください

環境変数が設定されていない場合:

メッセージングエンドポイントの応答を確認しましょう

ウェブアプリの 概要 ページにあるエンドポイントがPowershellや他の方法で存在しているかをテストしてください。 それ以外は、 メッセージングエンドポイントに関する404を参照してください。

次のステップ

次に、エージェントアプリケーションをMicrosoft管理センターに公開し、そこからエージェントインスタンスやユーザーを作成できます。

エージェントはクラウド上で稼働し、エージェントからのリクエストに対応できる状態です。 エージェントが実際の依頼を処理する際には、コードの次のステップを考慮してください:

  • パフォーマンス監視: 観察機能 を使ってエージェントの行動を追跡し、応答を最適化します。
  • ツールの追加: ツールカタログ を探索してエージェントの能力を拡張しましょう。
  • 反復と改善:エージェントコードを更新し、再デプロイし、再公開します(バージョン番号は必ず増やしてください!)。
  • 組織全体にスケールを広げる:エージェントの成功事例を共有し、採用を促進しましょう。

トラブルシューティング

このセクションでは、エージェントをAzureにデプロイするときの一般的な問題について説明します。

ヒント

Agent 365トラブルシューティングガイドには、Agent 365 の開発ライフサイクルの各段階に対応した高レベルのトラブルシューティング推奨事項、ベストプラクティス、トラブルシューティングコンテンツへのリンクが含まれています。

デプロイコマンドが失敗します

症状: コマンド実行中のエラー a365 deploy

一般的な原因と解決策:

  • ビルドエラー

    詳細なコンパイルエラーを確認するためにローカルでプロジェクトを再構築する方法:

    # .NET
    dotnet clean
    dotnet build --verbosity detailed
    
    # Python
    uv build
    
    # Node.js
    npm install
    npm run build
    
  • 構成が欠けている

    両方の設定ファイルが存在し、正しく確認してください:

    # Verify configuration files exist
    Test-Path a365.config.json
    Test-Path a365.generated.config.json
    
    # Display configuration file contents
    a365 config display
    
    # Display generated configuration file contents
    a365 config display -g
    
  • Azure認証の有効期限が切れています

    もう一度Azureにサインインしてください。

    az login
    az account show  # Verify correct subscription
    
  • ウェブアプリが作成されていません

    ターゲットが存在することを確認するWeb Appsを一覧表示します。

    # List Web Apps in resource group
    az webapp list --resource-group <your-resource-group> --output table
    

    Webアプリが存在しない場合は、再度セットアップを実行してください:

    # Verify setup was completed
    a365 config display -g
    # Check for: webAppName
    
    # Check Azure resources exist
    az resource list --resource-group <your-resource-group>
    
  • 展開ログを確認してください

    詳細な展開ログを見るには az webapp log tail コマンド を使用します:

    az webapp log tail --name <your-app-name> --resource-group <your-resource-group>
    
  • 検証:

    # Web App should be running
    az webapp show --name <your-app-name> --resource-group <your-resource-group> --query state
    # Expected: "Running"
    

ウェブアプリが停止されました

症状: デプロイは成功しましたが、Webアプリは動いていません。

解決策:az webapp startaz webapp showを使ってウェブアプリを起動し、動作を確認しましょう。

# Start the Web App
az webapp start --name <your-app> --resource-group <your-resource-group>

# Verify it's running
az webapp show --name <your-app> --resource-group <your-resource-group> --query state

起動時にアプリケーションがクラッシュする

症状: ウェブアプリは起動しますが、すぐにクラッシュします。ログにはエラーが表示されます。

一般的な原因:

  • 依存関係が欠けている - ビルド出力がすべての必要なパッケージが含まれているか確認してください
  • 環境変数が不足している - 必要な設定がすべて設定されているか確認してください
  • Runtime バージョンの不一致 - Azure ランタイムが開発環境と一致することを確認する
  • コードエラー - 特定の例外がないかアプリケーションログを確認してください

解決策:az webapp log tailaz webapp config appsettings listaz webapp config appsettings setコマンドを使ってログの閲覧、環境変数の確認、欠落変数の設定を行います。

# View application logs
az webapp log tail --name <your-app> --resource-group <your-resource-group>

# Check environment variables
az webapp config appsettings list --name <your-app> --resource-group <your-resource-group>

# Manually set a missing variable
az webapp config appsettings set --name <your-app> --resource-group <your-resource-group> --settings KEY=VALUE

メッセージングエンドポイントでの404エラー

症状: Webアプリは稼働していますが、エンドポイント /api/messages 404を返します。

Solution:

  1. エージェントコードのルート設定を確認してください。
  2. エンドポイントハンドラーが正しく登録されているか確認してください。
  3. 展開時に正しいエントリーポイントが指定されていることを確認してください。

エンドポイントに対して GET リクエストを送信してテストします。 az webapp config showコマンドを使ってウェブアプリの設定を確認してください。

curl https://<your-app-name>.azurewebsites.net/api/messages
az webapp config show --name <your-app> --resource-group <your-resource-group>

環境変数が設定されていないか、正しくない

症状: デプロイは成功しますが、エージェントは動作しません。ログに設定エラーが欠けている。

解決策: 環境変数の検証と更新。 az webapp config appsettings listaz webapp config appsettings setコマンドを使って環境変数を確認し、欠落変数を設定してください。 その後、再展開します。

# List all app settings
az webapp config appsettings list --name <your-app> --resource-group <your-resource-group>

# Set a specific variable
az webapp config appsettings set --name <your-app> --resource-group <your-resource-group> --settings API_KEY=your-value

# Re-run deployment (it will update app settings from .env)
a365 deploy

デプロイメントパッケージの問題

症状: デプロイメントはアップロードされますが、アプリケーションが正しく起動しません。

解決策:a365 deploy --inspectフラグを使って展開パッケージを確認してください:

# Inspect what will be deployed
a365 deploy --inspect

このフラグはアップロード前に一時停止し、以下が可能です:

  • 公開フォルダの内容を確認してください
  • ZIPの内容を確認する
  • すべてのファイルが必ず含まれていることを確認してください

よく確認すべき問題:

  • 欠落があります node_modules (Node.js)
  • コンパイル済み DLL がない (.NET)
  • 不足しているPython パッケージ

ビルドはローカルで成功しますが、Azureで失敗する

Symptom: Code はコンピューター上で正常にビルドされますが、Azureデプロイ中に失敗します。

ソリューション

  • プラットフォーム固有の依存関係がないか確認してください

    • 一部のパッケージはプラットフォーム固有のビルドを持っています。
    • Linux 上で実行される Azure Web Apps の依存関係がサポートされていることを確認します。
  • ランタイムバージョンが一致しているか確認してください

    これらのコマンドを実行します。

    # Check your local version
    dotnet --version  # .NET
    node --version    # Node.js
    python --version  # Python
    

    portal での Azure ランタイムとの比較: SettingsConfigurationGeneral settingsStack settings

  • 冗長ログを用いたテスト

    a365 deploy --verbose
    

追加のサポートは、こちらをご覧ください: メッセージングエンドポイントのトラブルシューティング