10
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Oracle Cloud: Private DNSリゾルバ・エンドポイントで異なるリージョンの VCN間を名前解決してみてみた

10
Last updated at Posted at 2020-11-26

■ 目的

プライベートDNSは、VCN内およびVCN間で実行されるアプリケーションや、オンプレミスなどのプライベート・ネットワークに対してホスト名解決を提供できます。
ということで、プライベートDNSを使用して、Remote Peeringした異なるリージョンのVCNにあるインスタンスどうしが、ホスト名(FQDN)で名前解決して通信できるようにしてみてみます。

オンプレミスとのプライベート接続については前回の記事を参考します。
・参考: オンプレミスとOCIをVPN接続してオンプレミスからPrivate DNSで名前解決してみてみた

■ 構成

構成.png
今回は、Private DNSの設定から行います。
図のように、あらかじめRemote Peeringを構成し、インスタンス間でIPアドレスによる通信ができる状態にしておきます。
・参考:
  - 旧Remote Peering: Oracle Cloud:リージョン間をRemote Peering(バックボーン接続) してみた
  - Remote Peering: リージョン間を Remote VCN Peering してみてみた
  - Transit Peering: DRGで東京リージョンを経由して、オンプレミスと 大阪リージョンを接続してみてみた

設定内容は次のとおりです。

設定対象 Tokyoリージョン Osakaリージョン
リスニング・エンドポイント Tokyo側のDNS問合せを受信 Osaka側のDNS問合せを受信
転送エンドポイント Osaka側へDNS問合せを転送 Tokyo側へDNS問合せを転送
転送先 Osaka側のリスニングIP Tokyo側のリスニングIP
通信経路 Remote Peering Remote Peering

同じリージョン内のVCNでは、互いのプライベート・ビューを使用してDNS問合せを解決できます。
・参考: https://docs.oracle.com/en/learn/oci_private_dns/#introduction

● VCNのDNSについて

・VCNのDNS

ドメイン・ネーム・システム(DNS)を使用すると、コンピュータはIPアドレスの代わりにホスト名を使用して相互に通信できます。
VCN内で利用できるDNSリゾルバ(169.254.169.254)には、次の2つの機能が含まれています。
  - VCNリゾルバ:インスタンスが同じVCN内の他のインスタンスのホスト名を解決できるようにします。
  - Internetリゾルバ:インターネット上で公開されているホスト名をインスタンスが解決できるようにします。インスタンスは、インターネット・ゲートウェイを介してインターネットにアクセスする必要はありません。

・プライベートDNS

  異なるVCNやオンプレミスなどのプライベート・ネットワークとの間で名前解決を行うには、プライベートDNSリゾルバに次のリゾルバ・エンドポイントを作成します。
  - リスニング・エンドポイント: 他のVCNリゾルバやオンプレミス・ネットワークのDNSからDNS問合せを受信します。
  - 転送エンドポイント: DNS問合せを、他のピアリングされたVCNやオンプレミス・ネットワークにあるリスニング・エンドポイントへ転送します。

・DNSドメインとホスト名

最初にVCNとサブネットを作成するときに、それぞれにDNSラベルを指定でき、次のようなドメイン名となります。
  - VCNドメイン名: <VCN DNS label>.oraclevcn.com
  - Subnetドメイン名: <*subnet DNS label>.<VCN DNS label>.oraclevcn.com
  - インスタンスFQDN: <hostname>.<subnet DNS label>.<VCN DNS label>.oraclevcn.com

■ 手順: Tokyoリージョン

● Private DNS リスニング・エンドポイント作成

1) 対象VCNアクセス

名前解決したい対象のVCNへアクセスし、画面にある「DNSリゾルバのVCN」をクリック
01.png

2) エンドポイント画面

[エンドポイントの作成]をクリック
02_EndPint01.png

3) エンドポイントの作成画面

以下項目を入力し、[エンドポイントの作成]をクリック

・名前: エンドポイント名を設定
・サブネットの選択: エンドポイントを配置するサブネットを選択
・エンドポイント・タイプ: ここでは[リスニング]を選択
・リスニングIPアドレス: Private DNSのリスニング・エンドポイントIPを設定

03_EndPint_Listening01.png

● Private DNS 転送エンドポイント作成

1) エンドポイント画面

引き続き同じVCNのエンドポイント画面で[エンドポイントの作成]をクリック
04.png

2) エンドポイント作成画面

以下項目を入力し、[エンドポイントの作成]をクリック

・名前: エンドポイント名を設定
・サブネットの選択: エンドポイントを配置するサブネットを選択
・エンドポイント・タイプ: ここでは[転送]を選択
・IPアドレス: Private DNSの転送エンドポイントで使用するIPアドレスを設定

04_EndPint_Fowarding01.png

3) エンドポイント作成確認

2つのリスニング・エンドポイントと転送エンドポイントが作成されたことを確認
05.png

● ルール作成

1) ルール画面

左にあるリソース欄の[ルール]をクリックし、[ルールの管理]をクリック
06_Roure01.png

2) ルールの管理画面

以下項目を入力し、[変更の保存]をクリック

・ルール条件: [CIDRブロック]を選択
・ドメイン 転送する相手側の ドメインと逆引きドメインを設定
・ソースエンドポイント: [Forwarding]を設定
・宛先IPアドレス: 対向リージョンに作成したリスニング・エンドポイントのIPアドレスを設定

06_Roure02-new.jpg

3) ルール作成確認

ルールが作成されたことを確認

06_Roure03-new.png

■ 手順: Osakaリージョン

上記のTokyoリージョンと同様に設定します。

● Private DNS リスニング・エンドポイント作成

1) 対象VCNアクセス

名前解決したい対象のVCNへアクセスし、画面にある「DNSリゾルバのVCN」をクリック
01.png

2) エンドポイント画面

[エンドポイントの作成]をクリック
02_EndPoint.png

3) エンドポイントの作成画面

以下項目を入力し、[エンドポイントの作成]をクリック

・名前: エンドポイント名を設定
・サブネットの選択: エンドポイントを配置するサブネットを選択
・エンドポイント・タイプ: ここでは[リスニング]を選択
・リスニングIPアドレス: Private DNSのリスニング・エンドポイントIPを設定

4) エンドポイント作成確認

エンドポイントが作成されたことを確認
05.png

● Private DNS 転送エンドポイント作成

1) エンドポイント画面

引き続き同じVCNのエンドポイント画面で[エンドポイントの作成]をクリック
04.png

2) エンドポイントの作成画面

以下項目を入力し、[エンドポイントの作成]をクリック

・名前: エンドポイント名を設定
・サブネットの選択: エンドポイントを配置するサブネットを選択
・エンドポイント・タイプ: ここでは[転送]を選択
・IPアドレス: Private DNSの転送エンドポイントで使用するIPアドレスを設定

04_EndPint_Fowareding01.png

3) エンドポイント作成確認

2つのリスニング・エンドポイントと転送エンドポイントが作成されたことを確認
05.png

● ルール作成

1) ルール画面

左にあるリソース欄の[ルール]をクリックし、[ルールの管理]をクリック
06_EndPoint_Roure01.png

2) ルールの管理画面

以下項目を入力し、[変更の保存]をクリック

・ルール条件: [CIDRブロック]を選択
・ドメイン 転送する相手側の ドメインと逆引きドメインを設定
・ソースエンドポイント: [Forwarding]を設定
・宛先IPアドレス: 対向リージョンに作成したリスニング・エンドポイントのIPアドレスを設定

07_EndPoint_Roure02-new.jpg

3) ルール作成確認

ルールが作成されたことを確認

07_EndPoint_Roure03-new.png

■ DNS通信のセキュリティ・ルール設定

DNSリスニング・エンドポイントで、UDPポート53(必要に応じてTCPポート53)のトラフィックを許可するように、セキュリティ・リストまたはNSGのセキュリティ・ルールを設定します。

・ 参考: リゾルバ・エンドポイントへのネットワーク・セキュリティ・グループ(NSG)の追加

■ 動作確認

● インスタンスに設定されたFQDNの確認

・tokyo-private-inst01ホスト名確認

[opc@tokyo-private-inst01 ~]$ cat /etc/hosts
	127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
	::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
	10.0.1.2 tokyo-private-inst01.privatesubnet.vcn10000.oraclevcn.com tokyo-private-inst01

・osaka-private-inst01ホスト名確認

[[opc@osaka-private-inst01 ~]$ cat /etc/hosts
	127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
	::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
	10.5.1.2 osaka-private-inst01.privatesubnet.vcn10500.oraclevcn.com osaka-private-inst01

● Tokyo → Osaka 疎通・名前解決確認

・ping疎通確認

[opc@tokyo-private-inst01 ~]$ ping osaka-private-inst01.privatesubnet.vcn10500.oraclevcn.com -c 3
	PING osaka-private-inst01.privatesubnet.vcn10500.oraclevcn.com (10.5.1.2) 56(84) bytes of data.
	64 bytes from osaka-private-inst01.privatesubnet.vcn10500.oraclevcn.com (10.5.1.2): icmp_seq=1 ttl=62 time=7.70 ms
	64 bytes from osaka-private-inst01.privatesubnet.vcn10500.oraclevcn.com (10.5.1.2): icmp_seq=2 ttl=62 time=7.67 ms
	64 bytes from osaka-private-inst01.privatesubnet.vcn10500.oraclevcn.com (10.5.1.2): icmp_seq=3 ttl=62 time=7.69 ms

	--- osaka-private-inst01.privatesubnet.vcn10500.oraclevcn.com ping statistics ---
	3 packets transmitted, 3 received, 0% packet loss, time 2002ms
	rtt min/avg/max/mdev = 7.675/7.691/7.702/0.072 ms

・nslookup確認

[opc@tokyo-private-inst01 ~]$ nslookup osaka-private-inst01.privatesubnet.vcn10500.oraclevcn.com
	Server:		169.254.169.254
	Address:	169.254.169.254#53

	Non-authoritative answer:
	Name:	osaka-private-inst01.privatesubnet.vcn10500.oraclevcn.com
	Address: 10.5.1.2

● Osaka → Tokyo 疎通・名前解決確認

・ping疎通確認

[opc@osaka-private-inst01 ~]$ ping tokyo-private-inst01.privatesubnet.vcn10000.oraclevcn.com -c 3
	PING tokyo-private-inst01.privatesubnet.vcn10000.oraclevcn.com (10.0.1.2) 56(84) bytes of data.
	64 bytes from tokyo-private-inst01.privatesubnet.vcn10000.oraclevcn.com (10.0.1.2): icmp_seq=1 ttl=62 time=7.66 ms
	64 bytes from tokyo-private-inst01.privatesubnet.vcn10000.oraclevcn.com (10.0.1.2): icmp_seq=2 ttl=62 time=7.59 ms
	64 bytes from tokyo-private-inst01.privatesubnet.vcn10000.oraclevcn.com (10.0.1.2): icmp_seq=3 ttl=62 time=7.65 ms

	--- tokyo-private-inst01.privatesubnet.vcn10000.oraclevcn.com ping statistics ---
	3 packets transmitted, 3 received, 0% packet loss, time 2002ms
	rtt min/avg/max/mdev = 7.597/7.639/7.666/0.077 ms

・nslookup確認

インスタンスに設定されているDNSリゾルバのIPアドレスは、169.254.169.254です。
リゾルバ・エンドポイントと転送ルールを経由し、VCNのプライベートDNSリゾルバによって名前解決されます。

[opc@osaka-private-inst01 ~]$ nslookup tokyo-private-inst01.privatesubnet.vcn10000.oraclevcn.com
	Server:		169.254.169.254
	Address:	169.254.169.254#53

	Non-authoritative answer:
	Name:	tokyo-private-inst01.privatesubnet.vcn10000.oraclevcn.com
	Address: 10.0.1.2

・インスタンスに設定されているresolv.conf確認

[opc@osaka-private-inst01 ~]$ cat /etc/resolv.conf
	; Any changes made to this file will be overwritten whenever the
	; DHCP lease is renewed. To persist changes you must update the
	; /etc/oci-hostname.conf file. For more information see
	;[https://docs.cloud.oracle.com/iaas/Content/Network/Tasks/managingDHCP.htm#notes]
	;
	; generated by /usr/sbin/dhclient-script
	search vcn10500.oraclevcn.com privatesubnet.vcn10500.oraclevcn.com
	nameserver 169.254.169.254

■ 参考

 ・OCI Document:プライベートDNS
 ・リゾルバ・エンドポイント
 ・チュートリアル:Private DNS Implementation
 ・Configure private DNS zones views and resolvers
 ・Use private DNS in interconnected VCNs and On-premises
 ・Domain Name System (DNS)
 ・OCI Private DNS – Common Scenarios
 ・逆引きDNS

■ おまけ

おまけ.png

※ 本漫画は筆者による非公式の二次創作です。
※ 使用キャラクター:ずんだもん / 四国めたん / 春日部つむぎ
※ キャラクターの権利は各権利元に帰属します。
※ クレジット
 - ずんだもん / 四国めたん:東北ずん子・ずんだもんプロジェクト関連ガイドラインに基づいて利用
 - 春日部つむぎ:公式利用規約に基づいて利用

10
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?