问题描述
我试图在 DNS Peering
中学习 Google Cloud DNS
。
我遵循了谷歌云指南 page,但无法使用 dns peer 的服务帐户创建托管区域。
下面的命令被执行
gcloud dns managed-zones create dns-peer-zone \
--description="peering between consumer and provider" \
--dns-name="us-central1-a.c.provider-proj-299820.internal" --networks=sample-vpc-consumer \
--account=consumer-svcacct@consumer-proj-300018.iam.gserviceaccount.com \
--target-network=sample-vpc --target-project=provider-proj-299820 \
--visibility=private
我也尝试过使用自己的 DNS,如下所示
gcloud dns managed-zones create dns-peer-zone \
--description="peering between consumer and provider" \
--dns-name="us-east1.c.consumer-proj-300018.internal" --networks=sample-vpc-consumer \
--account=consumer-svcacct@consumer-proj-300018.iam.gserviceaccount.com \
--target-network=sample-vpc --target-project=provider-proj-299820 \
--visibility=private
出现以下错误:
ERROR: (gcloud.dns.managed-zones.create)
User [[email protected]] does not have permission
to access projects instance [provider-proj-299820] (or it may not exist): Forbidden
:~$
我已经为提供者项目中消费者项目的服务帐户成功更新了 DNS 对等角色,如下所示
gcloud projects add-iam-policy-binding provider-proj-299820 \
--member="serviceAccount:[email protected]" \
--role=roles/dns.peer
结果:
Updated IAM policy for project [provider-proj-299820].
bindings:
- members:
我是这两个项目的所有者,提供者在 central1
中有自定义子网,而消费者在 east1
中有自定义子网。提供者网络是 GLOBAL
而消费者是 REGIONAL
他们的IP范围是互斥的
解决方法
从错误来看,我认为该消息具有误导性和混淆性。基于此,我发现以下 PIT1 和 PIT2 作为 Google 问题跟踪器上的错误。目前没有预计到达时间。但是,您将相应地获得该线程的进一步更新。
,我试图激活为在生产者项目中创建 dns 角色而创建的服务帐户,但该服务帐户无权在其他项目中创建角色 我按照此 beingasre blog link 中提到的步骤进行了操作,但没有激活,并且成功