このページでは、Cloud DNS のマネージド ゾーンの作成、更新、一覧表示、削除について説明します。このページを使用する前に、Cloud DNS の概要と主な用語を理解しておいてください。
始める前に
Cloud DNS API を使用するには、Cloud DNS プロジェクトを作成して、Cloud DNS API を有効にする必要があります。
REST API を使用するアプリケーションを作成する場合は、OAuth 2.0 クライアント ID も作成する必要があります。
- Google アカウントをまだお持ちでない場合は、Google アカウントを登録します。
- Trusted Cloud コンソールで Cloud DNS API を有効にします。既存の Compute Engine または App Engine プロジェクトを選択するか、新しいプロジェクトを作成できます。
- REST API にリクエストを送信する必要がある場合は、OAuth 2.0 の ID を作成する必要があります。OAuth 2.0 の設定をご覧ください。
- プロジェクトの次の情報をメモします。この情報は、後の手順で入力する必要があります。
-
クライアント ID(
xxxxxx.apps.googleusercontent.com
)。 - 使用するプロジェクト ID。この ID は、 Trusted Cloud コンソールの [概要] ページの上部に表示されます。また、アプリで使用するプロジェクト名を提供するようユーザーに求めることもできます。
-
クライアント ID(
Google Cloud CLI を実行したことがない場合は、次のコマンドを実行してプロジェクト名を指定し、 Trusted Cloud コンソールで認証する必要があります。
gcloud auth login
別のプロジェクトにある Trusted Cloud by S3NS リソースに対して gcloud
コマンドを実行する場合は、このページ全体を通して、このコマンドと他の gcloud
コマンドに --project
オプションを指定します。
マネージド ゾーンを作成する
作成する各マネージド ゾーンは、Trusted Cloud プロジェクトに関連付けられています。次に示す各セクションでは、Cloud DNS がサポートするマネージド ゾーンのタイプを作成する方法について説明します。
限定公開ゾーンを作成する
Cloud DNS が管理するプライベート DNS レコードを持つ新しい限定公開マネージド ゾーンを作成するには、次の手順を実行します。詳しくは、Cloud DNS 限定公開ゾーンのベスト プラクティスをご覧ください。
コンソール
Trusted Cloud コンソールで、[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 ゾーンを作成する
Trusted Cloudベースのサービスが DNS を介して Service Directory の名前空間に対してクエリを実行できるようにする Service Directory ゾーンを作成できます。
Service Directory DNS ゾーンの作成方法の詳細については、Service Directory DNS ゾーンの構成をご覧ください。
DNS を使用して Service Directory のクエリを行う方法については、DNS を使用したクエリをご覧ください。
Terraform
転送ゾーンを作成する
転送ゾーンを使用すると、ネームサーバーのターゲットを特定の限定公開ゾーンにできます。新しい限定公開マネージド ゾーンを作成する方法については、転送ゾーンの作成をご覧ください。
ピアリング ゾーンを作成する
DNS ピアリングを使用すると、あるゾーンの名前空間を送信元とするレコードに対するリクエストを別の VPC ネットワークに送信できます。ピアリング ゾーンの作成方法については、ピアリング ゾーンを作成するをご覧ください。
プロジェクト間のバインディング ゾーンを作成する
同じ組織内の別のプロジェクトが所有するネットワークにバインド可能なマネージド限定公開ゾーンを作成します。プロジェクト間のバインディング ゾーンの作成方法については、プロジェクト間のバインディング ゾーンをご覧ください。
マネージド ゾーンを更新する
Cloud DNS では、マネージド マネージド プライベート ゾーンの特定の属性を変更できます。
ラベルの更新
マネージド ゾーンで、新しいラベルの追加、既存のラベルの変更、選択したラベルの削除、またはすべてのラベルの消去を行うには、次の手順を行います。
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 のドキュメントをご覧ください。
マネージド ゾーンの一覧表示と説明
以下のセクションでは、マネージド ゾーンを一覧表示または詳細表示する方法を説明します。
マネージド ゾーンを一覧表示する
プロジェクト内のすべてのマネージド ゾーンを一覧表示するには、次の手順を行います。
コンソール
Trusted Cloud コンソールで、Cloud DNS の [ゾーン] ページに移動します。
右側のペインにマネージド ゾーンを表示します。
gcloud
dns managed-zones list
コマンドを実行します。
gcloud dns managed-zones list
すべてのマネージド ゾーンを一覧表示するには、次のようにコマンドを変更します。 すべてのマネージド プライベート ゾーンを一覧表示するには、次のようにコマンドを変更します。
gcloud dns managed-zones list \ --filter="visibility=private"
マネージド ゾーンの説明を取得する
マネージド ゾーンの属性を表示するには、次の手順を行います。
コンソール
Trusted Cloud コンソールで、Cloud DNS の [ゾーン] ページに移動します。
検査するゾーンをクリックします。
gcloud
dns managed-zones describe
コマンドを実行します。
gcloud dns managed-zones describe NAME
NAME
は使用するゾーンの名前に置き換えます。
マネージド ゾーンを削除する
ゾーンを削除すると、その DNS レコードは完全に削除されます。これを復元することはできません。DNS レコードが失われるのを防ぐには、削除する前にゾーンデータをエクスポートします。ゾーンデータをエクスポートする方法については、リソース レコードセットのインポートとエクスポートをご覧ください。
マネージド ゾーンを削除する方法は次のとおりです。
コンソール
Trusted Cloud コンソールで、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 を使用するには、国際化ドメイン名を使用したゾーンを作成するをご覧ください。
- オペレーションの監査ログを表示するには、マネージド ゾーンでオペレーションを表示するをご覧ください。