このドキュメントでは、Cloud DNS に適用される主な用語について説明します。これらの用語を確認して、Cloud DNS の仕組みとそのコンセプトについて理解してください。
Cloud DNS API は、プロジェクト、マネージド ゾーン、レコードセット、レコードセットへの変更を中心に構築されています。
- プロジェクト
- Google Cloud Console プロジェクトは、リソースのコンテナであり、アクセス制御のためのドメインであり、さらには課金の構成と集計を行う場所でもあります。詳しくは、組織の作成と管理をご覧ください。
- マネージド ゾーン
マネージド ゾーンでは、同じドメイン ネーム システム(DNS)名サフィックス(
example.com
など)の DNS レコードが保持されます。プロジェクトには複数のマネージド ゾーンを含めることができますが、それぞれ一意の名前にする必要があります。Cloud DNS では、マネージド ゾーンは DNS ゾーンをモデル化するリソースです。マネージド ゾーン内のすべてのレコードは Google でオペレーションされている同じネームサーバー上でホストされています。これらのネームサーバーは、ゾーンの構成方法に応じて、マネージド ゾーンに対する DNS クエリに応答します。プロジェクトには複数のマネージド ゾーンを含めることができます。マネージド ゾーンが存在する各ゾーンに対し、毎日料金が発生します。マネージド ゾーンでは、課金の整理に役立つラベルをサポートしています。
- 一般公開ゾーン
一般公開ゾーンはインターネットに公開されます。Cloud DNS には、クエリの発信元に関係なく、一般公開ゾーンに関するクエリに応答する一般公開された権威ネームサーバーがあります。一般公開ゾーンに DNS レコードを作成して、サービスをインターネットで公開できます。たとえば、パブリック ウェブサイト
www.example.com
では、一般公開ゾーンexample.com
に次のレコードを作成できます。DNS 名 タイプ TTL(秒) データ www.example.com A 300 198.51.100.0 Cloud DNS は、一般公開ゾーンの作成時に一連のネームサーバーを割り当てます。限定公開ゾーン内の DNS レコードをインターネット経由で解決できるようにするには、登録事業者を通してドメイン登録のネームサーバー設定を更新する必要があります。
ドメインを登録して設定する方法については、Cloud DNS を使用したドメインの設定をご覧ください。
- 限定公開ゾーン
限定公開ゾーンを使用すると、基になる DNS データを公共のインターネットにさらすことなく、仮想マシン(VM)、ロードバランサ、その他の Google Cloud リソースのカスタム ドメイン名を管理できます。限定公開ゾーンは、承認した 1 つ以上の Virtual Private Cloud(VPC)ネットワークによってのみクエリできる DNS レコードのコンテナです。
限定公開ゾーンを作成または更新するときは、その限定公開ゾーンをクエリできる承認済みの VPC ネットワークのリストを指定する必要があります。承認済みのネットワークだけが限定公開ゾーンをクエリできます。承認済みのネットワークを指定しない場合、限定公開ゾーンは一切クエリできません。
共有 VPC で限定公開ゾーンを使用できます。共有 VPC で限定公開ゾーンを使用する場合の重要な情報については、共有 VPC に関する考慮事項をご覧ください。
限定公開ゾーンは、DNSSEC(DNS Security Extensions)または NS タイプのカスタム リソースのレコードセットをサポートしていません。限定公開ゾーンでの DNS レコードのリクエストは、メタデータ サーバー
169.254.169.254
を介して送信する必要があります。このサーバーは、Google が提供するイメージから作成された VM のデフォルトの内部ネームサーバーです。このネームサーバーへのクエリは、承認された VPC ネットワークを使用する任意の VM から送信できます。たとえば、
dev.gcp.example.com
に対して限定公開ゾーンを作成して、実験的なアプリケーション用の内部 DNS レコードをホストできます。次の表に、そのゾーン内のレコードの例を示します。データベース クライアントは、データベース サーバーdb-01.dev.gcp.example.com
に接続する場合、その IP アドレスの代わりに内部 DNS 名を使用できます。データベース クライアントは、VM 上のホストリゾルバを使用してこの内部 DNS 名を解決し、VM は DNS クエリをメタデータ サーバー169.254.169.254
に送信します。このメタデータ サーバーは、限定公開ゾーンを照会する再帰リゾルバとして機能します。DNS 名 タイプ TTL(秒) データ db-01.dev.gcp.example.com
A 5 10.128.1.35 instance-01.dev.gcp.example.com
A 50 10.128.1.10 限定公開ゾーンを使用すると、スプリット ホライズン DNS 構成を作成できます。 これは、レコードセットが異なる限定公開ゾーンを作成して、一般公開ゾーン内のレコードセットをオーバーライドできるためです。 これにより、限定公開ゾーン内のレコードをクエリする VPC ネットワークを制御できます。例については、重複するゾーンをご覧ください。
- Service Directory
Service Directory は Google Cloud のマネージド サービス レジストリです。これにより、従来の DNS だけでなく、HTTP または gRPC(Lookup API を使用)を使用してサービスの登録と検出を行うことができます。Service Directory を使用すると、Google Cloud と Google Cloud 以外の両方のサービスを登録できます。
Cloud DNS を使用すると、Service Directory がサポートするゾーンを作成できます。これは、サービスとエンドポイントに関する情報を含む限定公開ゾーンです。レコードセットはゾーンに追加しません。ゾーンに関連付けられている Service Directory の名前空間の構成に基づいて自動的に推定されます。Service Directory の詳細については、Service Directory の概要をご覧ください。
Service Directory がサポートするゾーンを作成する場合、ゾーンにレコードを直接追加することはできません。データは Service Directory のサービス レジストリから取得されます。
- Cloud DNS と RFC 1918 以外のアドレスに対する逆引き参照
デフォルトでは、Cloud DNS は、RFC 1918 以外のアドレスの PTR レコードのリクエストを公共のインターネット経由で転送します。ただし、Cloud DNS は、限定公開ゾーンを使用して、RFC 1918 以外のアドレスを逆引き参照することもできます。
RFC 1918 以外のアドレスを使用するように VPC ネットワークを構成したら、Cloud DNS 限定公開ゾーンをマネージド逆引き参照ゾーンとして構成する必要があります。この構成により、Cloud DNS はインターネット経由ではなく、RFC 1918 以外のアドレスをローカルで解決できます。
マネージド逆引き参照 DNS ゾーンを作成する場合、レコードをゾーンに直接追加することはできません。データは Compute Engine の IP アドレスデータから取得されます
Cloud DNS は、Google Cloud 内のアドレスをプライベートにルーティングすることで、RFC 1918 以外のアドレスへの送信転送もサポートします。このタイプの送信転送を有効にするには、特定の転送パス引数を指定して転送ゾーンを構成する必要があります。詳細については、転送先とルーティング方式をご覧ください。
- 転送ゾーン
転送ゾーンとは、そのゾーンに対するリクエストを転送先の IP アドレスに送信する Cloud DNS 限定公開マネージド ゾーンのタイプです。詳しくは、DNS 転送方式をご覧ください。
転送ゾーンを作成する際、転送ゾーンにレコードを直接追加することはできません。データは、1 つ以上の構成済みターゲット ネームサーバーまたはリゾルバから取得されます。
- ピアリング ゾーン
ピアリング ゾーンは、別の VPC ネットワークの名前解決順序に従う Cloud DNS 限定公開マネージド ゾーンのタイプで、他の VPC ネットワークで定義されている名前の解決に使用できます。
DNS ピアリング ゾーンを作成するときに、レコードを直接ゾーンに追加することはできません。データは、名前解決順序に従ってプロデューサー VPC ネットワークから取得されます。
- レスポンス ポリシー
レスポンス ポリシーは、レコードではなくルールを含む Cloud DNS 限定公開ゾーンのコンセプトです。これらのルールを使用すると、DNS レスポンス ポリシー ゾーン(RPZ)のドラフト コンセプト(IETF)に似た効果が得られます。レスポンス ポリシー機能を使用すると、ルックアップ中に DNS リゾルバが参照する DNS サーバーにカスタマイズされたルールを導入できます。レスポンス ポリシーのルールが受信クエリに影響する場合は処理されます。それ以外の場合は、ルックアップが通常どおりに進みます。詳細については、レスポンス ポリシーとルールの管理をご覧ください。
レスポンス ポリシーは RPZ とは異なります。RPZ は通常の DNS ゾーンであり、特殊な形式のデータには、互換性のあるリゾルバが特別な処理を行います。レスポンス ポリシーは DNS ゾーンではなく、API で個別に管理されます。
- ゾーン オペレーション
Cloud DNS のマネージド ゾーンに加えた変更はすべて、オペレーション コレクションに記録されます。ここには、マネージド ゾーンの更新内容(説明、DNSSEC 状態、または構成の変更)がリストされます。ゾーン内のレコードセットへの変更は、このドキュメントで後述するリソース レコード セットに個別に保存されます。
- 国際化ドメイン名(IDN)
国際化ドメイン名(IDN)は、アラビア文字、漢字、キリル文字、デーバナーガリー、ヘブライ文字、ラテン文字の特殊文字などを含むインターネット ドメイン名です。これにより、世界中のユーザーがドメイン名に言語固有の文字を使用できます。この変換は、Punycode(ASCII を使用する Unicode 文字の表現)によって実装されます。たとえば、
.ελ
の IDN 表現は.xn--qxam
になります。一部のブラウザ、メール クライアント、アプリケーションはこれを自動的に認識し、.ελ
としてレンダリングします。Internationalizing Domain Names in Applications(IDNA)標準では、有効な DNS ラベルとして表現できる長さの Unicode 文字列のみを許可しています。Cloud DNS で IDN を使用する方法については、国際化ドメイン名を使用したゾーンの作成をご覧ください。- 登録事業者
ドメイン名登録事業者は、インターネット ドメイン名の予約を管理する組織です。登録事業者は、ジェネリック トップレベル ドメイン(gTLD)レジストリまたは国別コード トップレベル ドメイン(ccTLD)レジストリによる認可を受ける必要があります。
- 内部 DNS
Google Cloud は、Cloud DNS を使用しない場合でも、VM に内部 DNS 名を自動的に作成します。内部 DNS について詳しくは、内部 DNS のドキュメントをご覧ください。
- 委任サブゾーン
DNS では、ゾーンのオーナーが NS(ネームサーバー)レコードを使用してサブドメインを別のネームサーバーに委任できます。リゾルバは、これらのレコードに従い、委任で指定されたターゲット ネームサーバーにサブドメインに関するクエリを送信します。
- リソース レコード セット
リソース レコード セットとは、ラベル、クラス、タイプは共通しているものの、データが異なる DNS レコードのコレクションです。リソース レコード セットは、マネージド ゾーンを構成する DNS レコードの現在の状態を保持します。リソース レコード セットは読み取りできますが、直接変更しないでください。代わりに、変更コレクション内に
Change
リクエストを作成することで、マネージド ゾーン内のリソース レコードセットを編集します。ResourceRecordSets
API を使用してリソース レコード セットを編集することもできます。リソース レコード セットには、すべての変更がすぐに反映されます。ただし、API で変更されてから、権威 DNS サーバーでそれらの変更が有効になるまでには、遅延があります。レコードを管理する方法については、レコードの追加、変更、削除をご覧ください。- リソース レコード セットの変更
リソース レコード セットを変更するには、追加または削除を含む
Change
またはResourceRecordSets
リクエストを送信します。追加と削除は、1 つのアトミック トランザクションまたは一括で行うことができ、それぞれの権威 DNS サーバーで同時に有効になります。たとえば、次のような A レコードがあるとします。
www A 203.0.113.1 203.0.113.2
次のようなコマンドを実行します。
DEL www A 203.0.113.2 ADD www A 203.0.113.3
一括変更後のレコードは次のようになります。
www A 203.0.113.1 203.0.113.3
ADD と DEL は同時に行われます。
- SOA シリアル番号形式
Cloud DNS マネージド ゾーンで作成された SOA レコードのシリアル番号は、
gcloud dns record-sets transaction
コマンドを使用してゾーンのレコードセットに対するトランザクション変更が行われるごとに単調に増加します。SOA レコードのシリアル番号は任意の番号に手動で変更できますが、RFC 1912 で推奨されている ISO 8601 形式の日付を含める必要があります。たとえば、次の SOA レコードでは、レコードの 3 番目のスペース区切りフィールドに目的の値を入力して、Google Cloud Console から直接シリアル番号を変更できます。
ns-gcp-private.googledomains.com. cloud-dns-hostmaster.google.com. [serial number] 21600 3600 259200 300`
- DNS サーバー ポリシー
DNS サーバー ポリシーにより、受信転送を使用して VPC ネットワーク内の Google Cloud が提供する名前解決サービスにアクセスすることや、送信サーバー ポリシーを VPC の名前解決の順序に優先させることができます。詳細については、DNS サーバー ポリシーをご覧ください。
- ドメイン、サブドメイン、委任
ほとんどのサブドメインは、親ドメインのマネージド ゾーンに含まれるレコードにすぎません。親ドメインのゾーン内に NS(ネームサーバー)レコードを作成することによって委任されたサブドメインには、独自のゾーンも設定する必要があります。
委任されたサブドメインの一般公開ゾーンを作成する前に、Cloud DNS で親ドメインの一般公開マネージド ゾーンを作成します。この操作は、別の DNS サービスに親ドメインをホストしている場合も行います。サブドメイン ゾーンが複数あるのに親ゾーンを作成しない場合、後で親ゾーンを Cloud DNS に移動しようとしても、親ゾーンを作成するのが複雑になることがあります。詳細については、ネームサーバーの上限をご覧ください。 DNSSEC
DNSSEC(Domain Name System Security Extensions)は、Internet Engineering Task Force(IETF)による DNS に対する一連の拡張機能で、ドメインネーム ルックアップに対するレスポンスを認証します。DNSSEC はこれらのルックアップに対するプライバシー保護は行いませんが、攻撃者が DNS リクエストに対するレスポンスを改ざんまたは汚染できないようにします。
- DNSKEY コレクション
DNSKEY コレクションには、DNSSEC 対応のマネージド ゾーンの署名に使用される DNSKEY レコードの現在の状態が保持されます。このコレクションは読み取りのみが可能です。DNSKEY に対する変更はすべて Cloud DNS によって行われます。DNSKEY コレクションには、ドメイン登録事業者が DNSSEC を有効にするために必要なすべての情報が含まれています。