トラフィック分析が有効になっているリージョンおよび VPC に対してのみ、ログを配信できます。トラフィック分析サービスが無効になっている場合、ログ配信サービスにはログデータが存在しません。詳細については、「トラフィック分析を有効または無効にする」をご参照ください。
ユースケース
コンプライアンスおよびセキュリティポリシーでは、ネットワークログの保管と分析が求められます。プライベートゾーンの解決ログは、ネットワーク内でのプライベートドメイン名の使用状況を記録します。これにより、ユーザーアクティビティ監査やセキュリティリスクの検出を可能にします。
プライベートゾーン解決ログ
プライベートゾーン名前解決ログ は、Alibaba Cloud アカウント配下のすべての VPC からの DNS クエリと応答を記録します。各エントリには、リージョン、VPC ID、送信元 IP アドレスと宛先 IP アドレス、クエリされたドメイン名、レコードタイプ、および応答が含まれます。クエリされたドメインには、PrivateZone 内の権威プライベートドメインと外部のパブリックドメインの両方が含まれます。マルチアカウントおよびマルチリージョン のシナリオでは、Alibaba Cloud DNS と SLS は、ログ監査 アプリケーションを通じて、プライベート DNS のログ記録をワンクリックで提供します。
クエリされたドメイン名は、次の 4 つのカテゴリに分かれます:
1. 組み込み権威ゾーン
PrivateZone は、1 つ以上の VPC 内でプライベートドメイン名を IP アドレスにマッピングします。これらのドメイン名を使用して、ECS インスタンス、SLB インスタンス、OSS バケットなどの Alibaba Cloud リソースにアクセスできます。これらのドメインは VPC 内でのみアクセスできます。また、専用線または VPN 経由で VPC をデータセンターに接続し、双方向でプライベートドメインの名前解決を行うこともできます。
2. クラウド製品インスタンスのドメイン (Cloud DNS)
Apsara プラットフォームに組み込まれ、Alibaba Cloud の全製品のインスタンスのドメイン名を解決する基盤 DNS サービスです。
3. 外部ドメインの外部 DNS への転送
外部 DNS は、通常、お客様のデータセンター内にある内部 DNS を指します。転送管理機能は、VPC からこのシステムへ DNS クエリをルーティングすることで、Alibaba Cloud VPC 内の ECS インスタンスがお客様のデータセンター内のアプリケーションドメインを解決できるようになります。
4. 外部 DNS へのパブリックドメイン再帰
パブリック権威 DNS サーバーは、特定のパブリックドメイン(例:「example.com」)の DNS レコードを管理します。このサーバーは、自身が管理するドメイン名のみを解決し、それ以外のすべての クエリは拒否します。
DNS コンソールでの配信設定
このエントリは、アローリストにあるアカウントのみが利用できます。お使いのアカウントがアローリストにない場合は、Alibaba Cloud アカウントマネージャーにご連絡いただくか、チケットを送信してアクセスをリクエストしてください。
Alibaba Cloud DNS - プライベートゾーン コンソールにログインします。
右上隅の [プライベートゾーン トラフィック分析] トグルをオンにします。すでに有効になっている場合は、トグルの横にある [設定] ボタンをクリックします。
次のパラメーターを設定します。
パラメーター
説明
[Regions]
トラフィック分析を有効にするリージョン。
[VPCs]
トラフィック分析を有効にする VPC。空欄にした場合、選択したリージョン内のすべての VPC で有効になります。
トラフィック分析サーバーのロケーション
ログ分析サーバーのリージョン。システム設定のため、変更できません。
[ログの保存と分析]
次のいずれかを選択します。
配信:ログはプライベートゾーンに保存または分析されることなく、SLS に直接配信されます。
分析と配信:プライベートゾーンがログを保存および分析し、コピーを SLS に配信します。
[転送設定]
[リージョン]:ログストレージのリージョン。
[Simple Log Service Project]:プロジェクトを新規作成するか、既存のものを選択します。
[Simple Log Service Logstore]:Logstore を新規作成するか、既存のものを選択します。
[OK] をクリックして設定を保存します。
SLS でのプライベートゾーン名前解決ログの表示
SLS コンソールにログインします。
[配信設定] で選択した[プロジェクト] を開き、次に選択した[Logstore] を開きます。
[Logstore] で配信された名前解決ログを表示します。
プライベートゾーンの名前解決ログのフィールド
1. リクエストログの例
パラメーター | 説明 | 例 |
dns_msg_flags | DNS メッセージのフラグ:
| RD |
dns_msg_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 |
query_name | クエリ対象のドメイン名。 | www.example.com. |
query_type | リクエストされたレコードタイプ。 | A |
region_id | リージョン 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 |
dns_msg_id | DNS クエリの一意の ID。 | 30914 |
dst_addr | 宛先 IP アドレス。 | 192.168.0.1 |
dst_port | 宛先ポート。 | 42071 |
ecs_hostname | ECS ホスト名。 | iZbp1b1mx9fhe34k***** |
ecs_id | ECS インスタンス ID。 | i-bp1b1mx9fhe34kh**** |
module_type | ログを生成したモジュールのタイプ。
| GLOBAL |
query_name | 問い合わせドメイン名。 | www.example.com. |
query_type | クエリのレコードタイプ。A、AAAA、CNAME、TXT、MX など。 | A |
rcode | 応答コード。
| 0 |
region_id | リージョン ID。 | cn-shanghai |
resolve_path | このフィールドはグローバル応答ログにのみ表示されます。カンマ区切りの値は、次のモジュールを順に表します:権威アクセラレーションゾーン、権威標準ゾーン、キャッシュモジュール、フォワーディングモジュール、再帰モジュール。 1:クエリがモジュールを通過したことを示します。 0:クエリがモジュールをスキップしたことを示します。 複数レベルの CNAME 解決の場合、複数のモジュールの値が 1 になることがあります。 | 1,0,0,0,0 |
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 |
query_name | 問い合わせドメイン名。 | www.example.com. |
query_type | クエリタイプ (A、AAAA、CNAME、TXT、MX など)。 | A |
rcode | レスポンスコード:
| 0 |
region_id | リージョン ID。 | cn-shanghai |
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" |
ログ分析
以下は、プライベートゾーンのログクエリにおける一般的なシナリオです。カスタム SQL の記述、ダッシュボードへの結果の追加、クイッククエリとしての保存、アラートの作成なども可能です。
1. DNS 名前解決結果タイプ
指定した VPC 内で、特定の期間におけるドメイン名別の DNS リクエストの分布です。
* and vpc_id: vpc-2ze9dducyc3t6p8aeksb3 |select count(*) as total_req, query_name group by query_nameクエリを実行すると、[チャート] タブにドメイン名ごとのリクエスト分布を示す円グラフが表示されます。
2. DNS 名前解決の応答時間
特定の VPC、ドメイン名、およびクエリタイプの DNS 名前解決の応答時間を分析します。
* 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クエリは、RT と dns_msg_id の 2 つの列を持つテーブルで 100 件のレコードを返します。すべてのレコードの RT 値は 0.0 となり、各 dns_msg_id グループの RT の標準偏差が 0 であることを示します。
3. 名前解決の例外
Alibaba Cloud の ECS インスタンスでドメインをクエリすると、名前解決の問題が発生します。お客様はプライベートゾーンの名前解決ログを有効にし、原因を分析するためにこれらのログを SLS に格納します。SLS ログには、次の 3 種類が含まれる場合があります: リクエストログ、グローバルレスポンスログ、モジュールレスポンスログ。
分析プロセス:
src_portとdns_msg_idパラメーターを使用して、単一の解決リクエストのログエントリを識別し、フィルタリングします。次のフィールドで、3 種類のログを区別します:
A log is a request log if the
rtfield is empty.A log is a module response log if the
resolve_pathfield is empty.A log is a global response log if the
resolve_pathfield is not empty.
エラー結果の例
前述のルールに基づくと、最初のエントリは リクエストログ、2番目は モジュール応答ログ、3番目は グローバル応答ログ です。
3 つすべてのログエントリの
dns_msg_idは59241です。 最初のログでは、module_typeはGLOBALで、dns_msg_flagsはRDです。 2 番目のログでは、module_typeはRECURSIONで、dns_msg_flagsは空です。 3 番目のログでは、module_typeはGLOBAL、dns_msg_flagsはQR RD、dst_addrは100.100.2.136です。クライアントが DNS の名前解決リクエストを開始し、再帰クエリを想定しています。
リクエストは再帰モジュールに送信されますが、名前解決は失敗します。
DNS サーバーはクライアント (IP アドレス: 100.100.2.136) にエラーを返します。
成功結果の例
DNS イントラネットログクエリが成功した場合の結果には、次のような代表的なキーフィールドと値が含まれます。
_source_はlog_dispatch、_topic_はdns_intranet_log、module_typeは GLOBAL または CACHE、query_typeは A、dst_addrは100.100.2.136、dst_portは53、transportは UDP、answer_rsetには CNAME 解決レコードが含まれ、node_idはcn-shanghaiです。クライアントが DNS の名前解決リクエストを開始し、再帰クエリを想定しています。
リクエストは再帰モジュールに送信され、名前解決は成功します。
DNS サーバーはクライアント (IP アドレス: 100.100.2.136) に名前解決の結果を返します。