すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud DNS:SLS へのプライベートゾーン名前解決ログの保存

最終更新日:Dec 15, 2025

重要

ネットワークトラフィック分析が有効になっているリージョンと VPC のみ、ログストレージを構成できます。デフォルトでは、ログストレージサービスに対してネットワークトラフィック分析が有効になっています。ネットワークトラフィック分析を無効にすると、ログストレージサービスはログデータを受信しません。詳細については、「ネットワークトラフィック分析を有効または無効にする」をご参照ください。

シナリオ

コンプライアンスとセキュリティの目的で、企業はネットワークログを保存し、分析する必要がしばしばあります。プライベートゾーンログは、内部ドメイン名がどのように使用されているかを明確に示します。これにより、ユーザーの動作を監査し、潜在的なセキュリティリスクを迅速に特定できます。

プライベートゾーン解決ログとは

プライベートゾーン名前解決ログは、指定された Alibaba Cloud UID の下のすべての VPC のエンドポイントからの DNS 名前解決リクエストと応答を記録します。これらのログには、リクエストリージョン、リクエスト VPC ID、ソース IP アドレス、宛先 IP アドレス (DNS エンドポイント)、クエリされたドメイン名、RecordType、応答結果などの詳細が含まれます。リクエストされたドメイン名には、PrivateZone で構成された権限のあるドメイン名と外部のパブリックドメイン名の両方が含まれます。複数のアカウントとリージョンにまたがるプライベートゾーンログを迅速に収集、管理、一元的に分析するために、Alibaba Cloud DNS と Simple Log Service (SLS) はワンクリック機能を提供しています。この機能は、SLS ログ監査アプリケーションで有効にできます。

プライベートゾーンログは、内部エンドポイントからのドメイン名解決リクエストと応答を記録します。リクエストされたドメイン名は、主に次の 4 つのカテゴリに分類されます。

1. 組み込みの権限のあるドメイン名

プライベートゾーン解決は、Alibaba Cloud Virtual Private Cloud (VPC) 環境に基づくプライベート DNS サービスです。このサービスを使用すると、カスタムプライベートドメイン名を 1 つ以上の VPC の IP アドレスにマッピングできます。これらのカスタムプライベートドメイン名を使用して、ECS ホスト名、SLB インスタンス、OSS バケットなど、VPC 内の Alibaba Cloud リソースを管理できます。これらのプライベートドメイン名は、VPC の外部からはアクセスできません。また、専用回線または VPN を使用して VPC を従来のデータセンターに接続することもできます。これにより、プライベートドメイン名を介してデータセンターと VPC の間でリソース共有が可能になります。

2. Apsara プラットフォーム DNS (クラウドインフラストラクチャ DNS) で構成されたクラウドプロダクトインスタンスのドメイン名

クラウドインフラストラクチャ DNS は、Alibaba Cloud Apsara プラットフォームの内部 DNS です。Alibaba Cloud プロダクトによって提供されるすべてのインスタンスドメイン名は、この DNS によって解決されます。

3. 外部 DNS サーバーに転送される外部ドメイン名

外部 DNS サーバーは、通常、データセンター内の内部 DNS システムを指します。転送機能により、VPC からのドメイン名解決リクエストをデータセンターの DNS システムに転送できます。これにより、Alibaba Cloud VPC 内の ECS ホストがデータセンター内のアプリケーションドメイン名にアクセスできるようになります。

4. 外部のパブリック権威 DNS サーバーによって再帰的に解決されるパブリックドメイン名

パブリック権威 DNS サーバーは、ドメインレジストリまたはドメイン指定業者で、「example.com」などの特定のパブリックドメイン名に対して構成された DNS サーバーです。これらのサーバーは、ルートドメイン、トップレベルドメイン、およびその他のドメインレベルの権威データの管理および解決サービスを提供します。パブリック権威 DNS サーバーは、自身が管理するドメイン名のみを解決し、他のドメイン名へのリクエストへのアクセスを拒否します。

プライベートゾーン名前解決ログのフィールド

1. リクエストログの例

ログフィールド

説明

例 (フォーマット参照のみ)

dns_msg_flags

DNS メッセージフラグ:

  • RD: 再帰クエリがリクエストされたことを示します。

  • AD: リクエストメッセージには通常このフィールドは含まれません。このフラグが含まれている場合、実用的な意味はありません。

  • CD: DNSSEC 検証が成功したかどうかに関係なく、応答サーバーが応答する必要があることを示します。

RD

dns_msg_id

DNS メッセージ ID。これは DNS クエリの一意の識別子です。

30914

dst_addr

宛先 IP アドレス。

100.100.2.136

dst_port

宛先ポート。

53

ecs_hostname

ECS ホスト名。

iZbp1b1mx9fhe34k*****

ecs_id

ECS インスタンス ID。

i-bp1b1mx9fhe34kh****

module_type

モジュールログタイプ。リクエストログは常にグローバルログです。

  • GLOBAL: グローバル

GLOBAL

query_name

クエリされたドメイン名。

www.example.com.

query_type

クエリのレコードタイプ (A、AAAA、CNAME、TXT、MX など)。

A

region_id

リージョン。

cn-shanghai

src_addr

ソース IP アドレス。

192.168.0.1

src_port

ソースポート。

42071

transport

トランスポートプロトコル。

UDP

user_id

Alibaba Cloud アカウント ID。

139749398683****

vpc_id

VPC タイプのインスタンス ID。

vpc-bp1eyy43516itw78****

edns

DNS の拡張メカニズム (EDNS)。このフィールドは、クエリまたは応答ログに含まれる場合があります。

"flags: DO udp: 1408 CLIENT-SUBNET: 1.1.XX.XX/32/24"

2. グローバル応答ログの例

ログフィールド

説明

例 (フォーマット参照のみ)

answer_rrset

応答リソースレコードセット。

Json 配列:

["www.example.com. 600 A 192.168.1.1", "www.example.com 600 A 192.168.1.2", ]

authority_rrset

権威リソースレコードセット。

Json 配列:

["example.com. 600 SOA ns1.example.com. hostmaster.example.com. 2023010101 3600 1200 3600 360" ]

additional_rrset

追加リソースレコードセット。

Json 配列:

["ns1.example.com. 600 A 100.100.2.136"]

dns_msg_flags

  • QR: サーバー応答メッセージを示します。

  • RD: 再帰クエリがリクエストされたことを示します。

  • AA: 権威サーバーからの応答を示します。

  • TC: メッセージが長すぎたために切り捨てられたことを示します。

  • AD: DNSSEC デジタル署名が検証されたことを示します。

  • CD: DNSSEC 検証が成功したかどうかに関係なく、応答サーバーが応答する必要があることを示します。

QR

dns_msg_id

DNS メッセージ ID。これは DNS クエリの一意の識別子です。

30914

dst_addr

宛先 IP アドレス。

192.168.0.1

dst_port

宛先ポート。

42071

ecs_hostname

ECS ホスト名。

iZbp1b1mx9fhe34k*****

ecs_id

ECS インスタンス ID。

i-bp1b1mx9fhe34kh****

module_type

モジュールログタイプ:

  • GLOBAL: グローバル

GLOBAL

query_name

クエリされたドメイン名。

www.example.com.

query_type

クエリのレコードタイプ (A、AAAA、CNAME、TXT、MX など)。

A

rcode

応答ステータスコード:

  • 0: NOERROR。クエリは成功しました。

  • 1: FORMERR。フォーマットエラーのため、DNS サーバーはリクエストを解析できませんでした。

  • 2: SERVFAIL。内部エラーまたはタイムアウトのため、DNS サーバーはドメイン名を解決できませんでした。

  • 3: NXDOMAIN。ドメイン名が見つかりませんでした。

  • 4: NOTIMP。サーバーは指定された操作コードをサポートしていません。

  • 5: REFUSED。ポリシーまたはセキュリティ上の理由により、DNS サーバーは応答を拒否しました。

0

region_id

リージョン。

cn-shanghai

resolve_path

解決パス。このフィールドはグローバル応答ログにのみ表示されます。パスは、5 つの値を持つカンマ区切りの文字列です。各値は、権威アクセラレーションゾーン、権威通常ゾーン、キャッシュモジュール、転送モジュール、再帰モジュールのいずれかのモジュールに対応します。

「1」は、クエリがモジュールを通過したことを意味します。

「0」は、モジュールがスキップされたことを意味します。

複数レベルの CNAME ルックアップの場合、複数の値が「1」になることがあります。

1,0,0,0,0

rt

応答時間 (RT):

  • グローバル応答 RT: クエリから応答までの合計時間。

  • モジュールログ RT: モジュール内で消費された時間。

10 ms

src_addr

ソース IP アドレス。

100.100.2.136

src_port

ソースポート。

53

transport

トランスポートプロトコル。

UDP

user_id

Alibaba Cloud アカウント ID。

139749398683****

vpc_id

VPC タイプのインスタンス ID。

vpc-bp1eyy43516itw78****

edns

DNS の拡張メカニズム (EDNS)。このフィールドは、クエリまたは応答ログに含まれる場合があります。

"flags: DO udp: 1408 CLIENT-SUBNET: 1.1.XX.XX/32/24"

3. モジュール応答ログの例

ログフィールド

説明

例 (フォーマット参照のみ)

answer_rrset

応答リソースレコードセット。

Json 配列:

["www.example.com. 600 A 192.168.1.1", "www.example.com 600 A 192.168.1.2", ]

authority_rrset

権威リソースレコードセット。

Json 配列:

["example.com. 600 SOA ns1.example.com. hostmaster.example.com. 2023010101 3600 1200 3600 360" ]

additional_rrset

追加リソースレコードセット。

Json 配列:

["ns1.example.com. 600 A 100.100.2.136"]

dns_msg_id

DNS メッセージ ID。これは DNS クエリの一意の識別子です。

30914

dst_addr

宛先 IP アドレス。

100.100.2.136

dst_port

宛先ポート。

53

ecs_hostname

ECS ホスト名。

iZbp1b1mx9fhe34k*****

ecs_id

ECS インスタンス ID。

i-bp1b1mx9fhe34kh****

module_type

モジュールログタイプ:

  • AUTH_FAST: 権威アクセラレーションゾーン

  • AUTH_SLOW: 権威ノーマルゾーン

  • FORWARD: 転送モジュール

  • CACHE: キャッシュモジュール

  • RECURSION: 再帰モジュール

AUTH_FAST

query_name

クエリされたドメイン名。

www.example.com.

query_type

クエリのレコードタイプ (A、AAAA、CNAME、TXT、MX など)。

A

rcode

応答ステータスコード:

  • 0: NOERROR。クエリは成功しました。

  • 1: FORMERR。フォーマットエラーのため、DNS サーバーはリクエストを解析できませんでした。

  • 2: SERVFAIL。内部エラーまたはタイムアウトのため、DNS サーバーはドメイン名を解決できませんでした。

  • 3: NXDOMAIN。ドメイン名が見つかりませんでした。

  • 4: NOTIMP。サーバーは指定された操作コードをサポートしていません。

  • 5: REFUSED。ポリシーまたはセキュリティ上の理由により、DNS サーバーは応答を拒否しました。

0

region_id

リージョン。

cn-shanghai

rt

応答時間 (RT):

  • グローバル応答ログでは、「rt」はクエリから応答までの合計時間です。

  • モジュールログでは、「rt」はモジュール内で費やされた時間です。

1 ms

src_addr

ソース IP アドレス。

192.168.0.1

src_port

ソースポート。

42071

transport

トランスポートプロトコル。

UDP

user_id

Alibaba Cloud アカウント ID。

139749398683****

vpc_id

VPC タイプのインスタンス ID。

vpc-bp1eyy43516itw78****

edns

DNS の拡張メカニズム (EDNS)。このフィールドは、クエリまたは応答ログに含まれる場合があります。

"flags: DO udp: 1408 CLIENT-SUBNET: 1.1.XX.XX/32/24"

Private Zone ログ監査

1. ログ監査とは

ログ監査サービスは、Alibaba Cloud Simple Log Service (SLS) プラットフォーム上のアプリケーションです。SLS のすべての機能を継承し、さまざまな Alibaba Cloud プロダクトからのマルチアカウント管理とクロスリージョンログ収集のための強力な機能を提供します。また、リソースディレクトリを使用して、複数のアカウントにまたがるクラウドプロダクトインスタンスからのログ情報を一元的に管理および記録することもサポートしています。

2. Private Zone ログ監査を有効にする

説明

内部 DNS ログ監査機能は現在、中国 (上海)中国 (北京)中国 (広州)中国 (深圳)中国 (杭州)中国 (青島)中国 (張家口)シンガポール中国 (香港)、および 中国 (深圳) 金融クラウドリージョンで利用できます。他のリージョンでこの機能が必要な場合は、チケットを起票して、プロダクトチームにフィードバックを提供できます。プロダクトチームはリクエストを評価し、リージョンのサポートを追加するかどうかを決定します。

  1. ログ監査サービスコンソールにログインします。

  2. [グローバル構成] ページで、プライベートゾーンログ監査のスイッチをオンにし、[中央プロジェクトのリージョン] (たとえば cn-hangzhou) を選択します。詳細については、「ログ収集を有効にする」をご参照ください。

    image

3. その他の機能

複数アカウント構成

ログ監査サービスの強力なクロスアカウント収集機能により、メンバーアカウントから中央管理アカウントにプライベートゾーンログを収集できます。ログ監査サービスは、マルチアカウント管理のために次の 2 つのモードをサポートしています。

  • リソースディレクトリモード

  • カスタム権限付与モード

詳細については、「Alibaba Cloud アカウント間でクラウドリソースからログを収集する」をご参照ください。

Terraform 構成

Terraform はオープンソースツールです。そのコマンドラインインターフェイス (CLI) は、Alibaba Cloud またはその他のサポートされているクラウドに構成ファイルをデプロイし、バージョン管理するための簡単なメソッドを提供します。Log Audit Service と Terraform を使用してクラウドプロダクトのログ収集を構成する方法の詳細については、「Terraform を使用して Log Audit Service を構成する」をご参照ください。

次のコードは、Terraform を使用してプライベートゾーンのログ収集を設定する方法の例を示しています。

resource "alicloud_log_audit" "dns_example" {
	display_name = "tf-audit-test-dns"
	aliuid       = "1480************"  // 管理アカウント。
	variable_map = {
		"dns_intranet_enabled" = "true", // プライベートゾーンログの収集を有効にします。
		"dns_sync_enabled" = "true",     // リージョンログの中央プロジェクトへの同期を有効にします。
		"dns_intranet_ttl" = "3",        // リージョンログの保存期間: 3 日。
		"dns_sync_ttl" = "185"					 // 中央ログの保存期間: 185 日。
		"dns_intranet_collection_policy" = "accept tag.env == \\\"test\\\"\\ndrop \\\"*\\\"" // タグキーが env でタグ値が prod の VPC インスタンスからのみプライベートゾーンログを収集します。
	  }  
	multi_account = ["1039************"] // メンバーアカウントを構成します。
  }

収集ポリシー

プライベートゾーンのログ収集を詳細なレベルで管理できます。最小の収集粒度は VPC タイプのインスタンスです。これにより、VPC タイプのインスタンス情報に基づいて DNS ログ収集を制御できます。

収集ポリシーは、ログ監査サービスコンソールで設定できます。次の図は、ポリシーの例を示しています。このポリシーは、タグキー `env` とタグ値 `prod` を持つ VPC インスタンスからのみプライベートゾーンログを収集します。収集ポリシーを設定することで、詳細な収集管理を実現し、不要なログ収集を削減できます。

image.png

ログ分析のベストプラクティス

このセクションでは、プライベートゾーンログの一般的なクエリおよび分析シナリオの例を示します。特定のニーズに合わせてカスタム分析文を作成することもできます。さらに、SQL 文の結果をダッシュボードに追加したり、クイック検索として保存したり、さらなる処理のためにアラートを作成したりできます。

1. DNS 解決結果

指定された期間に、指定された VPC 内の異なるクエリされたドメイン名に対する DNS リクエストの分布を分析します。

* and vpc_id: vpc-2ze9dducyc3t6p8aeksb3 |select count(*) as total_req, query_name group by  query_name

image

2. DNS 解決 RT

指定された VPC、ドメイン名、およびクエリタイプに対する DNS 名前解決の RT を、一定期間にわたって統計的に分析します。

* and vpc_id: vpc-2ze9dducyc3t6p8aeksb3 and query_name: "metrichub-cn-beijing.aliyun.com." and query_type: A | select stddev(__time__) as RT, dns_msg_id GROUP  by dns_msg_id

image

3. 解決例外の分析

Alibaba Cloud ECS サーバーでドメイン名の名前解決例外が発生した場合、プライベートゾーン名前解決ログを有効にして SLS に保存し、原因を分析できます。SLS ログには、 リクエストログ、グローバル応答ログ、モジュール応答ログの 3 種類のログエントリが含まれる場合があります。

分析手順は次のとおりです。

  1. src_portdns_msg_id パラメーターを使用して、単一の名前解決リクエストのすべてのログエントリを識別し、フィルターします。

  2. 次のフィールドを使用して、3 種類のログを区別します。

    1. リクエストログには、空の rt フィールドがあります。

    2. モジュール応答ログの resolve_path フィールドは空です。

    3. グローバル確認ログは空ではありません。

  3. 異常な結果の例

    前述のルールに基づくと、最初のエントリはリクエストログ、2 番目はモジュール応答ログ、3 番目はグローバル応答ログです。

    image

    1. クライアントは DNS 名前解決リクエストを開始し、再帰クエリを期待します。

    2. リクエストは再帰モジュールに送信されますが、モジュールはドメイン名の解決に失敗します。

    3. 100.100.2.136 のサーバーは、クライアントに失敗結果を返します。

  4. 正常な結果の例

    image

    1. クライアントは DNS 名前解決リクエストを開始し、再帰クエリを期待します。

    2. リクエストは再帰モジュールに送信され、モジュールはドメイン名の解決に成功します。

    3. 100.100.2.136 のサーバーは、クライアントに解決結果を返します。