IBM Cloud Docs
有关 VPC 的故障诊断

有关 VPC 的故障诊断

本文档涵盖您可能会遇到的常见问题,并提供了一些有用的提示。

使用 API 时采用 DEBUG 方式或 verbose 方式

例如,可以向 --verbose 命令添加 curl,然后向我们发送返回的 X-Request-Id: 值,以便我们可以对问题进行故障诊断。 遇到连接问题时,--verbose 标志特别有用。

另一个选项是向 -i 命令添加 curl 标志,以便支持团队可以在您请求的响应中看到头。 您需要联系支持人员时,此标志在大多数情况下非常有用。

API 调用需要不记名令牌

通过 cURL 命令使用 API 时,可能需要在 Authorization 头中包含“Bearer”,具体取决于 $iam_token 中的内容。 如果其中包含“Bearer”这个词,那么在 Authorization 头中不用重复包含该词。 大部分示例假定“Bearer”包含在头中。

使用 CLI 时开启 TRACE 方式

要在使用 CLI 时开启 TRACE(调试)方式,请在 CLI 命令前面设置 IBMCLOUD_TRACE=true

例如:

IBMCLOUD_TRACE=true ibmcloud is pubgws

将其他端点用于 CLI

要更改 IBM Cloud® CLI 默认使用的 VPC API 端点,请在使用 CLI 前设置环境变量 IBMCLOUD_IS_API_ENDPOINT。 例如

export IBMCLOUD_IS_API_ENDPOINT=api.dev.domain.com

常见问题

以下是您可能迂到的一些困难。

未获授权(401 或 403 错误)

您的账户可能未获得 VPC 授权。 请确保使用的是已加载的帐户。

IAM 令牌已到期

该服务不再返回任何 JSON,而只是对所有请求给出 HTTP“401 未授权”。 如果 IAM 令牌过期,大约一小时后会出现此错误。 重新运行 iam_token=$(ibmcloud iam oauth-tokens | awk '/IAM/{ print $4; }') 来刷新 IAM 令牌。

无法创建 VPC 或其他资源

如果无法创建 VPC 或其他资源,请确保账户所有者已授予您正确的 权限

没有来自 API 的响应

如果 API 不再返回任何 JSON,很可能是你的 IAM 令牌过期了,需要刷新。 再次登录 IBM Cloud 或运行 iam_token=$(ibmcloud iam oauth-tokens | awk '/IAM/{ print $4; }') 刷新令牌。

无法删除资源

某些操作 (例如,创建和删除虚拟服务器实例以及创建和删除子网) 是通过 API 异步完成的。 因此,建议您先轮询要删除的资源,以检查删除情况,然后再继续。

由于这些异步操作,从系统中删除资源可能需要几分钟时间。 为了便于删除,最佳做法是按以下顺序执行删除操作:

  1. 删除实例
  2. 删除公共网关
  3. 删除子网
  4. 删除 VPC

有关详细信息,请参阅 删除 VPC

跟踪标识为空

通常,当跟踪 ID 为空时,是因为返回的 JSON 与预期的 API 不一致。 尝试运行命令 RIAAS_DEBUG=yes ibmcloud is server-rm 3fb7c1eb-45fd-4c85-962e-617f216e7393(用正确的服务器 ID 标记代替)并检查输出结果。

VPC 公共网关断开连接

IKS 集群与后端数据库之间的 TCP 连接由 VPC 公共网关在 TCP 空闲时间 (例如,5 分钟) 内断开。

对于 TCP 连接,VPC 公共网关具有固定的 4 分钟超时,并且不可配置。 发生此问题的原因是空闲时间的 Linux 缺省超时为 2 小时 (仅当连接处于空闲状态 2 小时,才会发送 TCP 保持活动包)。

将空闲时间设置为小于 4 分钟 (例如,180 秒)。