このページの一部またはすべての情報は、S3NS の Trusted Cloud に適用されない場合があります。詳細については、
Google Cloud との違い をご確認ください。
ロギングとモニタリングの使用
このページでは、 限定公開ゾーン 転送ゾーン を含む Cloud DNS のロギングとモニタリング指標について説明します。
Cloud DNS ロギングを使用する
Cloud DNS ロギングは、ネームサーバーが解決する Virtual Private Cloud(VPC)ネットワークに直接送られるクエリを追跡します。
ログに記録されるクエリは、Compute Engine 仮想マシン(VM)インスタンス、同じ VPC ネットワーク内の Google Kubernetes Engine コンテナ、ピアリング ゾーン 、または受信 DNS 転送 を使用しているオンプレミス クライアントから届くものです。限定公開 DNS ゾーン、転送 DNS ゾーン、代替ネームサーバー、内部Cloud de Confiance DNS ゾーン、外部 DNS ゾーンで、最終的にクエリが解決されることもあります。
ログレコードは、リクエストを伝送したネットワーク 一般公開ゾーンを所有するプロジェクトに属します。共有 VPC の場合はホスト プロジェクトがネットワークを所有しているため、ログレコードはホスト プロジェクトに属します。
注: Cloud DNS は、キャッシュに保存されたレスポンスを使用してクエリに応答する場合があります。デフォルトでは、キャッシュに保存されたレスポンスはログに記録されません。ただし、ロギングが有効になっている場合、後続のキャッシュに保存されたレスポンスがログに記録されずに提供される前に、少なくとも 1 つの以前のレスポンスがログに記録されます。
限定公開マネージド ゾーンのロギングを有効または無効にする
ネットワークのロギングは、DNS ポリシーを使用して有効または無効にします。クエリロギングを有効にすると、Cloud DNS 限定公開マネージド ゾーンへのすべての DNS クエリが記録されます。
DNS ポリシーを持たないネットワークのロギングを有効にするには、dns policies create
コマンドを実行します。
gcloud
gcloud dns policies create POLICY_NAME \
--networks=NETWORK \
--enable-logging \
--description=DESCRIPTION
次のように置き換えます。
POLICY_NAME
: DNS ポリシーの名前
NETWORK
: カンマ区切りのリストの 1 つ以上のネットワーク
DESCRIPTION
ポリシーの説明
既存の DNS ポリシーを持つネットワークのロギングを有効にするには、dns policies update
コマンドを実行します。
gcloud
gcloud dns policies update POLICY_NAME \
--networks=NETWORK \
--enable-logging
次のように置き換えます。
POLICY_NAME
: DNS ポリシーの名前
NETWORK
: カンマ区切りのリストの 1 つ以上のネットワーク
ポリシーを維持したままロギングを止めるには、dns policies update
コマンドを実行します。
gcloud
gcloud dns policies update POLICY_NAME \
--networks=NETWORK \
--no-enable-logging
次のように置き換えます。
POLICY_NAME
: DNS ポリシーの名前
NETWORK
: カンマ区切りのリストの 1 つ以上のネットワーク
ポリシーを完全に削除するには、dns policies delete
コマンドを実行します。
gcloud
gcloud dns policies delete POLICY_NAME \
POLICY_NAME
は、削除する DNS ポリシーの名前に置き換えます。
ログを表示
ログは Cloud de Confiance コンソールで確認できます。
すべてのログエントリに次のフィールドがあります(ログエントリによっては該当しないものもあります)。一部のフィールドはモニタリング指標と共有されています。
フィールド
フィールド タイプ
説明
指標で使用
alias_query_response_code
(プレビュー )
文字列
ALIAS レコードの正規名を解決するためにクエリから返されたレスポンス コード
はい
authAnswer
ブール値 / DNS
権威ある回答、RFC 1035
いいえ
destinationIP
文字列 / ターゲット
ターゲットの IP アドレス。転送の場合にのみ該当します。
いいえ
egressError
文字列
下り(外向き)プロキシエラー。オンプレミス DNS サーバーから受信した下り(外向き)プロキシから報告された実際のエラー。
このフィールドは、オンプレミス DNS が返した実際の SERVFAIL と、下り(外向き)プロキシが検出したネットワーク エラーを区別するために使用できます
いいえ
healthyIps
文字列
クエリ時に HEALTHY
として Cloud DNS に認識されている ResourceRecordSet 内の IP アドレスのセット
いいえ
location
文字列
レスポンスの送信元となるCloud de Confiance リージョン(us-east1
など)
はい
project_id
文字列
受信したクエリの発信元ネットワークのCloud de Confiance プロジェクト ID
はい
protocol
文字列 / DNS
TCP
| UDP
いいえ
queryName
文字列 / DNS
DNS クエリの名前、RFC 1035 4.1.2
いいえ
queryType
文字列 / DNS
DNS クエリの種類、RFC 1035 4.1.2
いいえ
responseCode
数値 / DNS
レスポンス コード、RFC 1035 4.1.1
いいえ
rdata
文字列 / DNS
プレゼンテーション形式の DNS 回答、RFC 1035 5.1 、260 バイトで切り捨て
いいえ
sourceIP
文字列 / ソース
クエリの発信元の IP
いいえ
sourceNetwork
文字列 / ソース
システムに到達したクエリの発信元ネットワーク
いいえ
source_type
文字列
クエリの発行元: inbound-forwarding
、gce-vm
、internet
、peering-zone
、fqdn-forwarding-target
いいえ
target_name
文字列
ターゲット名(ゾーン名、ポリシー名、内部ゾーン名、外部ドメイン名など)
はい
target_type
文字列
DNS クエリを解決するターゲットの種類: private-zone
、forwarding-zone
、forwarding-policy
、peering-zone
、internal
、external
はい
unHealthyIps
文字列
クエリ時に UNHEALTHY
として Cloud DNS に認識されている ResourceRecordSet 内の IP アドレスのセット
いいえ
vmInstanceId
数値 / ソース
Compute Engine VM インスタンス ID。Compute Engine VM によって開始されたクエリにのみ該当します。
いいえ
vmInstanceName
文字列 / ソース
Compute Engine VM インスタンス名。Compute Engine VM によって開始されたクエリにのみ該当します。
いいえ
vmProjectId
文字列 / ソース
クエリの送信元ネットワークのCloud de Confiance プロジェクト ID。Compute Engine VM によって開始されたクエリにのみ適用されます。
いいえ
vmZoneName
文字列 / ソース
クエリの送信元 VM ゾーンの名前。Compute Engine VM によって開始されたクエリにのみ適用されます。
いいえ
料金
すべての Cloud DNS ログは Cloud Logging に書き込まれます。このサービスに対し、Cloud DNS と別に料金が発生することはありません。ただし、書き込まれて保存されるログのサイズによっては、追加のストレージ コストが発生する可能性があります。
概算として、Cloud DNS は 10,000 件の DNS クエリを処理するために、約 5 MB のログデータを書き込みます。
Cloud Logging の料金については、Google Cloud Observability の料金: Cloud Logging をご覧ください。
送信転送のトラブルシューティング
SERVFAIL
が含まれているログを受信したものの、destinationIP
、egressIP
、egressError
など特定のフィールドが欠落している場合は、トラブルシューティング ドキュメントの関連するセクション をご覧ください。
指標をモニタリングする
Cloud DNS は、モニタリング指標を Cloud Monitoring にエクスポートします。
限定公開ゾーン、転送ゾーン、ポリシー転送、内部 Cloud de Confiance ゾーン、インターネットを指す DNS クエリとレスポンスの割合をモニタリングできます。Monitoring は、 Cloud de Confiance コンソールの [Monitoring] ページ と Cloud Monitoring API で利用できます。
限定公開 DNS は、response_code
ラベルを含む dns.googleapis.com/query/response_count
デルタ指標をエクスポートし、レスポンス コードあたりのクエリ数をカウントします。
response_code
ラベルは string
型で、NOERROR
、FORMERR
、SERVFAIL
、NXDOMAIN
、NOTIMP
、UNKNOWN
のいずれかになります。コードの定義については、IANA DNS RCODE をご覧ください。
この指標は、ログのレコード形式 の該当するフィールドを使用して、dns_query
リソースタイプの下にエクスポートされます。
DNS 伝搬をモニタリングする
Google Cloud CLI または REST API を使用して変更を行うと、その変更はオペレーションが完了するまで「保留」としてマーク付けされます。変更ステータスの確認や、変更履歴の取得には、gcloud CLI か REST API を使用できます。
Cloud DNS が、サーバーを制御するシステムを正常に更新すると、オペレーションが完了します(ステータス: done
)。すべてのネームサーバーが更新されるまでに時間がかかる場合があります。
マネージド ゾーンの変更を一覧表示する
マネージド ゾーンの変更をリスト表示するには、dns record-sets changes list
コマンドを実行します。
gcloud
gcloud dns record-sets changes list --zone=ZONE
ZONE
は、レコードセットを管理するマネージド ゾーンの名前に置き換えます。
DNS 伝播を検証する
DNS ネームサーバーで変更が反映されたことを監視して確認するには、watch
コマンドと dig
コマンドを使用します。次の例は、ネームサーバーを検索し、マネージド ゾーンのネームサーバーの 1 つが MX
レコードの変更を受け取ったことを確認する方法を示しています。
注: watch
と dig
は Linux オペレーティング システムから提供されますが、gcloud
のコマンドではありません。そのため、gcloud
接頭辞を付けて実行する必要はありません。他のオペレーティング システムでは、これらのコマンドをインストールする必要がある場合があります。 ゾーンのネームサーバーを検索するには、dns managed-zones describe
コマンドを実行します。
gcloud
gcloud dns managed-zones describe ZONE_NAME
ZONE_NAME
は、Cloud DNS ゾーンの名前に置き換えます。
レコードが権威ネームサーバー上で利用可能かどうかを確認するには、次の dig
コマンドを実行します。
gcloud
watch dig example.com in MX @ZONE_NAME_SERVER
ZONE_NAME_SERVER
は、マネージド ゾーンのいずれかのネームサーバーに置き換えます。
watch
コマンドは、デフォルトでは 2 秒ごとに dig
コマンドを実行します。権威ネームサーバーはユーザーが加えた変更を 120 秒以内にピックアップしますが、このコマンドを使用すれば実際に変更がピックアップされたタイミングを知ることができます。権威ネームサーバーが変更をピックアップすると、DNS リゾルバが新しいレコードのピックアップを開始できるようになります。前のレコードをすでにキャッシュに保存しているリゾルバは、レコードの以前の TTL 値の期限が切れるまで待機します。
システムのネームサーバーに対して dig
を実行するには、dig
コマンドから @<address>
を削除します。他のネームサーバーへの伝播をモニタリングするには、address
を変更して他のネームサーバーを指定します。
次のステップ