こんにちは、t-tasakaです。
11/12から、Private DNSが利用可能になったようです。
https://docs.cloud.oracle.com/en-us/iaas/releasenotes/changes/b52b1abd-c3fd-4fae-a7eb-1d98dbd4735e/
今回は、実際にどういうものか試してみるため、VCNを二つ作成してそれぞれにインスタンスを設置して、ローカル・ピアリング・ゲートウェイで接続し、名前解決できるようにしてみます。
目次
Private DNSとは?
独自のプライベートDNSドメイン名を使用し、関連するゾーンとレコードを完全に管理して、VCN内およびVCN間でのホスト名解決ができるようになります。
幾つかわからない語句が出てきたのでまとめてみました。
プライベート・ゾーン(英語版マニュアルより意訳)
インターネットDNSと同様の機能を持っていますが、VCN内に到達できるクライアントのみに応答します。必要な機能に応じてレコードを追加して設定します。
Oracle Cloudコンソールのネットワーキング>DNS管理>ゾーンのプライベート・ゾーンタブから確認できます。
プライベート・ビュー (英語版マニュアルより意訳)
プライベート・ビューは、プライベート・ゾーンをまとめたものです。DNSリゾルバーからプライベート・ビューを参照して、DNSクエリへの応答方法を管理できます。任意のビューを任意の数のリゾルバーで使用できるため、VCN間でプライベートDNSデータを共有できます。
Oracle Cloudコンソールのネットワーキング>DNS管理>プライベート・ビューから確認できます。
DNSリゾルバ(Oracle Cloudコンソール画面より)
プライベートDNSリゾルバは、プライベート・ビューとその中に含まれるプライベート・ゾーンに基づいて、VCN内のDNS問合せを処理します。
プライベートDNSゾーンにはインターネットDNSゾーンに似た機能がありますが、プライベートDNSゾーンにVCN経由でアクセスできるクライアントに対してのみレスポンスを提供します。
VCNの作成には、専用のDNSリゾルバと、システム管理ゾーンを持つデフォルトのプライベート・ビューが含まれます。
リゾルバが内部トラフィックのリダイレクトに使用できるビューおよびゾーンを作成する必要があります。
VCNを作成すると、自動でDNSリゾルバが設定され、ネットワーキング>仮想クラウド・ネットワーク>仮想クラウド・ネットワークの詳細
から確認できます。
今回やること
異なる二つのVCN上にインスタンスを設置し、VCN間をローカル・ピアリング・ゲートウェイで接続したのちに、DNSのプライベートビューの設定をして、VCN間で名前解決できるようにします。
VCNの作成
VCNを作成します。以下のようにVCNTEST01を作成します。
それぞれにインターネットゲートウェイとパブリックサブネットを作成します。
また、SSH接続できるようセキュリティリストを設定しておきます。VCNTEST02も同様に作成します。
インスタンスの作成
instance01をVCNTEST01に作成します。
instance02もVCNTEST02に作成します。
今回はどちらもプライベート・サブネットに設定しました。
ローカル・ピアリング・ゲートウェイの設定
instance01とinstance02が接続できるようにローカル・ピアリング・ゲートウェイを作成します。VCNTEST01側はLPG01、VCNTEST02側はLPG02とします。
作成したら、右側黒丸のところをクリックし、ピアリング接続の確立をクリックします。
VCNTEST02も同様に設定します。
続いて、ルート表にルート・ルールを設定します。
先ほど作成したローカル・ピアリング・ゲートウェイを指定し、CIDRブロックには接続先のVCNのCIDRブロックを指定します。
ここで、sshでinstance01に接続し、instance01からinstance02に接続してみます。
接続できているようです。
プライベート・ビューの設定
プライベート・ビューの設定をします。
VCN詳細画面から、DNSリゾルバ名をクリックして、プライベート・リゾルバの詳細画面を開きます。
右側のリソース欄からプライベート・ビューの管理を選びます。
接続する先のVCNを選択します。
VCNTEST02側も同様に設定します。
接続してみる
instance01からinstance02へFQDNでpingを飛ばしてみます。
到達しているようです。
鍵を設置して、ssh接続もしてみました。
接続できました。
まとめ
今回は異なるVCN間でのインスタンスの名前解決をやってみました。
これができるようにするには、
- ローカルピアリングゲートウェイの作成
- プライベートビューの作成
が必要です。
また、同じリージョン内に接続する際はローカルピアリングを利用しますが、異なるリージョンですとリモートピアリングを利用するためご注意ください。
参考になれば幸いです。
参考リンク