Google Cloud VPC ネットワーク ピアリング - DNS は共有されませんか?

Google Cloud VPC ネットワーク ピアリング - DNS は共有されませんか?

2 つの VPC ネットワークがあります。

  • B

これらは、VPC ネットワーク ピアリングを介して相互にリンクされています。ネットワーク A のマシンは、IP 経由でネットワーク B のマシンに問題なくアクセスできます。

ただし、内部 DNS 名 (machinea.c.gc-project.internal) を介して相互にアクセスすることはできません。

によるGoogle Cloud ドキュメント、これは不可能であり、次のように述べています。

ネットワークで作成された Compute Engine の内部 DNS 名は、ピアリングされたネットワークからはアクセスできません。ピアリングされたネットワーク内の VM インスタンスにアクセスするには、VM の IP アドレスを使用する必要があります。

実際に DNS 名を使用できるように、この問題を解決するにはどうすればよいでしょうか?

今のところ、IP を互いのホスト ファイルに配置しただけですが、もっと良い方法があるはずですよね?

答え1

ある程度、あなたはすでに自分の質問に答えています。おっしゃる通り、あなたが参照しているドキュメントによると、内部 DNS スキームは現在 GCP の VPC ピアリングでは利用できません。

3つの選択肢があります。

  1. これまでどおり、hosts ファイルを使用します。これは設定が簡単ですが、環境が拡大するにつれて維持が複雑になる可能性があります。ただし、更新を自動的に配布および維持するために、Ansible などの構成管理ツールを利用することもできます。

  2. Google Cloud DNS に新しい DNS ゾーンをデプロイできます。このサービスの詳細については、こちらをご覧ください。クラウド DNS の概要 ただし、このサービスは現時点ではパブリック ゾーンのみを対象としているため、ドメインを登録するか、すでに所有しているドメインを使用する必要があります。また、パブリック ゾーンの場合、名前はインターネット上で解決可能になりますが、これが望ましいかどうかはわかりません。外部のパブリック DNS プロバイダーを使用することもできます。

  3. 独自の DNS サーバーを展開します。仮想マシンに BIND または同様のものをセットアップして、DNS サーバーとして動作させることができます。これらの新しいサーバーを使用するには、VM の DNS 設定を更新する必要があります。回復力のために、少なくとも 2 つ (たとえば、各 VPC に 1 つ) を展開することをお勧めします。主な利点は、ゾーンをプライベートにできるため、ドメイン名を購入したり、レコードをインターネットに公開したりする必要がないことです。もちろん、DNS サーバーを維持する必要がありますが、これは望ましい場合と望ましくない場合があります。たとえば、VPN 経由でリモート プライベート DNS サーバーを実行することもできますが、VPN 接続に強く依存するため、それ自体はお勧めしません。

AWS と Azure はどちらも独自の DNS サービスの一部としてプライベートゾーンをサポートしているため、Google が将来的に同様のサポートを追加する可能性も否定できません。

お役に立てれば幸いです。

関連情報