Déployer Mastra sur Amazon EC2
Déployez votre serveur Mastra sur Amazon EC2. Le serveur s’exécute sur une infrastructure que vous gérez et peut prendre en charge des agents et des workflows de longue durée.
Ce guide explique comment déployer le serveur Mastra. Si vous utilisez un adaptateur de serveur ou un framework web, procédez comme vous le feriez habituellement pour ce framework.
Avant de commencerLien direct vers Avant de commencer
Vous aurez besoin des éléments suivants :
- Une application Mastra
- Une instance EC2 (Ubuntu ou Amazon Linux) sur laquelle Git et Node.js 22.13.0 ou version ultérieure sont installés
Pour la production, vous aurez également besoin des éléments suivants :
- Un nom de domaine pointant vers votre instance (nécessaire pour les certificats SSL)
- Un certificat SSL pour votre domaine (par exemple, en utilisant Certbot avec Let’s Encrypt)
- Un proxy inverse (par exemple, nginx) pour transférer le trafic vers votre application
DéployerLien direct vers Déployer
Connectez-vous à votre instance EC2 et clonez votre dépôt :
- Dépôt public
- Dépôt privé
git clone https://github.com/<your-username>/<your-repository>.gitgit clone git@github.com:<your-username>/<your-repository>.gitAccédez au répertoire du dépôt :
cd "<your-repository>"Installez les dépendances :
- npm
- pnpm
- Yarn
- Bun
npm installpnpm installyarn installbun installCréez un fichier
.envet ajoutez-y vos variables d’environnement :touch .envPensez à définir les variables d’environnement nécessaires à l’exécution de votre application (par exemple, la clé API de votre fournisseur de modèles) :
OPENAI_API_KEY=<your-openai-api-key># Add other required environment variablesGénérez l’application :
- npm
- pnpm
- Yarn
- Bun
npm run buildpnpm run buildyarn buildbun run buildExécutez l’application :
node --env-file=".env" .mastra/output/index.mjsIl s’agit d’un exemple de base. En production, utilisez un gestionnaire de processus tel que PM2 ou systemd pour maintenir votre application en cours d’exécution et gérer les redémarrages.
attentionConfigurez l’authentification avant d’exposer publiquement vos points de terminaison.
Votre serveur Mastra s’exécute désormais sur le port 4111, mais il n’est accessible que localement.
Vous pouvez ouvrir le port 4111 dans votre groupe de sécurité EC2 pour permettre un accès direct, ou configurer un proxy inverse (tel que nginx) afin qu’il écoute sur les ports 80 et 443 et transfère les requêtes vers
http://localhost:4111.En production, vous devriez utiliser un proxy inverse afin de pouvoir configurer HTTPS. HTTPS chiffre le trafic et est requis par la plupart des intégrations de webhooks et des services externes avec lesquels vos agents interagissent.
Vérifiez votre déploiement à l’adresse
https://<your-ec2-address>/api/agents, qui devrait renvoyer une liste JSON de vos agents.Vous pouvez maintenant appeler vos points de terminaison Mastra via HTTP.