与我们于10月8日至10日在纽约市一起学习最新的GraphQL联邦和API平台工程技巧、趋势和新闻。加入我们参加2024年在纽约市的GraphQL峰会
文档
免费开始

将无服务器路由器迁移到 AWS

了解如何将 Serverless 云路由器从 Fly.io 迁移到 AWS


注意

本页仅适用于 在 2024 年 5 月 21 日之前创建的。自该日期起创建的所有无服务器云路由自动在 AWS 上运行。

无服务器云路由正在从 Fly.io 迁移到 AWS,以提高可靠性和性能。使用 Fly.io 基础设施运行的无服务器云路由必须在 进行迁移。

谁需要迁移?

您可能需要迁移,如果

  • 您的组织正在使用 或者
  • 您的组织正在使用 但使用 无服务器 变体 的生产环境中的非生产环境。

要检查您是否需要迁移,请访问 GraphOS Studio。如果 "概述" 页面上的 "图" 的 显示 ,则需要迁移。

Cloud router region showing ord - US (Chicago) in GraphOS Studio

在 Fly.io 上将一直运行到 2024 年 6 月 27 日。在此日期之后,Fly.io 上的任何云路由将被永久删除,并且使用它们的 将不再响应请求。如有迁移问题或疑虑,请随时联系 [email protected]

有什么变化?

迁移到 AWS 提高了可靠性和性能。它还更改了云托管区域和不活动时间。凭借提高的可靠性和性能,无服务器 可以提供额外的 功能。有关受支持功能的完整列表,请参阅 定价页面

可靠的吞吐量

在 AWS 上,无服务器云路由可以持续处理每秒 10 个 (RPS) 请求的吞吐量。

注意

如果您的RPS吞吐量超过10或具有复杂架构,请考虑升级至

托管区域

在Fly.io上,云路由器托管在芝加哥(ord)。在AWS上,它们托管在弗吉尼亚北部(us-east-1)。这意味着性能更佳,尤其是在AWS上运行的客户,尤其是在us-east-1区域或附近。

注意

专用提供更广泛的AWS区域选择。

不活跃时间段

在Fly.io上,Serverless云路由器在不活跃两分钟后进入睡眠状态。睡眠状态下的路由器无法服务请求,必须唤醒以便执行。在AWS上,云路由器在不活跃七天之后进入睡眠状态。

在总共30天的不活跃后,Apollo将删除Serverless云路由器。删除操作将保留与云路由器关联的的架构,但会删除底层云路由器。Serverless路由器状态中了解更多信息。

Fly.io托管AWS托管
不活跃周期
在睡眠前
2分钟7天
不活跃周期
在删除前
30天30天

如何迁移

Apollo无法提供原地迁移。要迁移,您需要在Graph,或完全创建一个新的变体。一旦您创建了新的变体或图,您将获得新的和端点URL,您必须将其重定向给客户端流量。

⚠️ 小心

为了避免查询您的图的服务器的客户出现停机,不要删除包含现有的的变体,直到您已经创建了一个新的变体。

步骤1. 创建一个新的图

要开始,请在GraphOS Studio中创建一个新的图或变体。有关创建新图的详细信息,请参阅入门

注意

对于有Serverless变体的专用客户::

您无法从工作室迁移专用计划上的Serverless变体。相反,您必须使用Rover CLI发布新的变体或图。通过Rover创建的所有变体默认为Serverless,即使您的组织在使用专用计划。

所有 无服务器 云路由器自 2024 年 5 月 21 日起均自动在 AWS 上运行。您可以通过检查路由器区域是否为 AWS us-east-1 来确认您的新路由器正在 AWS 上运行。

Variant overview page in GraphOS Studio

创建新的 变体 生成一个新的端点 URL 和 ref。您将在后续步骤中更新这些值。

步骤 2. 添加子图

每个 变体 至少需要一个 。如果您有多个子图, 将每个子图添加到您的新 变体 中。

步骤 3. 设置路由器配置

将旧的 的配置复制并粘贴到新的路由器中。您可以在 GraphOS Studio 中的 云路由器 > 配置 下访问云路由器的配置。

Configuring the cloud router in GraphOS Studio

配置定义了重要值,如 CORS 策略和标题传播。

注意

如果您在旧的云路由器配置中设置了 密钥,也必须在新的配置中设置。密钥一旦保存就不可读取。

步骤 4. 测试

添加了所有子图并设置了云路由器配置后,尝试从 资源管理器 运行一些示例 。如果操作不执行,您可能需要启用 子图错误 来进行故障排除。

在上线前模拟生产流量。 无服务器 在 AWS 上提供的吞吐量低于 Fly.io,但更可靠。如果您超出吞吐量限制,您的客户端将收到 429 错误。

注意

无法在 无服务器 上增加吞吐量。如果您需要超过 10 RPS 的吞吐量,请考虑升级到 专用

步骤 5. 上线

要上线,更新您的客户端使用来 图的端点 URL。您可以从变体的 概览 页面查看您的新路由器的端点。

Variant overview page in GraphOS Studio

如果您在 CI/CD 中使用任何 Rover 命令,请更新 ref

一旦更新了您的客户端代码库和 Rover 命令,您可以删除承载您的 Fly.io 云路由器的变体。

下一
概览
评分文章评分在GitHub上编辑编辑论坛Discord

©2024Apollo Graph Inc.,即Apollo GraphQL公司。

隐私政策

公司