で学ぼうとしてDNS Peering
いGoogle Cloud DNS
ます。Google クラウドのガイドページに従いましたが、dns ピアのサービス アカウントでマネージド ゾーンを作成できませんでした。
以下のコマンドが実行されました
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 範囲であり、相互に排他的です。