プライベートDNS
プライベート・ドメイン・ネーム・システム(DNS)ゾーンを作成および管理します。
プライベートDNSを使用して、指定したドメイン名でプライベート・ゾーンを作成します。ゾーンおよびレコードを完全に管理して、仮想クラウド・ネットワーク(VCN)内、およびオンプレミスまたは他のプライベート・ネットワーク間で稼働するアプリケーションのホスト名解決を提供できます。
プライベートDNSでは、ネットワーク間(たとえば、同じリージョン、クロス・リージョンまたは外部ネットワーク内の別のVCN)でのDNS解決も提供されます。プライベートDNSは、OCI DNS APIおよびコンソールで管理できます。
プライベートDNSで使用されるリソース
- プライベートDNSゾーン: プライベートIPアドレスなど、Virtual Cloud Network (VCN)内からのみアクセス可能なDNSデータが含まれています。プライベートDNSゾーンにはインターネットDNSゾーンに似た機能がありますが、プライベートDNSゾーンにVCN経由でアクセスできるクライアントに対してのみレスポンスを提供します。各ゾーンは単一のビューに属しています。
- プライベートDNSゾーン・レコード: グローバルDNSおよびプライベートDNSでは様々なレコード・タイプがサポートされています。サポートされているリソース・レコードを参照してください。
- プライベートDNSビュー: プライベートDNSビューは、プライベート・ゾーンのコレクションです。多くのビューで同じゾーン名を使用できますが、1つのビュー内のゾーン名は一意である必要があります。
-
プライベートDNSリゾルバ: VCN専用のプライベートDNSリゾルバには、VCN内のDNS問合せへのレスポンスを提供する構成が含まれます。リゾルバのビューによって、解決に適用可能なゾーンおよびレコード・データが決定されます。リゾルバ上のリゾルバ・エンドポイントは、169.254.169.254のデフォルト・イングレスに加えて、別のイングレスおよびエグレスを提供します。詳細は、プライベートDNSリゾルバを参照してください。
- プライベートDNSリゾルバ・エンドポイント: リゾルバ・エンドポイント・リソースを使用して、VCNでイングレスおよびエグレスを設定します。リゾルバ・エンドポイントは、それを作成したサブネット内のIPアドレスを使用します。対応するVNICがリゾルバ・エンドポイントごとに作成されます。
- VCN: VCNを作成すると、専用リゾルバも自動的に作成されます。
- サブネット: リゾルバ・エンドポイントの作成時に、VCN内のサブネットが使用されます。サブネットのIPアドレスは、リスニングおよび転送アドレスのために使用されます。
- ネットワーク・セキュリティ・グループ(NSG): オプションで、リゾルバ・エンドポイントのネットワーク・セキュリティ・グループのリストを構成できます。NSGは、リゾルバ・エンドポイントとの間のイングレスおよびエグレス・トラフィックを制御します。
VCNリソースの詳細は、ネットワーキング・ドキュメントのプライベートDNSリゾルバを参照してください。
保護されたリソース
ゾーンやビューなどの一部のプライベートDNSリソースは、保護されています。保護されたリソースは、Oracleによって自動的に管理されます。保護されたリソースを表示できますが、編集は制限されています。VCN専用リゾルバはすべて保護されています。保護されたリソースは、サービス制限や割当て制限にはカウントされません。
デフォルト・ビュー
各VCN専用リゾルバには、保護されたデフォルト・ビューがあります。ゾーンをデフォルト・ビューに追加できますが、保護ゾーンとの衝突を回避するためにゾーン名には制限が適用されます。リゾルバが削除され、そのデフォルト・ビューに保護されていないゾーンが含まれている場合、デフォルト・ビューは削除されるかわりに保護されていないビューに変換されます。VCNでゾーンを解決できるように、デフォルト・ビューの他にビューを作成してリゾルバにアタッチできます。
構成および解決
DNS
ドメイン・ツリーの全体または一部を作成できます。ビューは、任意の数のリゾルバで使用でき、同じリージョン内のVCN間でプライベートDNSデータを共有できます。プライベート・ゾーンとインターネット・ゾーンで同じゾーン名を使用できるため、これらのゾーンをスプリットホライズンDNSに使用できます。VCN内から、パブリック問合せとプライベート問合せに異なる回答を提供できます。
The subnet for private DNS endpoints must be IPv4 only. A request to create a private DNS endpoint in an IPv6 enabled subnet doesn't succeed.
問合せに回答するためのロジックを定義するルールを追加します。サポートされているルール・タイプはFORWARDのみです。このルールは、クライアントIPまたはターゲットのQNAMEに基づいて、条件付きで問合せを宛先IPに転送します。宛先IPアドレスは、別のVCN内のオンプレミス設定、プライベート・ネットワークまたはリスナー・エンドポイント用です。
- アタッチされた各ビューが順番に評価されます。デフォルト・ビューは最後に評価されます(リストに明示的に含まれていない場合)。
- リゾルバ・ルールは順番に評価されます。
- 問合せがインターネットに解決されます。
たとえば、問合せ名がプライベート・ビューのゾーンに含まれており、その名前がゾーンに存在しない場合、ゾーンは信頼できるNXDOMAINレスポンスを返します。
VCN
VCN間、またはVCNとオンプレミス・ネットワーク間のイングレスとエグレスには接続が必要です。接続を確立するには、ローカル・ピアリング・ゲートウェイ(LPG)またはVCN間のリモート・ピアリング・ゲートウェイ(RPG)が必要になる場合があります。VCNとオンプレミス・ネットワーク間の接続には、FastConnectまたはIPSecトンネル(IPSec VPN)が必要です。
VCNセキュリティ・リストおよび参照されるNSGでは、必要なトラフィックを許可する必要があります。セキュリティ・リスト上のDHCPは、イングレスおよびエグレスに対して有効にする必要があり、対応するリゾルバ・エンドポイントのIPアドレスを含める必要があります。リスニング・エンドポイントのセキュリティ・ルールでは、宛先ポート53でコネクションレスUDPイングレス、ソース・ポート53でコネクションレスUDPエグレス、および宛先ポート53でTCPイングレスを許可する必要があります。転送エンドポイントのセキュリティ・ルールでは、宛先ポート53でコネクションレスUDPエグレス、ソース・ポート53でコネクションレスUDPイングレス、および宛先ポート53でTCPエグレスを許可する必要があります。
ユース・ケース
VCN内のカスタムDNSゾーン
プライベートDNSゾーンは、ビューにグループ化されます。すべてのVCN専用リゾルバには、自動的に作成されるデフォルト・ビューがあります。VCN内から解決されるカスタムDNSゾーンを作成するには、専用リゾルバのデフォルト・ビューにプライベート・ゾーンを作成するか、新しいビューにゾーンを作成して、専用リゾルバのアタッチ済ビューのリストに追加します。この設定方法の詳細なガイドは、ヘルプ・センター/プライベートDNSゾーンのビューおよびリゾルバの構成を参照してください。
スプリット・ホライズン
インターネット上のパブリック名と同じ名前のプライベート・ゾーンを作成します。次に、VCNリゾルバのビューのいずれかにそのゾーンを追加します。VCN内では、名前はプライベートDNS構成に基づいて解決されます。リクエストの発生元に応じて、同じ名前が異なる回答を提供します。
リージョン内の共有プライベートDNSゾーン
同じリージョン内のVCNは、相互のプライベート・ビューからリクエストを解決できます。たとえば、VCN AおよびVCN Bでこのソリューションを実装するとします。VCN Aの専用リゾルバのデフォルト・ビューをVCN Bの専用リゾルバのアタッチされたビューに追加します。次に、VCN Bの専用リゾルバのデフォルト・ビューをVCN Aの専用リゾルバのアタッチされたビューに追加します。
同じプライベート・ゾーンまたはプライベート・ゾーンのコレクションを複数のVCN間で再利用できます。このソリューションにより、DNS構成の重複を減らすことができます。ビューを作成し、1つ以上のプライベート・ゾーンをビューに追加します。VCNごとに、VCNの専用リゾルバのアタッチ済ビューのリストに新しいビューを追加します。この設定方法の詳細なガイドは、ヘルプ・センター/プライベートDNSゾーンのビューおよびリゾルバの構成を参照してください。
VCN間のDNS解決
リゾルバ・エンドポイントを使用して、VCN間でリクエストを送信します。VCNは異なるリージョンに存在できます。このソリューションには、ローカルまたはリモートのピアリング・ゲートウェイ(LPG/RPG)が必要です。VCN AからVCN Bにトラフィックを送信するには、リスニング・エンドポイントをVCN Bのリゾルバに追加します。次に、転送エンドポイントをVCN Aの専用リゾルバに追加します。VCN Aの専用リゾルバにルールを作成し、VCN Aの転送エンドポイントを介してVCN Bのリスニング・エンドポイントのアドレスにトラフィックを転送します。VCN間の両方向でトラフィックを送信するには、各専用リゾルバに転送リゾルバ・エンドポイントとリスニング・リゾルバ・エンドポイントを追加し、各専用リゾルバにルールを追加します。この設定方法の詳細なガイドは、A-Teamクロニクル/プライベートDNSの実装を参照してください。
VCNとオンプレミス・ネーム・サーバー間の接続
リクエストは、VCNとオンプレミス・ネーム・サーバー間でどちらの方向にも送信できます。このソリューションでは、FastConnectまたはIPSecトンネル(IPSec VPN)を使用したVCNとオンプレミス・ネットワーク間の接続が必要です。VCNにトラフィックを送信するには、リスニング・エンドポイントをその専用リゾルバに追加し、トラフィックをそのアドレスに送信します。VCNからトラフィックを送信するには、転送エンドポイントをその専用リゾルバに追加し、エンドポイントを介してオンプレミス・ネーム・サーバーのアドレスにトラフィックを転送するルールを追加します。この設定方法の詳細なガイドは、A-Teamクロニクル/プライベートDNSの実装を参照してください。
高度なユース・ケース
VCNは、複数のユース・ケースに対して設定できます。1つのVCNを別のVCNとピアリングし、オンプレミス・ネーム・サーバーに接続するように構成できます。転送は、多くのSCNにわたって連鎖することもできます。
サポートされているリソース・レコード
Oracle Cloud Infrastructure DNSサービスでは、多くのリソース・レコード・タイプをサポートしています。次のリストに、プライベートDNSに対してサポートされている各レコード・タイプの目的について簡単に説明します。パブリックDNSについては、パブリックDNSでサポートされているリソース・レコードを参照してください。レコード・データの入力時には機密情報を入力しないでください。RFCリンクは、レコード・タイプおよびデータ構造の詳細情報を提供します。
RDATAに関するノート
OCIは、すべてのRDATAを最もマシン読取り可能なフォーマットに正規化します。RDATAの表示は、初期入力とは異なる場合があります。
例:
CNAME、DNAMEおよびMXレコード・タイプのRDATAには、1つ以上の絶対ドメイン名を含めることができます。これらのレコード・タイプのいずれかで指定されたRDATAが、ルートを表すドットまたは期間で終わらない場合は、期間が追加されます。
www.example.com --> www.example.com.
様々なDNSライブラリを使用して、入力前にRDATAを正規化できます。
プログラミング言語 | ライブラリ |
---|---|
Go | GoのDNSライブラリ |
Java | dnsjava |
Python | dnspython |
プライベートDNSのリソース・レコード・タイプ
- A
- ホスト名をIPv4アドレスに関連付けるために使用するアドレス・レコード。Aレコードの詳細は、RFC 1035を参照してください。
- AAAA
- 使用されるアドレス・レコードは、IPv6アドレスのホスト名を指します。AAAAレコードの詳細は、RFC 3596を参照してください。
- CAA
- 認証局の認可(CAA)レコードにより、ドメイン名の保持者は、そのドメインの証明書を発行する権限のある1つ以上の認証局(CA)を指定できます。CAAレコードの詳細は、RFC 6844を参照してください。
- CNAME
- 正規名レコードは、ドメインの正規名を識別します。CNAMEレコードの詳細は、RFC 1035を参照してください。
- DNAME
- 委任名レコードはCNAMEレコードと同様の動作をしますが、ラベルの下にあるサブツリー全体を別のドメインにマップできます。DNAMEレコードの詳細は、RFC 6672を参照してください。
- MX
- メール交換レコードは、ドメイン用のメールを受け入れるメール・サーバーを定義します。MXレコードはホスト名を指す必要があります。MXレコードは、CNAMEまたはIPアドレスを指すことはできません。MXレコードの詳細は、RFC 1035を参照してください。
- PTR
- ポインタ・レコード・リバースは、IPアドレスをホスト名にマップします。この動作は、ホスト名をIPアドレスにマップするAレコードの反対です。PTRレコードは、通常、逆引きDNSゾーンで検出されます。PTRレコードの詳細は、RFC 1035を参照してください。
- SRV
- サービス・ロケータ・レコードを使用すると、管理者は1つのドメインに複数のサーバーを使用できます。SRVレコードの詳細は、RFC 2782を参照してください。
- TXT
- テキスト・レコードは、説明的な、判読可能なテキストを保持し、特定の用途のために判読不可能なコンテンツを含めることもできます。このレコード・タイプは、通常、人間が判読できないテキスト項目を必要とするSPFレコードおよびDKIMレコードに使用されます。TXTレコードの詳細は、RFC 1035を参照してください。
必要なIAMポリシー
プライベートDNSを使用するには、ユーザーに(IAMポリシーという形で)十分な権限が必要です。管理者グループのユーザーには、必要な権限があります。ユーザーが管理者グループに属していない場合、次のようなポリシーにより、特定のグループがプライベートDNSを管理できます:
Allow group <GroupName> to manage dns in tenancy where target.dns.scope = 'private'
ポリシーを初めて使用する場合は、「ポリシーの開始」と「共通ポリシー」を参照してください。プライベートDNSのポリシーの詳細は、DNSポリシー・リファレンスを参照してください。
プライベートDNSタスク
プライベートDNSの設定
プライベートDNSタスク
VCNタスク
専用DNSリゾルバを使用してVCNを作成するには、VCNおよびサブネットの概要およびVirtual CloudネットワークのDNSを参照してください。