排查 Apigee 安装问题

本页面适用于 Apigee,但不适用于 Apigee Hybrid

查看 Apigee Edge 文档。

本文档列出了在安装和配置 Apigee 时常见的错误并介绍了可能的解决方法。

创建新实例

本部分介绍将请求发送到 Apigee 以创建新实例后的常见错误和可能的解决方法:

  • 401 (UNAUTHENTICATED) 表示您的凭据可能超时。请尝试续订授权令牌,如以下示例所示:
    AUTH="Authorization: Bearer $(gcloud auth print-access-token)"
  • RANGES_EXHAUSTED 表示无法容纳您最初请求的 IP 地址范围,您必须请求新的范围。您最初在第 2 步:设置网络中创建了一个范围请求。
    1. 创建以下环境变量:
    2. RANGE_NAME_1=YOUR_RANGE_NAME_1
        RANGE_NAME_2=YOUR_RANGE_NAME_2
        NETWORK_NAME=YOUR_NETWORK_NAME
    3. 验证现有地址范围的详细信息,并确保其不会与新范围重叠。
    4.  gcloud compute addresses list --global --project=$PROJECT_ID
       gcloud compute addresses describe $RANGE_NAME_1 --global --project=$PROJECT_ID 
    5. 如需请求 Apigee 为专用服务连接选择 IP 地址的新范围,请执行以下 gcloud 命令:
    6.  gcloud compute addresses create $RANGE_NAME_2
                  --project=$PROJECT_ID --global --prefix-length=16
                  --description="additional peering range for Google services" --network=$NETWORK_NAME
                  --purpose=VPC_PEERING 

      此命令会创建一个名为 $RANGE_NAME_2 的新范围。

    7. 验证旧地址范围和新地址范围的详细信息
    8.  gcloud compute addresses list --global --project=$PROJECT_ID 
       gcloud compute addresses describe $RANGE_NAME_1 --global --project=$PROJECT_ID 
       gcloud compute addresses describe $RANGE_NAME_2 --global --project=$PROJECT_ID 
    9. 验证现有的 VPC 对等互连详情:
    10.  gcloud services vpc-peerings list \
                  --network=$NETWORK_NAME \
                  --service=servicenetworking.googleapis.com \
                  --project=$PROJECT_ID 
    11. 执行以下命令以更新您的连接请求:
    12.  gcloud services vpc-peerings update
                  --service=servicenetworking.googleapis.com --network=$NETWORK_NAME
                  --ranges=$RANGE_NAME_1,$RANGE_NAME_2 --project=$PROJECT_ID 
    13. 验证现有的 VPC 对等互连详情:
    14.  gcloud services vpc-peerings list \
                  --network=$NETWORK_NAME \
                  --service=servicenetworking.googleapis.com \
                  --project=$PROJECT_ID 

创建 Apigee 组织

以下示例展示了当您首次尝试创建组织时,Apigee 可能会显示的常见错误:

创建组织错误

这意味着尚未启用一个或多个必需 API。查看第 1 步:启用所需的 API 并确保所有 API 均已启用,然后再继续操作。

另外,您可能会遇到以下 HTTP 错误:

  • 401 (UNAUTHENTICATED) 表示您的凭据可能超时。请尝试续订授权令牌,如以下示例所示:
    AUTH="Authorization: Bearer $(gcloud auth print-access-token)"
  • 404 (Not Found) 可能是以下因素造成的:
    • 您输入的端点/请求网址有误。检查您是否为 API 调用的网域指定了 apigee.googleapis.com
    • 您的项目可能尚未预配。与 Apigee 销售人员联系
  • 409 (Conflict) 通常表示指定的组织名称已存在。组织名称必须是全局唯一的。请为组织选择其他名称,然后重新发出命令。(如果您要通过命令行创建组织,请在请求的载荷中指定名称。请记住,您必须创建一个与项目同名的组织,因此除非有错别字,否则不会发生这种情况。)

如果您查看新组织请求的状态,Apigee 可能会返回以下错误:

  • 403 (Permission Denied) 可能表示尚未创建组织。请稍等片刻,然后重试。如果您在首次尝试创建新组织时 Apigee 返回 403,则可能表示您的一个或多个 API 尚未启用。请确保您已启用第 1 步:启用所需的 API 中所述的所有 API。

部署示例

负载均衡器健康状况不佳

部署示例代理时,Apigee 可能会返回 502 (Bad Gateway) HTTP 错误。在这种情况下,请尝试以下操作:

  1. 打开 Cloud 控制台
  2. 检查负载均衡器的运行状况。在 Cloud 控制台中,选择网络服务 > 负载均衡负载均衡器标签页会显示项目的所有负载均衡器及其状态。黄色三角形表示负载均衡器后端服务运行状况不佳。
  3. 在确认负载均衡器问题后,请检查运行时实例中的虚拟机,以确保其正常运行且健康状况良好。
  4. 查看日志文件,看看是否存在错误或可能导致问题的其他类型的问题。如需详细了解如何启用和查看日志,请参阅查看日志
  5. 尝试在 Cloud 控制台中对实例组执行滚动式重新启动:
    1. 选择 Compute Engine > 实例组
    2. 在实例组列表中,点击在名称列中无响应的实例组。
    3. 点击滚动式重新启动/替换,如以下示例所示:

      Compute Engine 滚动式重新启动

    4. 在下一个屏幕上,点击重启

      此操作将重启 Envoy 实例。

实例 IP 不正确

如果您删除并重新创建 Apigee 实例,Apigee 实例 IP 会更改,并且可能与托管式实例组 (MIG) 模板的端点 IP 不同步。例如,MIG 模板仍将包含已删除实例的旧 IP。MIG 模板是在 Apigee 预配过程中创建的。在这种情况下,请尝试遵循以下步骤,使用正确的 Apigee IP 更新 MIG 模板:

  1. 打开 Apigee 界面。

    进入 Apigee 界面

  2. 进入管理 > 实例
  3. 记下实例的 IP 地址。在后续步骤中您将需要知道此 IP。例如:10.117.200.2
  4. 在 Google Cloud 控制台中,进入实例模板页面。

    进入“实例模板”

  5. 打开实例模板。您需要打开映射到负载均衡器的后端使用的实例模板。
  6. 向下滚动以在自定义元数据部分下找到 ENDPOINT IP。
  7. 如果此端点 IP 与您在 Apigee 界面中记下的 IP 不同,您必须更改实例模板 IP 以匹配 Apigee 实例 IP。请参阅更改实例 IP