Dataflow 服务帐户无法访问网络默认值

Posted

技术标签:

【中文标题】Dataflow 服务帐户无法访问网络默认值【英文标题】:Network default is not accessible to Dataflow Service account 【发布时间】:2018-12-24 01:04:24 【问题描述】:

当我收到此错误时,在没有本地 VPC 网络的项目中启动数据流作业 (2018-07-16_04_25_02-6605099454046602382) 时遇到问题

Workflow failed. Causes: Network default is not accessible to Dataflow
Service account

有一个共享 VPC 连接到项目,其网络名为 default,在 us-central1 中具有子网 default - 但是用于运行数据流作业的服务帐户无法访问它。我已经给dataflow-service-producer服务帐号Compute Network User,没有任何明显的效果。关于如何处理的任何想法?

【问题讨论】:

【参考方案1】:

Cloud Dataflow中子网的使用需要在运行流水线时指定子网参数;但是,如果子网位于共享 VPC 网络中,则需要使用基于以下格式的完整 URL,正如您所提到的。

https://www.googleapis.com/compute/v1/projects/<HOST_PROJECT>/regions/<REGION>/subnetworks/<SUBNETWORK>

此外,在这种情况下,建议验证您是否将项目的 Dataflow 服务帐户添加到共享 VPC 的项目 IAM 表中,并为其授予 “计算网络用户” 角色权限,以确保该服务具有所需的访问范围。

最后,似乎Subnetwork parameter Google 的官方文档已经提供了有关此问题的详细信息。

【讨论】:

【参考方案2】:

--subnetwork option 与以下(未记录的)完全限定子网格式一起使用,可以运行 Dataflow 作业。其中PROJECT 是托管共享 VPC 的项目的名称,REGION 与您运行数据流作业的区域匹配。

--subnetwork=https://www.googleapis.com/compute/alpha/projects/PROJECT/regions/REGION/subnetworks/SUBNETWORK

【讨论】:

以上是关于Dataflow 服务帐户无法访问网络默认值的主要内容,如果未能解决你的问题,请参考以下文章

在 Dataflow 中创建作业时出错(当前用户不能充当服务帐户)

设置了DMZ,外网无法访问

限制 Kubernetes 服务帐户访问特定命名空间

外网无法访问nas搞了一个月了,各种方法全试了,怎么办NAS中国

外网无法访问自己搭建的web服务问题

wamp和花生壳,怎么设置让外网可以访问