区域
区域控制 platform 环境的运行位置、托管数据库的放置位置,以及 Observability 数据的存储位置。区域会在创建环境时固定,之后无法更改。
Mastra platform 目前提供 us 和 eu 两个数据驻留区,由 Railway 上的特定计算区域支持。数据库和 Observability 会自动跟随环境所在区域。
选择区域选择区域的直接链接
创建环境或首次向环境部署时传入 --region:
mastra deploy --env production --region eu
mastra env create staging --region us
mastra deploy --region 和 mastra env create --region 均接受 us / eu 简写,或下表中的 Railway 标准区域代码。推荐使用简写形式。
未传入区域时,默认值为 us,解析为 pdx(美国俄勒冈州波特兰)。
可用区域可用区域的直接链接
数据驻留选择器提供分布在两个区的四个 Railway 区域。us 和 eu 简写会解析为相应区中带有默认标记的区域。
| 驻留区 | Railway 代码 | 位置 |
|---|---|---|
us | pdx(默认) | 美国俄勒冈州波特兰 |
us | iad | 美国弗吉尼亚州阿什本 |
us | sfo | 美国加利福尼亚州旧金山 |
eu | ams(默认) | 荷兰阿姆斯特丹 |
如果需要将环境固定到特定数据中心,请直接传入 Railway 代码。传入 us 会选择 pdx,传入 eu 会选择 ams。
部署管道中还存在其他 Railway 区域(例如新加坡的 sin),但数据驻留选择器尚未提供这些区域,因为托管数据库和 Observability 在美国及欧盟以外暂时没有本地部署位置。传入无法识别的区域时,会回退到美国默认区域,而不会固定到该区域。
托管数据库的位置托管数据库的位置的直接链接
关联限定于环境的数据库时,platform 会选择最靠近该环境的 Provider 区域。此决策以 Server 为准,因此 mastra env db create <env> 上显式指定的 --region 会被忽略。环境的区域是唯一可信来源。
| 环境区域 | Turso 区域 | Postgres(Neon)区域 |
|---|---|---|
pdx | sjc(圣何塞) | aws-us-west-2(俄勒冈) |
iad | iad(阿什本) | aws-us-east-1(北弗吉尼亚) |
sfo | sjc(圣何塞) | aws-us-west-2(俄勒冈) |
ams | ams(阿姆斯特丹) | aws-eu-central-1(法兰克福) |
限定于项目的数据库(跨环境共享)不与单一环境绑定,因此接受显式 --region。请为该标志使用 Provider 区域 ID,而不是 us / eu 简写:
mastra env db create --kind turso --region fra
mastra env db create --kind neon --region aws-us-east-1
Turso 提供 20 多个区域,Postgres(Neon)则覆盖美国、欧盟和亚太地区的 AWS 与 Azure 区域。完整列表请参阅 Turso 区域列表和 Neon 区域列表。如果传入 Provider 未提供的代码,关联时会失败并显示 Provider 的错误。
Observability 共置Observability 共置的直接链接
Observability ingest 目前运行在两个区域:美国(爱荷华州,us-central1)和欧盟(阿姆斯特丹)。每个环境的 Trace、日志和指标都会路由到与其数据驻留区匹配的 ingest 区域:
| 环境区域 | Observability 区域 |
|---|---|
pdx、iad、sfo、us 简写 | 美国(爱荷华州) |
ams、eu 简写 | 欧盟(阿姆斯特丹) |
计算资源和数据库可部署到比 Observability 更多的 Railway 与 Provider 区域,因此并非所有组合都能完美共置。即使底层 Railway 区域是 ingest endpoint 未直接覆盖的特定城市,us 区的环境也始终将遥测数据发送到美国 ingest,eu 区的环境始终发送到欧盟 ingest。数据驻留会在区级别得到保证。来自 eu 环境的遥测数据绝不会进入美国。