このページでは、Cloud DNS のマネージド ゾーンの作成、更新、一覧表示、削除について説明します。このページを使用する前に、Cloud DNS の概要と主な用語を理解しておいてください。
始める前に
Cloud DNS API を使用するには、Cloud DNS プロジェクトを作成して、Cloud DNS API を有効にする必要があります。
REST API を使用するアプリケーションを作成する場合は、OAuth 2.0 クライアント ID も作成する必要があります。
- Google アカウントをまだお持ちでない場合は、Google アカウントを登録します。
- Google Cloud コンソールで Cloud DNS API を有効にします。既存の Compute Engine または App Engine プロジェクトを選択するか、新しいプロジェクトを作成できます。
- REST API にリクエストを行う必要がある場合は、OAuth 2.0 の ID を作成する必要があります。OAuth 2.0 を設定をご覧ください。
- プロジェクトの次の情報をメモします。この情報は、後の手順で入力する必要があります。
-
クライアント ID(
xxxxxx.apps.googleusercontent.com
)。 - 使用するプロジェクト ID。この ID は、Google Cloud コンソールの [概要] ページの上部で確認できます。また、ユーザーがアプリで使用するプロジェクト名を入力するように設定することも可能です。
-
クライアント ID(
Google Cloud CLI を実行したことがない場合は、次のコマンドを実行してプロジェクト名を指定し、Google Cloud コンソールで認証する必要があります。
gcloud auth login
別のプロジェクトの Google Cloud リソースに対して gcloud
コマンドを実行する場合は、このページ全体を通して、このコマンドと他の gcloud
コマンドに対して --project
オプションを指定します。
マネージド ゾーンを作成する
作成する各マネージド ゾーンは、Google Cloud プロジェクトに関連付けられています。次に示す各セクションでは、Cloud DNS がサポートするマネージド ゾーンのタイプを作成する方法について説明します。
一般公開ゾーンを作成する
新しいマネージド ゾーンを作成するには、次の手順を行います。
コンソール
Google Cloud Console で、[DNS ゾーンの作成] ページに移動します。
[ゾーンのタイプ] で [公開] を選択します。
ゾーン名(例:
my-new-zone
)を入力します。所有しているドメイン名を使用して、ゾーンの DNS 名のサフィックスを入力します。ゾーン内のすべてのレコードがこのサフィックスを共有します(
example.com
など)。[DNSSEC] で、[オフ]、[オン]、または [転送] を選択します。詳細については、マネージド ゾーンの DNSSEC を有効にするをご覧ください。
[作成] をクリックします。[ゾーンの詳細] ページが表示されます。
gcloud
dns managed-zones create
コマンドを実行します。
gcloud dns managed-zones create NAME \ --description=DESCRIPTION \ --dns-name=DNS_SUFFIX \ --labels=LABELS \ --visibility=public
次のように置き換えます。
NAME
: ゾーンの名前DESCRIPTION
: ゾーンの説明DNS_SUFFIX
: ゾーンの DNS サフィックス(例:example.com
)LABELS
:dept=marketing
やproject=project1
などの Key-Value ペアのカンマ区切りリスト。詳しくは、SDK のドキュメントをご覧ください。
Terraform
API
managedZones.create
メソッドを使用して、POST
リクエストを送信します。
POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones { "name": "NAME", "description": "DESCRIPTION", "dnsName": "DNS_NAME", "visibility": "public" }
以下を置き換えます。
PROJECT_ID
: マネージド ゾーンが作成されるプロジェクトの IDNAME
: ゾーンの名前DESCRIPTION
: ゾーンの説明DNS_NAME
: ゾーンの DNS サフィックス(例:example.com
)
限定公開ゾーンを作成する
Cloud DNS が管理するプライベート DNS レコードを持つ新しい限定公開マネージド ゾーンを作成するには、次の手順を実行します。詳しくは、Cloud DNS 限定公開ゾーンのベスト プラクティスをご覧ください。
コンソール
Google Cloud Console で、[DNS ゾーンの作成] ページに移動します。
[ゾーンのタイプ] で [非公開] を選択します。
ゾーン名(例:
my-new-zone
)を入力します。限定公開ゾーンの DNS 名のサフィックスを入力します。ゾーン内のすべてのレコードがこのサフィックスを共有します(
example.private
など)。(省略可)説明を追加します。
[オプション] で、[デフォルト(限定公開)] を選択します。
非公開ゾーンを表示する Virtual Private Cloud(VPC)ネットワークを選択します。選択した VPC ネットワークのみが、ゾーン内のレコードを照会できます。
[作成] をクリックします。
gcloud
dns managed-zones create
コマンドを実行します。
gcloud dns managed-zones create NAME \ --description=DESCRIPTION \ --dns-name=DNS_SUFFIX \ --networks=VPC_NETWORK_LIST \ --labels=LABELS \ --visibility=private
次のように置き換えます。
NAME
: ゾーンの名前DESCRIPTION
: ゾーンの説明DNS_SUFFIX
: ゾーンの DNS サフィックス(例:example.private
)VPC_NETWORK_LIST
: ゾーンに対するクエリ実行が許可されている VPC ネットワークのカンマ区切りのリスト。LABELS
:dept=marketing
やproject=project1
などの Key-Value ペアのカンマ区切りリスト。詳しくは、SDK のドキュメントをご覧ください。
Terraform
API
managedZones.create
メソッドを使用して、POST
リクエストを送信します。
POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones { "name": "NAME", "description": "DESCRIPTION", "dnsName": "DNS_NAME", "visibility": "private" "privateVisibilityConfig": { "kind": "dns#managedZonePrivateVisibilityConfig", "networks": [{ "kind": "dns#managedZonePrivateVisibilityConfigNetwork", "networkUrl": VPC_NETWORK_1 }, { "kind": "dns#managedZonePrivateVisibilityConfigNetwork", "networkUrl": VPC_NETWORK_2 }, .... ] }
以下を置き換えます。
PROJECT_ID
: マネージド ゾーンが作成されるプロジェクトの IDNAME
: ゾーンの名前DESCRIPTION
: ゾーンの説明DNS_NAME
: ゾーンの DNS サフィックス(例:example.private
)VPC_NETWORK_1
とVPC_NETWORK_2
: 同じプロジェクト内の VPC ネットワークの URL。このゾーンのレコードに対してクエリを実行できます。上記に示すように、複数の VPC ネットワークを追加できます。VPC ネットワークの URL を確認するには、次のgcloud
コマンドを使用します。VPC_NETWORK_NAME
はネットワーク名に置き換えます。gcloud compute networks describe VPC_NETWORK_NAME \ --format="get(selfLink)"
固有の IAM 権限を持つゾーンを作成する
個々のリソース マネージド ゾーンに対する Identity and Access Management(IAM)権限を使用すると、同じプロジェクトの異なるマネージド ゾーンで個別に読み取り権限、書き込み権限、管理者権限を設定できます。
個別に Identity and Access Management(IAM)権限を使用してゾーンを作成する方法については、固有の IAM 権限を持つゾーンを作成するをご覧ください。
Service Directory の DNS ゾーンを作成する
Google Cloud ベースのサービスが DNS を介して Service Directory の名前空間に対してクエリを実行できるようにする Service Directory ゾーンを作成できます。
Service Directory DNS ゾーンの作成方法の詳細については、Service Directory DNS ゾーンの構成をご覧ください。
DNS を使用して Service Directory のクエリを行う方法については、DNS を使用したクエリをご覧ください。
Terraform
マネージド逆引き参照の限定公開ゾーンを作成する
マネージド逆引き参照ゾーンは特別な属性を持つ限定公開ゾーンです。この属性により、Cloud DNS は、Compute Engine の DNS データに対して PTR 参照を実行します。仮想マシン(VM)インスタンスの RFC 1918 以外の PTR レコードを正しく解決するには、Cloud DNS にマネージド逆引き参照ゾーンを設定する必要があります。
新しいマネージド逆引き参照ゾーンの作成手順については、マネージド逆引き参照ゾーンの作成をご覧ください。
転送ゾーンを作成する
転送ゾーンを使用すると、ネームサーバーのターゲットを特定の限定公開ゾーンにできます。新しい限定公開マネージド ゾーンを作成する方法については、転送ゾーンの作成をご覧ください。
ピアリング ゾーンを作成する
DNS ピアリングを使用すると、あるゾーンの名前空間を送信元とするレコードに対するリクエストを別の VPC ネットワークに送信できます。ピアリング ゾーンの作成方法については、ピアリング ゾーンを作成するをご覧ください。
プロジェクト間のバインディング ゾーンを作成する
同じ組織内の別のプロジェクトが所有するネットワークにバインド可能なマネージド限定公開ゾーンを作成します。プロジェクト間のバインディング ゾーンの作成方法については、プロジェクト間のバインディング ゾーンをご覧ください。
マネージド ゾーンを更新する
Cloud DNS では、マネージド一般公開ゾーンまたは 限定公開ゾーンの特定の属性を変更できます。
一般公開ゾーンを更新する
一般公開ゾーンの説明または DNSSEC 構成を変更できます。
コンソール
Google Cloud Console で、Cloud DNS の [ゾーン] ページに移動します。
更新する一般公開ゾーンをクリックします。
[
編集] をクリックします。DNSSEC の設定を変更するには、[DNSSEC] で、[オフ]、[オン]、または [転送] を選択します。詳細については、マネージド ゾーンの DNSSEC の有効化をご覧ください。
(省略可)説明を更新します。
[保存] をクリックします。
gcloud
dns managed-zones update
コマンドを実行します。
gcloud dns managed-zones update NAME \ --description=DESCRIPTION \ --dnssec-state=STATE
次のように置き換えます。
NAME
: ゾーンの名前DESCRIPTION
: ゾーンの説明STATE
: DNSSEC の設定(Off
、On
、またはTransfer
)
限定公開ゾーンが表示される VPC ネットワークを変更するには:
コンソール
Google Cloud Console で、Cloud DNS の [ゾーン] ページに移動します。
更新する限定公開ゾーンをクリックします。
[
編集] をクリックします。限定公開ゾーンが表示される VPC ネットワークを選択します。選択した VPC ネットワークのみがゾーン内のレコードを照会できます。
[保存] をクリックします。
gcloud
dns managed-zones update
コマンドを実行します。
gcloud dns managed-zones update NAME \ --description=DESCRIPTION \ --networks=VPC_NETWORK_LIST
次のように置き換えます。
NAME
: ゾーンの名前DESCRIPTION
: ゾーンの説明VPC_NETWORK_LIST
: ゾーンに対するクエリ実行が許可されている VPC ネットワークのカンマ区切りのリスト。
ラベルの更新
マネージド ゾーンで、新しいラベルの追加、既存のラベルの変更、選択したラベルの削除、またはすべてのラベルの消去を行うには、次の手順を行います。
gcloud
dns managed-zones update
コマンドを実行します。
gcloud dns managed-zones update NAME \ --update-labels=LABELS
gcloud dns managed-zones update NAME \ --remove-labels=LABELS
gcloud dns managed-zones update NAME \ --clear-labels
次のように置き換えます。
NAME
: ゾーンの名前LABELS
:dept=marketing
やproject=project1
などの Key-Value ペアのカンマ区切りリスト。詳しくは、SDK のドキュメントをご覧ください。
マネージド ゾーンの一覧表示と説明
以下のセクションでは、マネージド ゾーンを一覧表示または詳細表示する方法を説明します。
マネージド ゾーンを一覧表示する
プロジェクト内のすべてのマネージド ゾーンを一覧表示するには、次の手順を行います。
コンソール
Google Cloud Console で、Cloud DNS の [ゾーン] ページに移動します。
右側のペインにマネージド ゾーンを表示します。
gcloud
dns managed-zones list
コマンドを実行します。
gcloud dns managed-zones list
すべてのマネージド ゾーンを一覧表示するには、次のようにコマンドを変更します。
gcloud dns managed-zones list
--filter="visibility=public"
gcloud dns managed-zones list \ --filter="visibility=private"
マネージド ゾーンを記述する
マネージド ゾーンの属性を表示するには、次の手順を行います。
コンソール
Google Cloud Console で、Cloud DNS の [ゾーン] ページに移動します。
検査するゾーンをクリックします。
gcloud
dns managed-zones describe
コマンドを実行します。
gcloud dns managed-zones describe NAME
NAME
は使用するゾーンの名前に置き換えます。
マネージド ゾーンを削除する
ゾーンを削除すると、その DNS レコードは完全に削除され、復元できなくなります。DNS レコードが失われるのを防ぐには、削除する前にゾーンデータをエクスポートします。ゾーンデータをエクスポートする方法については、リソース レコードセットのインポートとエクスポートをご覧ください。
マネージド ゾーンを削除する方法は次のとおりです。
コンソール
Google Cloud Console で、Cloud DNS の [ゾーン] ページに移動します。
削除するマネージド ゾーンをクリックします。
[ゾーンを削除] をクリックします。
gcloud
SOA
レコードとNS
レコードを除く、ゾーン内のすべてのレコードを削除します。詳細については、レコードの削除をご覧ください。ゾーン全体をすばやく空にするには、空のファイルをレコードセットにインポートします。詳しくは、レコードセットのインポートとエクスポートをご覧ください。次に例を示します。touch empty-file gcloud dns record-sets import -z NAME \ --delete-all-existing \ empty-file rm empty-file
NAME
は使用するゾーンの名前に置き換えます。新しい限定公開マネージド ゾーンを削除するには、
dns managed-zones delete
コマンドを実行します。gcloud dns managed-zones delete NAME
NAME
は使用するゾーンの名前に置き換えます。
次のステップ
- Cloud DNS の使用時に発生する可能性のある一般的な問題の解決策については、トラブルシューティングをご覧ください。
- Cloud DNS サーバー ポリシーを構成して VPC ネットワークで使用するには、Cloud DNS サーバー ポリシーの適用をご覧ください。
- Cloud DNS で IDN を使用するには、国際化ドメイン名を使用したゾーンを作成するをご覧ください。
- オペレーションの監査ログを表示するには、マネージド ゾーンでオペレーションを表示するをご覧ください。