メインコンテンツへ移動

Mastra を Amazon EC2 にデプロイする

Mastra サーバーを Amazon EC2 にデプロイします。サーバーは自分で管理するインフラストラクチャ上で動作し、長時間実行される Agent と Workflow をサポートできます。

情報

このガイドでは、Mastra サーバーのデプロイについて説明します。Server Adapter または Web フレームワークを使用している場合は、そのフレームワークの通常の方法でデプロイしてください。

始める前に
始める前にへの直接リンク

次のものが必要です。

本番環境では、さらに次のものが必要です。

  • インスタンスを参照するドメイン名(SSL 証明書に必要)
  • ドメイン用の SSL 証明書(たとえば、Let's Encrypt と Certbot を使用)
  • アプリケーションにトラフィックを転送するリバースプロキシ(nginx など)

デプロイする
デプロイするへの直接リンク

  1. EC2 インスタンスに接続し、リポジトリをクローンします。

    git clone https://github.com/<your-username>/<your-repository>.git

    リポジトリのディレクトリに移動します。

    cd "<your-repository>"
  2. 依存関係をインストールします。

    npm install
  3. .env ファイルを作成し、環境変数を追加します。

    touch .env

    アプリケーションの実行に必要な環境変数(モデル Provider の API キーなど)を設定してください。

    OPENAI_API_KEY=<your-openai-api-key>
    # Add other required environment variables
  4. アプリケーションをビルドします。

    npm run build
  5. アプリケーションを実行します。

    node --env-file=".env" .mastra/output/index.mjs

    これは基本的な例です。本番環境では、PM2systemd などのプロセスマネージャーを使用し、アプリケーションの継続実行と再起動を管理してください。

    警告

    エンドポイントを公開する前に、認証を設定してください。

  6. Mastra サーバーはポート 4111 で起動していますが、ローカルからしかアクセスできません。

    EC2 セキュリティグループでポート 4111 を開いて直接アクセスするか、ポート 80 と 443 でリッスンし、リクエストを http://localhost:4111 に転送するリバースプロキシ(nginx など)を設定できます。

    本番環境では、HTTPS を設定できるようにリバースプロキシを使用してください。HTTPS はトラフィックを暗号化し、Agent が連携するほとんどの Webhook や外部サービスで必要になります。

  7. https://<your-ec2-address>/api/agents にアクセスしてデプロイを確認します。Agent の一覧が JSON で返されます。

  8. これで、Mastra エンドポイントを HTTP 経由で呼び出せます。

次のステップ
次のステップへの直接リンク