GCP Cloud Transfer Service 连接问题解决方案

43次阅读
没有评论

问题描述

在使用 GCP Cloud Transfer Service 同步来自本地的数据时,遇到了连接代理(agents)到池(pool)的问题。用户按照官方文档提供的 gcloud/docker 命令安装了一个传输代理,但是代理无法连接到池。用户在代理容器的输出中看到如下信息:

0B/s txSum: 0B taskResps[copy:0 delete:0 list:0] ctrlMsgAge:10m50s

以及代理的 INFO 日志如下:

Build target: //cloud/transfer/online/onprem/workers/agent:agent
Build id: <some_id>
I1222 06:47:51.288924       3 log_spam.go:51] Command line arguments:
I1222 06:47:51.288926       3 log_spam.go:53]  argv[0]: './agent'
I1222 06:47:51.288928       3 log_spam.go:53]  argv[1]: '--project-id=<project_id>'
I1222 06:47:51.288930       3 log_spam.go:53]  argv[2]: '--hostname=<hostname>'
I1222 06:47:51.288931       3 log_spam.go:53]  argv[3]: '--agent-pool=source_agent_pool'
I1222 06:47:51.288933       3 log_spam.go:53]  argv[4]: '--container-id=49be0b94bced'
...

用户还检查了所有的故障排除步骤,但是没有找到解决方法。在 GCP 日志仪表板中,用户找到了唯一相关的日志:

{
  "protoPayload": {
    "@type": "type.googleapis.com/google.cloud.audit.AuditLog",
    "authenticationInfo": {
      "principalEmail": "{my-email-id}",
      "principalSubject": "user:{my-email-id}"
    },
    ...
    "serviceName": "pubsub.googleapis.com",
    "methodName": "google.pubsub.v1.Subscriber.CreateSubscription",
    ...
    "authorizationInfo": [
      {
        "resource": "projects/{my-project-id}/topics/destination_agent_pool-cloud-ingest-control",
        "permission": "pubsub.topics.attachSubscription",
        "granted": true,
        "resourceAttributes": {}
      }
    ],
    ...
  },
  ...
}

解决方案

请注意以下操作可能因版本差异或网络环境而有所不同,建议在执行前备份重要数据。

步骤1:检查代理配置

首先,确保您的代理配置正确。比如,检查代理的 --project-id--hostname 参数是否正确设置。这些参数应该与您的项目 ID 和主机名一致。

步骤2:检查代理连接池设置

代理需要连接到池才能正常工作。您可以在代理的配置中找到 --agent-pool 参数,确保它指向了正确的池。如果池的名称是 source_agent_pool,那么这部分配置是正确的。

步骤3:检查代理容器网络设置

代理容器需要与 GCP 的服务通信。确保代理容器具有足够的网络权限,以便与 GCP 服务进行通信。您可以检查代理容器的网络设置,确保没有任何限制阻止了通信。

步骤4:检查代理日志和错误信息

查看代理容器的日志,特别是错误信息。代理容器的输出中提到了 0B/s 的传输速率,这可能意味着代理无法正常连接到池。检查代理的错误日志,找出是否有任何连接或授权问题。

步骤5:重新配置代理

如果以上步骤都无法解决问题,考虑尝试重新配置代理。您可以删除现有的代理容器并重新安装配置代理。确保在安装代理时,按照官方文档提供的命令和配置进行操作。

步骤6:联系 GCP 支持

如果您仍然无法解决问题,建议联系 GCP 支持团队寻求帮助。提供您的问题描述以及代理容器的日志和错误信息,让他们帮助您诊断问题并提供解决方案。

以上是解决 GCP Cloud Transfer Service 连接问题的一些建议步骤。如果问题仍然存在,建议根据您的具体情况进一步调查或寻求专业支持。

正文完