Mastra を Amazon EC2 にデプロイする
Mastra サーバーを Amazon EC2 にデプロイします。サーバーは自分で管理するインフラストラクチャ上で動作し、長時間実行される Agent と Workflow をサポートできます。
このガイドでは、Mastra サーバーのデプロイについて説明します。Server Adapter または Web フレームワークを使用している場合は、そのフレームワークの通常の方法でデプロイしてください。
始める前に始める前にへの直接リンク
次のものが必要です。
- Mastra アプリケーション
- Git と Node.js 22.13.0 以降がインストールされた EC2 インスタンス(Ubuntu または Amazon Linux)
本番環境では、さらに次のものが必要です。
- インスタンスを参照するドメイン名(SSL 証明書に必要)
- ドメイン用の SSL 証明書(たとえば、Let's Encrypt と Certbot を使用)
- アプリケーションにトラフィックを転送するリバースプロキシ(nginx など)
デプロイするデプロイするへの直接リンク
EC2 インスタンスに接続し、リポジトリをクローンします。
- 公開リポジトリ
- 非公開リポジトリ
git clone https://github.com/<your-username>/<your-repository>.gitgit clone git@github.com:<your-username>/<your-repository>.gitリポジトリのディレクトリに移動します。
cd "<your-repository>"依存関係をインストールします。
- npm
- pnpm
- Yarn
- Bun
npm installpnpm installyarn installbun install.envファイルを作成し、環境変数を追加します。touch .envアプリケーションの実行に必要な環境変数(モデル Provider の API キーなど)を設定してください。
OPENAI_API_KEY=<your-openai-api-key># Add other required environment variablesアプリケーションをビルドします。
- npm
- pnpm
- Yarn
- Bun
npm run buildpnpm run buildyarn buildbun run buildアプリケーションを実行します。
node --env-file=".env" .mastra/output/index.mjsこれは基本的な例です。本番環境では、PM2 や systemd などのプロセスマネージャーを使用し、アプリケーションの継続実行と再起動を管理してください。
警告エンドポイントを公開する前に、認証を設定してください。
Mastra サーバーはポート 4111 で起動していますが、ローカルからしかアクセスできません。
EC2 セキュリティグループでポート 4111 を開いて直接アクセスするか、ポート 80 と 443 でリッスンし、リクエストを
http://localhost:4111に転送するリバースプロキシ(nginx など)を設定できます。本番環境では、HTTPS を設定できるようにリバースプロキシを使用してください。HTTPS はトラフィックを暗号化し、Agent が連携するほとんどの Webhook や外部サービスで必要になります。
https://<your-ec2-address>/api/agentsにアクセスしてデプロイを確認します。Agent の一覧が JSON で返されます。これで、Mastra エンドポイントを HTTP 経由で呼び出せます。