メインコンテンツへ移動

環境

すべてのplatformプロジェクトには、1つ以上の環境が含まれます。

環境とは、固有のURL、環境変数、デプロイ履歴を持つ、分離されたデプロイ先です。環境ごとに独自のホステッドデータベースを持つこともできます。

環境を使用すると、1つのプロジェクト内で同じコードベースのproductionstaging、previewバージョンを実行できます。

最初のmastra deployproduction環境が作成されます。CLIを使用するか、まだ存在しない名前にデプロイして、環境を追加できます。

環境を作成する
環境を作成するへの直接リンク

環境を明示的に作成します。

mastra env create staging

または、デプロイ時に確認プロンプトを表示して作成します。

mastra deploy --env staging

mastra env createのデフォルトはstagingタイプです。--typeを渡すとstagingまたはpreviewを明示的に設定でき、--regionを渡すと環境を実行する場所を選択できます。

mastra env create eu-preview --type preview --region eu

各プロジェクトには、最初のデプロイで作成されるproduction環境が1つだけあります。リージョンは作成時に固定されます。環境に接続されたデータベースは、その環境のリージョン付近に自動配置され、Observabilityデータは対応するデータレジデンシーゾーンの取り込みリージョンにルーティングされます。対応リージョン、データベースの配置、Observabilityのコロケーションについては、リージョンを参照してください。プロジェクトごとの環境数はプランによって異なります。

環境の一覧を表示する
環境の一覧を表示するへの直接リンク

mastra env list

出力には、各環境の名前、リージョン、アクティブなデプロイの状態、接続されたデータベースによって注入された管理対象の環境変数が表示されます。CIで機械可読な出力を得るには、--jsonを渡します。

すべてのmastra envコマンドは、MASTRA_PROJECT_ID--projectフラグ、最初のデプロイで書き込まれた.mastra-project.jsonファイルの順にプロジェクトを解決します。プロジェクトディレクトリから実行すれば、プロジェクト名を指定する必要はありません。

環境変数
環境変数への直接リンク

環境は、次の3つのスコープから変数を解決します。

  • 管理変数: 接続されたホステッドデータベースによって注入されます(例: TURSO_DATABASE_URL)。platformが定義するため、編集できません。
  • 環境スコープ変数: ダッシュボードを通じて1つの環境に保存されます。staging用とproduction用サービスのAPIキーなど、環境ごとに異なる値に使用します。
  • プロジェクトスコープ変数: プロジェクトに保存され、すべての環境で共有されます。

環境スコープ変数とプロジェクトスコープ変数を合わせたものが、デプロイページで説明する保存変数です。

変数はデプロイの開始時に適用されます。完全な再デプロイを行わず、変更した変数を実行中のサービスに適用するには、次を実行します。

mastra env restart staging

環境のデプロイで実際に使用される変数一式を確認するには、環境スコープとプロジェクトスコープの値をマージし、管理変数を名前付きで含めたローカルenvファイルとして取得します。

mastra env vars pull staging --output .env.staging

管理変数の値はデプロイ時に注入され、ファイルには書き込まれません。名前だけのコメントとして表示されます。

注記

環境変数で管理対象データベースの変数を上書きすることはできません。環境を別のデータベースに接続するには、代わりに環境スコープのデータベースを接続してください。

デプロイ履歴
デプロイ履歴への直接リンク

すべての環境のデプロイを一覧表示するか、1つの環境に絞り込みます。

mastra env deploys
mastra env deploys staging

各行には、デプロイの状態、環境、タイムスタンプ、現在アクティブなデプロイが表示されます。デプロイはqueued → uploading → building → deploying → runningの順に遷移し、新しいバージョンがトラフィックを処理し始めたときにのみ、platformはrunningと報告します。

環境のデータを分離する
環境のデータを分離するへの直接リンク

ホステッドデータベースは、デフォルトで1つの環境をスコープとするため、productionとstagingはそれぞれ独自のデータベースを読み書きします。

mastra env db create production --kind turso --name my-project-production-db
mastra env db create staging --kind turso --name my-project-staging-db

すべての環境で1つのデータベースを共有する場合は、代わりに--sharedを指定して接続します: mastra env db create --kind turso --shared

環境で使用できるデータベースは、Providerごとに1つだけです。同じProviderの共有(--shared)データベースがすでにプロジェクトにある場合、環境スコープのデータベースを接続しようとすると変数名の競合により拒否されるため、先にmastra env db deleteで共有データベースを削除してください。データベースを削除すると、Provider上のデータベースとその全データが破棄されるため、保持する必要があるデータはエクスポートしてください。スコープの詳細については、ホステッドデータベースを参照してください。

環境を削除する
環境を削除するへの直接リンク

mastra env delete staging

CLIは削除前に確認を求めます。環境を削除すると、そのデプロイと保存変数も削除されます。