排查 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 可能会显示的常见错误:

  Apigee API (staging) has not been used in project 59387731598 before or it is disabled. 
  Enable it by visiting https://console.developers.google.com/apis/api/staging-apigee.sandbox.googleapis.com/overview?project=59387731598 then retry. 
  If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.

这意味着尚未启用一个或多个必需 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. 检查负载均衡器的运行状况。“负载均衡器”标签页会显示项目的所有负载均衡器及其状态。黄色三角形表示负载均衡器后端服务健康状况不佳。

    在 Google Cloud 控制台中,前往网络服务 > 负载均衡页面。

    转到“负载均衡”

  2. 在确认负载均衡器问题后,请检查运行时实例中的虚拟机,以确保其正常运行且健康状况良好。
  3. 查看日志文件,看看是否存在错误或可能导致问题的其他类型的问题。如需详细了解如何启用和查看日志,请参阅查看日志
  4. 尝试在 Cloud 控制台中对实例组执行滚动式重新启动:
    1. 在 Google Cloud 控制台中,前往 Compute Engine > 实例组页面。

      转到“实例组”

    2. 在实例组列表中,点击在名称列中无响应的实例组。
    3. 点击滚动式重新启动/替换
    4. 在下一个屏幕上,点击重启

      此操作将重启 Envoy 实例。

实例 IP 不正确

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

  1. 在 Google Cloud 控制台中,依次前往 Apigee > 管理 > 实例页面。

    转到“实例”

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

    转到“实例模板”

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