このページでは、Cloud DNS サーバー ポリシーを構成し、それらを Virtual Private Cloud(VPC)ネットワークで使用する方法について説明します。このページを使用する前に、DNS サーバー ポリシーの概要を確認してください。
始める前に
Cloud DNS API を使用するには、Google Cloud プロジェクトを作成し、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
以前に選択したプロジェクトとは異なるプロジェクトを選択するには、コマンドラインで --project
オプションを指定します。
DNS サーバー ポリシーを作成する
各 DNS サーバー ポリシー オブジェクトでは、次のいずれかのサーバー ポリシーを定義できます。
- 受信転送を有効にする受信サーバー ポリシー
- 1 つ以上の代替ネームサーバーを指定する送信サーバー ポリシー
- 受信サーバー ポリシーと送信サーバー ポリシーの両方
いずれの VPC ネットワークでも、複数の DNS サーバー ポリシーを参照することはできません。VPC ネットワークに対して受信転送と送信転送の両方を定義する必要がある場合は、受信ポリシーと送信ポリシーの両方を定義するポリシーを 1 つ作成します。
インバウンド サーバー ポリシーを作成する
受信サーバー ポリシーを作成するには、次の手順を行います。Cloud DNS が、ポリシーの適用先となる各 VPC ネットワーク内のサブネットのプライマリ IPv4 アドレス範囲から、一連の受信フォワーダー IP アドレスを作成します。ポリシーを作成すると、Cloud DNS が作成したエントリ ポイントを一覧表示できます。
gcloud
受信サーバー ポリシーを作成するには、dns policies
create
コマンドを実行します。
gcloud dns policies create NAME \ --description=DESCRIPTION \ --networks=VPC_NETWORK_LIST \ --enable-inbound-forwarding
以下を置き換えます。
NAME
: ポリシーの名前DESCRIPTION
: ポリシーの説明VPC_NETWORK_LIST
: 受信転送アドレスを作成する必要がある VPC ネットワークのカンマ区切りのリスト
Terraform
送信サーバー ポリシーを作成する
VPC ネットワークの代替ネームサーバーのリストを指定するには、送信サーバー ポリシーを作成します。
gcloud
送信サーバー ポリシーを作成するには、dns policies
create
コマンドを実行します。
gcloud dns policies create NAME \ --description=DESCRIPTION \ --networks=VPC_NETWORK_LIST \ --alternative-name-servers=ALTERNATIVE_NAMESERVER_LIST \ --private-alternative-name-servers=PRIVATE_ALTERNATIVE_NAMESERVER_LIST
以下を置き換えます。
NAME
: ポリシーの名前DESCRIPTION
: ポリシーの説明VPC_NETWORK_LIST
: 代替ネームサーバーにクエリを実行する VPC ネットワークのカンマ区切りのリストALTERNATIVE_NAMESERVER_LIST
: 代替ネームサーバーとして使用できる IP アドレスのカンマ区切りのリスト。プライベート ルーティングは、RFC 1918 アドレスを持つ代替ネームサーバーにのみ使用されます。PRIVATE_ALTERNATIVE_NAMESERVER_LIST
: 代替ネームサーバーとして使用できる IP アドレスのカンマ区切りのリスト。プライベート ルーティングを使用してアクセスされます。
Terraform
両方のサーバー ポリシーを作成する
gcloud
受信転送と送信転送の両方に対応する DNS サーバー ポリシーを作成するには、dns policies create
コマンドを実行します。
gcloud dns policies create NAME \ --description=DESCRIPTION \ --networks=VPC_NETWORK_LIST \ --alternative-name-servers=ALTERNATIVE_NAMESERVER_LIST \ --private-alternative-name-servers=PRIVATE_ALTERNATIVE_NAMESERVER_LIST \ --enable-inbound-forwarding
以下を置き換えます。
NAME
: ポリシーの名前DESCRIPTION
: ポリシーの説明VPC_NETWORK_LIST
: 受信転送アドレスを作成し、代替ネームサーバーに対してクエリを実行する必要がある VPC ネットワークのカンマ区切りのリストALTERNATIVE_NAMESERVER_LIST
: 代替ネームサーバーとして使用できる IP アドレスのカンマ区切りのリスト。限定公開ルーティングは、RFC 1918 アドレスが設定された代替ネームサーバーにのみ使用されます。PRIVATE_ALTERNATIVE_NAMESERVER_LIST
: 代替ネームサーバーとして使用できる IP アドレスのカンマ区切りのリスト。プライベート ルーティングを使用してアクセスされます。
Terraform
受信フォワーダーのエントリ ポイントを一覧表示する
受信サーバー ポリシーが VPC ネットワークに適用されると、Cloud DNS はオンプレミス システムまたは名前リゾルバが DNS クエリを送信できる宛先として一連のリージョン内部 IP アドレスを作成します。これらのアドレスは、VPC ネットワークの名前解決順序へのエントリ ポイントとして機能します。
Google Cloud ファイアウォール ルールは、受信フォワーダーのエントリ ポイントとして機能するリージョン内部アドレスには適用されません。Cloud DNS は、ポート 53
で TCP トラフィックと UDP トラフィックを自動的に受け入れます。
各受信フォワーダーは、リージョン内部 IP アドレスと同じリージョン内の Cloud VPN トンネルまたは Cloud Interconnect アタッチメント(VLAN)からクエリを受け入れます。VM インスタンスは、同じ VPC ネットワークの内部 IP アドレスを使用して受信フォワーダーにアクセスできます。受信転送にアクセスするには、ネットワーク インターフェースに外部 IP アドレスがあるか、NIC のサブネットで限定公開の Google アクセスが有効になっている必要があります。
gcloud
受信転送のエントリ ポイントとして機能する一連のリージョン内部 IP アドレスを一覧表示するには、compute addresses
list
コマンドを実行します。
gcloud compute addresses list \ --filter='purpose = "DNS_RESOLVER"' \ --format='csv(address, region, subnetwork)'
DNS ポリシーを更新する
以下のセクションでは、VPC ネットワークの変更と、受信転送の有効化と無効化について説明します。
VPC ネットワークを変更する
DNS ポリシーが適用される VPC ネットワークのリストを変更したときの動作を次に示します。
- ポリシーに受信ポリシーを指定している場合、必要に応じて受信フォワーダーのエントリ ポイントが VPC ネットワークに作成されます。
ポリシーに送信ポリシーを指定している場合、指定された代替ネームサーバーが含まれるように、各 VPC ネットワークの名前解決順序が更新されます。
gcloud
DNS サーバー ポリシーが適用されるネットワークのリストを変更するには、dns policies update
コマンドを実行します。
gcloud dns policies update NAME \ --networks=VPC_NETWORK_LIST
以下を置き換えます。
NAME
: ポリシーの名前VPC_NETWORK_LIST
: ポリシーを適用する VPC ネットワークのカンマ区切りのリスト。前のリストは、指定した VPC ネットワークのリストで置き換わります。
受信転送を有効または無効にする
送信ポリシーのみを定義する DNS サーバー ポリシー(代替ネームサーバー)の受信転送を有効にできます。既存の DNS ポリシーの受信転送を無効にすることもできます。
gcloud
DNS サーバー ポリシーの受信転送を有効にするには、dns policies
update
コマンドを実行します。
gcloud dns policies update NAME \ --enable-inbound-forwarding
DNS サーバー ポリシーの受信転送を無効にするには、dns policies
update
コマンドを実行します。
gcloud dns policies update NAME \ --no-enable-inbound-forwarding
NAME
は、ポリシーの名前に置き換えます。
DNS ポリシーを一覧表示する
gcloud
プロジェクト内の DNS サーバー ポリシーを一覧表示するには、dns policies
list
コマンドを実行します。
gcloud dns policies list
DNS ポリシーを削除する
gcloud
サーバー ポリシーを削除するには、dns policies
delete
コマンドを実行します。
gcloud dns policies delete NAME
NAME
は、削除するポリシーの名前に置き換えます。
次のステップ
- Cloud DNS の使用時に発生する可能性のある一般的な問題の解決策については、トラブルシューティングをご覧ください。
- Cloud DNS の概要については、Cloud DNS の概要をご覧ください。