我正在努力学习DNS Peering
。Google Cloud DNS
我遵循了谷歌云指南页面,但无法使用 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 [consumer-svcacct@consumer-proj-300018.iam.gserviceaccount.com] 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:consumer-svcacct@consumer-proj-300018.iam.gserviceaccount.com" \
--role=roles/dns.peer
结果:
Updated IAM policy for project [provider-proj-299820].
bindings:
- members:
我是这两个项目的所有者,提供者有自定义子网central1
,消费者有自定义子网east1
。提供商网络是GLOBAL
消费者,REGIONAL
他们的 IP 范围是互斥的