Skip to Content

Azure App Services

Azure App ServicesにMastraアプリケーションをデプロイします。

💡

このガイドでは、Mastraアプリケーションがデフォルトの npx create-mastra@latestコマンドを使用して作成されていることを前提としています。 新しいMastraアプリケーションの作成方法の詳細については、 はじめにガイドを参照してください

前提条件

  • アクティブなサブスクリプションを持つAzureアカウント
  • Mastraアプリケーションを含むGitHubリポジトリ
  • Mastraアプリケーションはnpx create-mastra@latestを使用して作成されている必要があります

デプロイ手順

新しいApp Serviceを作成する

  • Azure Portalにログインします
  • App Servicesに移動するか、上部の検索バーで検索します
  • 作成をクリックして新しいApp Serviceを作成します
  • ドロップダウンでWeb Appを選択します

App Serviceの設定を構成する

  • サブスクリプション: Azureサブスクリプションを選択します
  • リソースグループ: 新しいリソースグループを作成するか、既存のものを選択します
  • インスタンス名: アプリの一意の名前を入力します(これはURLの一部になります)
  • 公開: コードを選択します
  • ランタイムスタック: Node 22 LTSを選択します
  • オペレーティングシステム: Linuxを選択します
  • リージョン: ユーザーに近いリージョンを選択します
  • Linuxプラン: 選択したリージョンによってはプランを選択するオプションがある場合があります。ニーズに適したものを選択してください。
  • 確認 + 作成をクリックします
  • 検証が完了するまで待ち、作成をクリックします

デプロイを待つ

  • デプロイが完了するまで待ちます
  • 完了したら、次のステップセクションの下にあるリソースに移動をクリックします

環境変数を構成する

デプロイの設定を行う前に、環境変数を構成します:

  • 左サイドバーの設定 > 環境変数に移動します
  • 必要な環境変数を追加します。例:
    • モデルプロバイダーのAPIキー(例:OPENAI_API_KEY
    • データベース接続文字列
    • Mastraアプリケーションが必要とするその他の設定値
  • 適用をクリックして変更を保存します

GitHubデプロイを設定する

  • 左サイドバーのデプロイセンターに移動します
  • ソースとしてGitHubを選択します
  • AzureでGitHubに認証されていない場合は、GitHubにサインインします
  • この例では、プロバイダーとしてGitHub Actionsを維持します。
  • 組織、リポジトリ、ブランチを選択します
  • AzureがGitHubワークフローファイルを生成し、続行前にプレビューできます
  • 保存をクリックします(保存ボタンはページの上部にあります)

GitHubワークフローを変更する

⚠️

Azureによって生成されるデフォルトのワークフローは、Mastraアプリケーションでは失敗するため、変更が必要です。

Azureがワークフローを作成した後、GitHub Actionsの実行がトリガーされ、ワークフローファイルがブランチにマージされます。必要な変更なしでは失敗するため、この初回実行をキャンセルしてください。

ローカルリポジトリに最新の変更をプルし、生成されたワークフローファイル(.github/workflows/main_<your-app-name>.yml)を変更します:

  1. ビルドステップを更新する: “npm install, build, and test”という名前のステップを見つけて:

    • ステップ名を”npm install and build”に変更します
    • runセクションからnpm testコマンドを削除します
  2. zipアーティファクトステップを更新する: “Zip artifact for deployment”ステップを見つけて、zipコマンドを以下に置き換えます:

    run: (cd .mastra/output && zip ../../release.zip -r .)

    これにより、.mastra/outputからのビルド出力のみがデプロイパッケージに含まれることが保証されます。

変更をデプロイする

  • ワークフローの変更をコミットしてプッシュします
  • Azureダッシュボードのデプロイセンターでビルドが自動的にトリガーされます
  • 正常に完了するまでデプロイの進行状況を監視します

アプリケーションにアクセスする

  • ビルドが成功したら、アプリケーションが開始されるまで少し待ちます
  • Azure portalの概要タブで提供されるデフォルトURLを使用してデプロイされたアプリケーションにアクセスします
  • アプリケーションはhttps://<your-app-name>.azurewebsites.netで利用できます

Mastraサーバーに接続する

@mastra/client-jsパッケージのMastraClientを使用して、クライアントアプリケーションからMastraサーバーに接続できるようになりました。

詳細については、MastraClientドキュメントを参照してください。

import { MastraClient } from "@mastra/client-js"; const mastraClient = new MastraClient({ baseUrl: "https://<your-app-name>.azurewebsites.net", });
💡

Azure App Servicesは一部の価格帯で一時的なファイルシステムを使用します。 本番アプリケーションでは、ファイルURLを使用するLibSQLStoreなど、ローカルファイルシステムに依存するMastraストレージプロバイダーの使用を避けてください。代わりにクラウドベースのストレージソリューションの使用を検討してください。

次のステップ