0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[OCI]VCNをピアリングしてVCN間でDNSによる名前解決ができるようにする(リモート・ピアリング編)

Last updated at Posted at 2021-12-21

はじめに

異なるリージョン内にある2つのVCNをDRGを用いて接続し(リモート・ピアリング)、VCN間で相互に名前解決を行うための手順を備忘録的に記します。

こちらの図のように、Tokyoリージョンに「VCNTokyo1(10.1.0.0/16)」、Osakaリージョンに「VCNOsaka1(10.3.0.0/16)」という2つのVCNがある想定です。
スライド10.jpeg

1.動的ルーティング・ゲートウェイ(DRG)の作成

動的ルーティング・ゲートウェイを作成し、VCNにアタッチします。
スライド11.jpeg
まず、Tokyoリージョンに動的ルーティング・ゲートウェイを作成します。
コンソールの動的ルーティング・ゲートウェイに移動します。
スクリーンショット 2021-12-17 12.50.24.png
「動的ルーティング・ゲートウェイの作成」をクリックします。
スクリーンショット 2021-12-17 12.50.56.png
「名前」に「DRGTokyo」と入力して「動的ルーティング・ゲートウェイの作成」をクリックします。
スクリーンショット 2021-12-17 12.51.17.png
動的ルーティング・ゲートウェイ「DRGTokyo」が作成されました。
スクリーンショット 2021-12-17 12.51.38.png
作成した動的ルーティング・ゲートウェイをVCNにアタッチします。
「仮想クラウド・ネットワーク・アタッチメントの作成」をクリックします。
スクリーンショット 2021-12-19 14.39.55.png
任意の名前を入力し、仮想クラウド・ネットワークとして「VCNTokyo1」を選択して、「仮想クラウド・ネットワーク・アタッチメントの作成」をクリックします。
スクリーンショット 2021-12-19 14.41.12.png
仮想クラウド・ネットワーク・アタッチメントが作成され、動的ルーティング・ゲートウェイがVCNにアタッチされました。
スクリーンショット 2021-12-19 14.41.46.png

同様に、Osakaリージョンに動的ルーティング・ゲートウェイ「DRGOsaka」を作成し、VCNOsaka1にアタッチします。

2.リモート・ピアリング接続の作成

リモート・ピアリング接続を構成し、VCNTokyo1とVCNOsaka1を接続します。
スライド12.jpeg
まずはTokyoリージョン側にリモート・ピアリング接続を作成します。
動的ルーティング・ゲートウェイ「DRGTokyo」の詳細画面のリソース欄の「リモート・リモート・ピアリング接続アタッチメント」をクリックします。
スクリーンショット 2021-12-19 14.50.08.png
「リモート・ピアリング接続の作成」をクリックします。
スクリーンショット 2021-12-19 14.50.41.png
任意の名前を入力し、「リモート・ピアリング接続の作成」をクリックします。
スクリーンショット 2021-12-19 14.54.43.png
リモート・ピアリング接続アタッチメントが作成されました。
スクリーンショット 2021-12-19 14.56.21.png
リモート・ピアリング接続名をクリックします。
スクリーンショット 2021-12-19 15.00.10.png
リモート・ピアリング接続の詳細情報が表示されるので、リモート・ピアリング接続のOCIDをコピーしておきます。
スクリーンショット 2021-12-19 15.02.10.png

次にOsakaリージョン側にリモート・ピアリング接続を作成します。
動的ルーティング・ゲートウェイ「DRGOsaka」の詳細画面のリソース欄の「リモート・リモート・ピアリング接続アタッチメント」をクリックします。
スクリーンショット 2021-12-19 14.50.08.png
「リモート・ピアリング接続の作成」をクリックします。
スクリーンショット 2021-12-19 14.50.41.png
任意の名前を入力し、「リモート・ピアリング接続の作成」をクリックします。
スクリーンショット 2021-12-19 15.06.35.png
リモート・ピアリング接続アタッチメントが作成されました。
スクリーンショット 2021-12-19 15.09.20.png
リモート・ピアリング接続名をクリックします。
スクリーンショット 2021-12-19 15.10.07.png
リモート・ピアリング接続の詳細情報が表示されるので、「接続の確立」をクリックします。
スクリーンショット 2021-12-19 15.14.32.png
「リージョン」に「ap-tokyo-1」を選択、「リモート・ピアリング接続OCID」に先ほどコピーしておいたDRGTokyo1のリモート・ピアリング接続のOCIDを入力し、「接続の確立」をクリックします。
スクリーンショット 2021-12-19 15.16.54.png
ピア・ステータスが「新規(ピアリングなし)」から「保留中」に変わります。
スクリーンショット 2021-12-19 15.21.51.png
数分待つと、ピア・ステータスが「ピアリング済」に変わり、DRGTokyo1とDRGOsaka1の間のリモート・ピアリング接続が確立されました。
スクリーンショット 2021-12-19 15.22.43.png

3.ルート表へのルート・ルールの追加

別のVCNへのトラフィックを動的ルーティング・ゲートウェイにルーティングするためのルート・ルールをルート表に追加します。
スライド13.jpeg
まずはTokyoリージョンにある「VCNTokyo1」からOsakaリージョンにある「VCNOsaka1」へのトラフィックを「DRGTokyo」にルーティングするためのルート・ルールを「VCNTokyo1」のルート表に追加します。

Tokyoリージョンにある「VCNTokyo1」の詳細画面のリソース欄の「ルート表」をクリックします。
スクリーンショット 2021-12-19 15.36.05.png
ルート表名をクリックします。
スクリーンショット 2021-12-19 15.36.39.png
「ルート・ルールの追加」をクリックします。
スクリーンショット 2021-12-19 15.37.30.png
ターゲット・タイプに「動的ルーティング・ゲートウェイ」を選択、宛先CIDRブロックにVCNOsaka1のCIDR「10.3.0.0/16」を入力し、「ルート・ルールの追加」をクリックします。
スクリーンショット 2021-12-19 15.39.36.png
VCNOsaka1へのトラフィックをDRGTokyoにルーティングするルート・ルールが追加されました。
スクリーンショット 2021-12-19 15.39.57.png

同様にOsakaリージョンにある「VCNOsaka1」からTokyoリージョンにある「VCNTokyo1」へのトラフィックを「DRGOSaka」にルーティングするためのルート・ルールを「VCNOsaka1」のルート表に追加します。

Osakaリージョンにある「VCNOsaka1」の詳細画面のリソース欄の「ルート表」をクリックします。
スクリーンショット 2021-12-19 15.55.08.png
ルート表名をクリックします。
スクリーンショット 2021-12-19 15.55.39.png
「ルート・ルールの追加」をクリックします。
スクリーンショット 2021-12-19 15.57.48.png
ターゲット・タイプに「動的ルーティング・ゲートウェイ」を選択、宛先CIDRブロックにVCNTokyo1のCIDR「10.1.0.0/16」を入力し、「ルート・ルールの追加」をクリックします。
スクリーンショット 2021-12-19 15.58.24.png
VCNTokyo1へのトラフィックをDRGOsakaにルーティングするルート・ルールが追加されました。
スクリーンショット 2021-12-19 16.00.05.png

4.VCN間のトラフィックを許可するセキュリティ・ルールの追加

別のVCNからの受信トラフィックを許可するセキュリティ・ルールをセキィリティ・リストに追加します。
スライド14.jpeg
まず、VCNTokyo1のセキュリティ・リストに、VCNOsaka1からのトラフィックを許可するセキュリティ・ルールを追加します。
VCNTokyo1の詳細画面に移動します。
スクリーンショット 2021-12-19 16.07.27.png
リソース欄の「セキュリティ・リスト」をクリックします。
スクリーンショット 2021-12-19 16.07.53.png
セキュリティ・リスト名をクリックします。
スクリーンショット 2021-12-19 16.08.43.png
セキュリティ・リストの詳細画面が表示されます。
スクリーンショット 2021-12-19 16.16.03.png
「イングレス・ルールの追加」をクリックします。
スクリーンショット 2021-12-19 16.14.13.png
今回は、VCNOsaka1(10.3.0.0/16)からVCNTokyo1への全てのネットワークアクセスを許可するルールを追加します。
ソース・タイプとして「CIDR」を選択、ソースCIDRにVCNOsaka1のCIDRである「10.3.0.0/16」を入力します。IPプロトコルとして「すべてのプロトコル」を選択して、「イングレス・ルールの追加」をクリックします。
スクリーンショット 2021-12-19 16.16.50.png
VCNOsaka1(10.3.0.0/16)からVCNTokyo1への全てのトラフィックを許可するイングレス・ルールが追加されました。
スクリーンショット 2021-12-19 16.17.15.png

同様に、VCNOsaka1のセキュリティ・リストに、VCNTokyo1からのトラフィックを許可するセキュリティ・ルールを追加します。
VCNOsaka1の詳細画面に移動します。
スクリーンショット 2021-12-19 16.22.11.png
リソース欄の「セキュリティ・リスト」をクリックします。
スクリーンショット 2021-12-19 16.22.22.png
セキュリティ・リスト名をクリックします。
スクリーンショット 2021-12-19 16.27.01.png
セキュリティ・リストの詳細画面が表示されます。
スクリーンショット 2021-12-19 16.25.43.png
「イングレス・ルールの追加」をクリックします。
スクリーンショット 2021-12-19 16.28.13.png
今回は、VCNOsaka1(10.3.0.0/16)からVCNTokyo1への全てのネットワークアクセスを許可するルールを追加します。
ソース・タイプとして「CIDR」を選択、ソースCIDRにVCNTokyo1のCIDRである「10.1.0.0/16」を入力します。IPプロトコルとして「すべてのプロトコル」を選択して、「イングレス・ルールの追加」をクリックします。
スクリーンショット 2021-12-19 16.29.14.png
VCNTokyo1(10.3.0.0/16)からVCNOsaka1への全てのトラフィックを許可するイングレス・ルールが追加されました。
スクリーンショット 2021-12-19 16.30.30.png

5.VCN間のネットワーク疎通確認

VCNTokyo1内にあるServer1からVCNOsaka1内にあるServer3(10.3.1.100)に対してpingを実行してみます。

[opc@server1 ~]$ ping -c 5 10.3.1.100
PING 10.3.1.100 (10.3.1.100) 56(84) bytes of data.
64 bytes from 10.3.1.100: icmp_seq=1 ttl=62 time=8.77 ms
64 bytes from 10.3.1.100: icmp_seq=2 ttl=62 time=8.63 ms
64 bytes from 10.3.1.100: icmp_seq=3 ttl=62 time=8.70 ms
64 bytes from 10.3.1.100: icmp_seq=4 ttl=62 time=8.73 ms
64 bytes from 10.3.1.100: icmp_seq=5 ttl=62 time=8.76 ms

--- 10.3.1.100 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4007ms
rtt min/avg/max/mdev = 8.636/8.723/8.771/0.077 ms
[opc@server1 ~]$ 

VCNOsaka1内にあるServer3からVCNTokyo1内にあるServer1(10.1.1.100)に対してpingを実行してみます。

[opc@server3 ~]$ ping -c 5 10.1.1.100
PING 10.1.1.100 (10.1.1.100) 56(84) bytes of data.
64 bytes from 10.1.1.100: icmp_seq=1 ttl=62 time=8.63 ms
64 bytes from 10.1.1.100: icmp_seq=2 ttl=62 time=8.63 ms
64 bytes from 10.1.1.100: icmp_seq=3 ttl=62 time=8.60 ms
64 bytes from 10.1.1.100: icmp_seq=4 ttl=62 time=8.66 ms
64 bytes from 10.1.1.100: icmp_seq=5 ttl=62 time=8.66 ms

--- 10.1.1.100 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4007ms
rtt min/avg/max/mdev = 8.600/8.639/8.667/0.104 ms
[opc@server3 ~]$

VCNTokyo1とVCNOsaka1の間のネットワーク疎通が確認できました。

VCNTokyo1内にあるServer1のFQDNを確認します。

[opc@server1 ~]$ hostname -A
server1.subnettokyo1.vcntokyo1.oraclevcn.com 
[opc@server1 ~]$

VCNOsaka1内にあるServer3のFQDNを確認します。

[opc@server3 ~]$ hostname -A
server3.subnetosaka1.vcnosaka1.oraclevcn.com 
[opc@server3 ~]$

Server1からServer3に対してFQDNを使用してpingを実行してみます。

[opc@server1 ~]$ ping -c 5 server3.subnetosaka1.vcnosaka1.oraclevcn.com
ping: server3.subnetosaka1.vcnosaka1.oraclevcn.com: Name or service not known
[opc@server1 ~]$

Server3からServer1に対してFQDNを使用してpingを実行してみます。

[opc@server3 ~]$ ping -c 5 server1.subnettokyo1.vcntokyo1.oraclevcn.com
ping: server1.subnettokyo1.vcntokyo1.oraclevcn.com: Name or service not known
[opc@server3 ~]$

いずれの場合も、別のVCNにあるホストの名前解決ができないため、pingコマンドが失敗しました。

6.プライベートDNSリゾルバのエンドポイントの作成

異なるリージョンにあるVCN間でプライベートDNSの相互参照を行うために、それぞれのVCNにプライベートDNSリゾルバのエンドポイントを作成します。
VCN_Peering15.jpg

最初にTokyoリージョン側のプライベートDNSリゾルバのエンドポイント作成します。
VCNTokyo1の詳細画面の「DNSリゾルバ」の名前をクリックします。
スクリーンショット 2021-12-19 16.45.04.png
プライベートDNSリゾルバの詳細画面が表示されます。
スクリーンショット 2021-12-19 16.48.15.png
リソース欄の「エンドポイント」をクリックします。
スクリーンショット 2021-12-19 16.48.31.png
最初にDNSリクエストのリスニング用のエンドポイントを作成します。
「エンドポイントの作成」をクリックします。
スクリーンショット 2021-12-19 16.49.26.png
任意の名前を入力し、エンドポイントを作成するサブネットとして「SubnetTokyo1」を選択します。
エンドポイント・タイプとして「リスニング」を選択し、リスニングIPアドレスにSubnetTokyo1上のプライベートIPアドレス(ここでは10.1.1.254)を入力して、「エンドポイントの作成」をクリックします。
スクリーンショット 2021-12-19 16.50.48.png
リスニング用のエンドポイントが作成されました。
スクリーンショット 2021-12-19 16.55.57.png
次にDNSリクエストの転送用のエンドポイントを作成します。
「エンドポイントの作成」をクリックします。
スクリーンショット 2021-12-19 16.49.26.png
任意の名前を入力し、エンドポイントを作成するサブネットとして「SubnetTokyo1」を選択します。
エンドポイント・タイプとして「転送」を選択し、転送IPアドレスにSubnetTokyo1上のプライベートIPアドレス(ここでは10.1.1.253)を入力して、「エンドポイントの作成」をクリックします。
スクリーンショット 2021-12-19 16.56.59.png
転送用のエンドポイントが作成されました。
スクリーンショット 2021-12-19 16.57.54.png

次にOsakaリージョン側のプライベートDNSリゾルバのエンドポイント作成します。
VCNOsaka1の詳細画面の「DNSリゾルバ」の名前をクリックします。
スクリーンショット 2021-12-19 17.15.39.png
プライベートDNSリゾルバの詳細画面が表示されます。
スクリーンショット 2021-12-19 17.16.27.png
リソース欄の「エンドポイント」をクリックします。
スクリーンショット 2021-12-19 17.17.26.png
最初にDNSリクエストのリスニング用のエンドポイントを作成します。
「エンドポイントの作成」をクリックします。
スクリーンショット 2021-12-19 17.18.11.png
任意の名前を入力し、エンドポイントを作成するサブネットとして「SubnetOsaka1」を選択します。
エンドポイント・タイプとして「リスニング」を選択し、リスニングIPアドレスにSubnetOsaka1上のプライベートIPアドレス(ここでは10.3.1.254)を入力して、「エンドポイントの作成」をクリックします。
スクリーンショット 2021-12-19 17.19.32.png
リスニング用のエンドポイントが作成されました。
スクリーンショット 2021-12-19 17.20.22.png

次にDNSリクエストの転送用のエンドポイントを作成します。
「エンドポイントの作成」をクリックします。
スクリーンショット 2021-12-19 17.21.40.png
任意の名前を入力し、エンドポイントを作成するサブネットとして「SubnetOsaka1」を選択します。
エンドポイント・タイプとして「転送」を選択し、転送IPアドレスにSubnetOsaka1上のプライベートIPアドレス(ここでは10.3.1.253)を入力して、「エンドポイントの作成」をクリックします。
スクリーンショット 2021-12-19 17.22.58.png
転送用のエンドポイントが作成されました。
スクリーンショット 2021-12-19 17.24.07.png

7.プライベートDNSリゾルバへのリクエスト転送ルールの追加

VCN間でDNSリクエストを転送するためのリクエスト転送ルールをプライベートDNSリゾルバに追加します。
FQDNのドメイン名に応じて、DNSリクエストをどの転送エンドポイントを経由してどのリスニングエンドポイントに転送するのかを指定します。
VCN_Peering2_final.jpg

最初にVCNTokyo1内からのVCNOsaka1内のホストに対するDNSリクエストをVCNOsaka1のプライベートDNSに転送するルールを作成します。
VCNTokyo1の詳細画面の「DNSリゾルバ」の名前をクリックします。
スクリーンショット 2021-12-19 16.45.04.png
プライベートDNSリゾルバの詳細画面が表示されます。
スクリーンショット 2021-12-19 16.48.15.png
リソース欄の「ルール」をクリックします。
スクリーンショット 2021-12-19 17.35.35.png
「ルールの管理」をクリックします。
スクリーンショット 2021-12-19 17.36.27.png
ルール条件として「ドメイン」を選択し、ドメインにVCNOsaka1のドメイン名「vcnosaka1.oraclevcn.com」を入力します。
(ドメイン名入力後にEnterキーを押さないと入力内容が反映されないので注意が必要です。)
ソースエンドポイントとして先ほど作成したVCNTokyo1の転送エンドポイントを選択し、宛先IPアドレスにVCNOsaka1のリスニング用エンドポイントのIPアドレス「10.3.1.254」を入力して「変更の保存」をクリックします。
スクリーンショット 2021-12-19 17.39.15.png
VCNTokyo1内からのVCNOsaka1内のホストに対するDNSリクエストをVCNOsaka1のプライベートDNSに転送するルールが作成されました。
スクリーンショット 2021-12-19 17.44.05.png

次にVCNOsaka1内からのVCNTokyo1内のホストに対するDNSリクエストをVCNTokyo1のプライベートDNSに転送するルールを作成します。
VCNOsaka1の詳細画面の「DNSリゾルバ」の名前をクリックします。
スクリーンショット 2021-12-19 17.55.00.png
プライベートDNSリゾルバの詳細画面が表示されます。
スクリーンショット 2021-12-19 17.55.47.png
リソース欄の「ルール」をクリックします。
スクリーンショット 2021-12-19 17.35.35.png
「ルールの管理」をクリックします。
スクリーンショット 2021-12-19 17.36.27.png
ルール条件として「ドメイン」を選択し、ドメインにVCNTokyo1のドメイン名「vcntokyo1.oraclevcn.com」を入力します。
(ドメイン名入力後にEnterキーを押さないと入力内容が反映されないので注意が必要です。)
ソースエンドポイントとして先ほど作成したVCNOsaka1の転送エンドポイントを選択し、宛先IPアドレスにVCNTokyo1のリスニング用エンドポイントのIPアドレス「10.1.1.254」を入力して「変更の保存」をクリックします。
スクリーンショット 2021-12-19 17.58.04.png
VCNOsaka1内からのVCNTokyo1内のホストに対するDNSリクエストをVCNTokyo1のプライベートDNSに転送するルールが作成されました。
スクリーンショット 2021-12-19 17.59.08.png

8.VCN間でのFQDNでのアクセス確認

再度、Server1からServer3(server3.subnetosaka1.vcnosaka1.oraclevcn.com)に対して、FQDNを使用してpingを実行してみます。

[opc@server1 ~]$ ping -c 5 server3.subnetosaka1.vcnosaka1.oraclevcn.com
PING server3.subnetosaka1.vcnosaka1.oraclevcn.com (10.3.1.100) 56(84) bytes of data.
64 bytes from 10.3.1.100 (10.3.1.100): icmp_seq=1 ttl=62 time=8.94 ms
64 bytes from 10.3.1.100 (10.3.1.100): icmp_seq=2 ttl=62 time=9.03 ms
64 bytes from 10.3.1.100 (10.3.1.100): icmp_seq=3 ttl=62 time=8.96 ms
64 bytes from 10.3.1.100 (10.3.1.100): icmp_seq=4 ttl=62 time=8.97 ms
64 bytes from 10.3.1.100 (10.3.1.100): icmp_seq=5 ttl=62 time=9.00 ms

--- server3.subnetosaka1.vcnosaka1.oraclevcn.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 8.942/8.984/9.031/0.031 ms
[opc@server1 ~]$

TokyoリージョンにあるVCNTokyo1内のインスタンスから、OsakaリージョンにあるVCNOsaka1内のインスタンスに、ホスト名(FQDN)を使用してアクセスできました。

Server3からServer1(server1.subnettokyo1.vcntokyo1.oraclevcn.com)に対してFQDNを使用してpingを実行してみます。

[opc@server3 ~]$ ping -c 5 server1.subnettokyo1.vcntokyo1.oraclevcn.com
PING server1.subnettokyo1.vcntokyo1.oraclevcn.com (10.1.1.100) 56(84) bytes of data.
64 bytes from 10.1.1.100 (10.1.1.100): icmp_seq=1 ttl=62 time=8.61 ms
64 bytes from 10.1.1.100 (10.1.1.100): icmp_seq=2 ttl=62 time=8.63 ms
64 bytes from 10.1.1.100 (10.1.1.100): icmp_seq=3 ttl=62 time=8.52 ms
64 bytes from 10.1.1.100 (10.1.1.100): icmp_seq=4 ttl=62 time=8.63 ms
64 bytes from 10.1.1.100 (10.1.1.100): icmp_seq=5 ttl=62 time=8.58 ms

--- server1.subnettokyo1.vcntokyo1.oraclevcn.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 8.525/8.597/8.634/0.124 ms
[opc@server3 ~]$

OsakaリージョンにあるVCNOsaka1内のインスタンスから、TokyoリージョンにあるVCNTokyo1内のインスタンスに、ホスト名(FQDN)を使用してアクセスできました。

0
2
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
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?