Simple Log Service (SLS) では、トラフィック分析機能が有効になっているリージョンと仮想プライベートクラウド (VPC) のログのみを保存できます。 SLSにトラフィック分析ログを保存するための前提条件は、トラフィック分析機能を有効にしていることです。 トラフィック分析機能を無効にすると、SLSにログは保存されません。 詳細については、「トラフィック分析の有効化または無効化」トピックのトラフィック分析の有効化セクションをご参照ください。
シナリオ
企業は、ビジネスコンプライアンスとセキュリティ要件を満たすためにネットワークログを保存および分析します。 プライベートDNSログは、内部ドメイン名のAlibaba Cloudドメインネームシステム (DNS) リクエストに対する明確な洞察を提供します。これにより、企業は内部ネットワークでのユーザーの行動を効率的に監査し、潜在的なセキュリティリスクを早期に特定することができます。
プライベートDNSログとは
プライベートDNSログには、Alibaba Cloudアカウント内のすべてのVPCにある端末から送信されたDNSリクエストと、DNSサーバーから返された応答が記録されます。 記録された情報には、DNSリクエストの送信元のリージョン、VPC ID、送信元IPアドレス、送信先IPアドレス (DNSサーバーのアドレス) 、照会されたドメイン名、レコードタイプ、および応答結果が含まれます。 端末によって照会されるドメイン名は、プライベートDNSで構成された組み込みの権威あるドメイン名およびパブリックドメイン名とすることができる。 プライベートDNSログ機能は、SLSのログ監査サービスと統合されています。 プライベートDNSログ機能を有効にすると、複数のアカウントとリージョンのプライベートDNSログを集中的にすばやく簡単に収集、管理、クエリ、分析できます。
プライベートDNSログは、VPC内の端末から送信されたDNSリクエストを、DNSサーバーから返された次のタイプのドメイン名と応答について記録します。
1. 組み込み権限ゾーンのドメイン名
プライベートDNSは、VPCのプライベートドメイン名解決および管理サービスです。 プライベートDNSを使用して、プライベートドメイン名を1つ以上のVPCのIPアドレスにマッピングできます。 プライベートDNSを使用すると、プライベートドメイン名を使用して、VPC内のElastic Compute Service (ECS) インスタンス、Server Load Balancer (SLB) インスタンス、Object Storage Service (OSS) バケットなどのAlibaba Cloudリソースにアクセスできます。 ただし、VPC以外のプライベートドメイン名は使用できません。 Express connect回線またはVPNゲートウェイを介してVPCをオンプレミスのデータセンターに接続することもできます。 これにより、プライベートドメイン名を使用して、オンプレミスのデータセンターとVPCの間でリソースを共有できます。
2. ApsaraシステムのDNSに設定されたクラウドサービスインスタンスのドメイン名
Alibaba Cloudサービスインスタンスのすべてのドメイン名は、ApsaraシステムのDNSを使用して解決されます。
3. リクエストが内部DNSサーバーに転送される外部ドメイン名
ほとんどの場合、内部DNSサーバーは、データセンターの内部ネットワーク上のDNSサーバーです。 プライベートDNSが内部DNSサーバーに転送されるように設定されたドメイン名のVPC DNSリクエストを受信すると、転送モジュールはDNSリクエストを内部DNSサーバーに転送します。 これにより、Alibaba Cloud VPC内のECSインスタンスは、データセンター内のアプリケーションのドメイン名にアクセスできます。
4。 権威DNSサーバー上のパブリックドメイン名
パブリック権限DNSサーバーは、s example.comなどの特定のパブリックドメイン名のドメイン名レジストラで構成されているDNSサーバーです。 パブリック権限DNSサーバーは、ルートドメイン名、トップレベルドメイン名、およびその他のレベルのドメイン名に関する権限情報を管理および解決します。 パブリック権限DNSサーバーは、DNSサーバーで設定されたドメイン名のみを解決し、DNSサーバーで設定されていないドメイン名の要求を拒否します。
プライベートDNSログのパラメータ
1. DNSリクエストログのパラメータ
項目 | 説明 | 例: |
dns_msg_flags | DNSメッセージのフラグ。 有効な値:
| 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に固定されています。 | グローバル |
query_name | 照会されたドメイン名。 | www.example.com. |
query_type | 照会されたDNSレコードのタイプ。 有効な値: A、AAAA、CNAME、TXT、およびMX。 | A |
region_id | リージョン ID です。 | cn-shanghai |
src_addr | 送信元 IP アドレスです。 | 192.168.0.1 |
src_port | 送信元ポートです。 | 42071 |
輸送 | 伝送プロトコル。 | UDP |
user_id | Alibaba Cloud アカウントの ID です。 | 139749398683 **** |
vpc_id | VPC ID | vpc-bp1eyy43516itw78 **** |
edns | DNSの拡張メカニズム。 | "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 | 組み込みの権限モジュールのDNSレコード。 | Jsonアレイ: ["example.com。 600 SO A 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。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に固定されています。 | グローバル |
query_name | 照会されたドメイン名。 | www.example.com. |
query_type | 照会されたDNSレコードのタイプ。 有効な値: A、AAAA、CNAME、TXT、およびMX。 | A |
rcode | 応答コード。 有効な値:
| 0 |
region_id | リージョン ID です。 | cn-shanghai |
resolve_path | 解決パス。 このパラメーターは、グローバル応答ログでのみ使用できます。 この値は5つのプレースホルダーで構成され、権威あるアクセラレーション、権威あるレギュラー、キャッシュ、フォワード、および再帰の各モジュールを示します。 プレースホルダーはコンマ (,) で区切ります。 プレースホルダーに1が指定されている場合、モジュールは解決に関与します。 プレースホルダーに0が指定されている場合、モジュールは解決に関与しません。 ドメイン名が別のドメイン名を指す別のドメイン名を指す場合、複数のプレースホルダーに1が指定されます。 | 1,0、0,0、0 |
rt | 応答レイテンシ。
| 10ms |
src_addr | 送信元 IP アドレスです。 | 100.100.2.136 |
src_port | 送信元ポートです。 | 53 |
輸送 | 伝送プロトコル。 | UDP |
user_id | Alibaba Cloud アカウントの ID です。 | 139749398683 **** |
vpc_id | VPC ID | vpc-bp1eyy43516itw78 **** |
edns | DNSの拡張メカニズム。 | "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 | 組み込みの権限モジュールのDNSレコード。 | Jsonアレイ: ["example.com。 600 SO A 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 | 照会されたDNSレコードのタイプ。 有効な値: A、AAAA、CNAME、TXT、およびMX。 | A |
rcode | 応答コード。 有効な値:
| 0 |
region_id | リージョン ID です。 | cn-shanghai |
rt | 応答レイテンシ。
| 1ms |
src_addr | 送信元 IP アドレスです。 | 192.168.0.1 |
src_port | 送信元ポートです。 | 42071 |
輸送 | 伝送プロトコル。 | UDP |
user_id | Alibaba Cloud アカウントの ID です。 | 139749398683 **** |
vpc_id | VPC ID | vpc-bp1eyy43516itw78 **** |
edns | DNSの拡張メカニズム。 | "flags: DO udp: 1408 CLIENT-SUBNET: 1.1.XX.XX/32/24" |
プライベートDNSのログ監査サービス
1. ログ監査サービスとは
Log Audit Serviceは、Simple Log Serviceのログアプリケーションです。 Log Audit Serviceは、SLSの機能に加えて、強力なマルチアカウント管理とクロスリージョンログ収集を提供します。 リソースディレクトリを使用して、複数のアカウントからのクラウドサービスログの管理と保存を整理および統合できます。
2. Log Audit ServiceでプライベートDNSログの収集を有効にする
Log Audit Serviceコンソールにログインします。
[グローバル設定] ページで、[中央プロジェクトのリージョン] ドロップダウンリストからcn-hangzhouなどのリージョンを選択し、[イントラネットプライベートDNSログ] を有効にします。 詳細については、「ログ収集の有効化」をご参照ください。

3. プライベートDNSのログ監査サービスをサポートするリージョン
プライベートDNSのログ監査サービスは、中国 (上海) 、中国 (北京) 、中国 (広州) 、中国 (深セン) 、中国 (杭州) 、中国 (青島) 、中国 (張家口) 、シンガポール、中国 (香港) 、および中国南1金融で利用できます。 他のリージョンでプライベートDNSにログ監査サービスを使用する場合は、
R&Dセンターにチケットを提出してください。 R&Dセンターは、包括的な評価の後、より多くの地域に機能をリリースするかどうかを決定します。マルチアカウント設定
Log Audit Serviceは、メンバーアカウントのプライベートDNSログを収集し、Alibaba Cloudアカウントの中央プロジェクトに保存するために使用できる強力なクロスアカウントログ収集機能を提供します。 これは、集中ログ管理を容易にする。 Log Audit Serviceは、マルチアカウントログの収集と管理に2つのモードをサポートしています。
リソースディレクトリモード
カスタム認証モード
詳細については、「複数のアカウントからのクラウドサービスログの収集」をご参照ください。
Terraformに基づくログ収集設定
Terraformは、Alibaba Cloudサービスまたはサードパーティのクラウドサービスのワークロードに構成ファイルをデプロイし、構成ファイルのバージョンを管理できる使いやすいコマンドラインインターフェイス (CLI) を提供します。 Terraformを使用してlog Audit Serviceでログ収集を構成する方法の詳細については、「Terraformを使用してLog Audit Serviceを構成する」をご参照ください。
次のサンプルコードは、Terraformを使用してプライベートDNSログを収集する方法の例を示しています。
resource "alicloud_log_audit" "dns_example" {
display_name = "tf-audit-test-dns"
aliuid = "1480************" // The Alibaba Cloud account to which the central project for log storage belongs.
variable_map = {
"dns_intranet_enabled" = "true", // Enable the collection of Private DNS logs.
"dns_sync_enabled" = "true", // Enable synchronization of logs from the regional project to the central project.
"dns_intranet_ttl" = "3", // Specify that logs are stored in the regional project for three days.
"dns_sync_ttl" = "185" // Specify that logs are stored in the central project for 185 days.
"dns_intranet_collection_policy" = "accept tag.env == \\\"test\\\"\\ndrop \\\"*\\\"" // Specify that only Private DNS logs related to VPCs that have a tag value of prod for the env tag key.
}
multi_account = ["1039************"] // Set multi-account configurations.
}ログ収集ポリシー
Log Audit Serviceを使用すると、プライベートDNSログにきめ細かい収集と管理を実装できます。 プライベートDNSログ収集の最小粒度はVPCです。
Log Audit Serviceコンソールで収集ポリシーを管理および設定できます。 次の図は、envタグキーのタグ値がprodであるすべてのVPCのプライベートDNSログの収集を有効にするログ収集ポリシーを示しています。 収集ポリシーを設定して、詳細な収集管理を実装し、不要なログ収集を減らすことができます。

ログクエリと分析のベストプラクティス
このセクションでは、プライベートDNSログのクエリと分析の一般的なシナリオについて説明します。 カスタムのクエリおよび分析ステートメントを使用して、ビジネス要件を満たすことができます。 SQLクエリ結果をダッシュボードに追加したり、クエリステートメントを保存検索として保存したり、結果をアラートとして保存したりして、その後のクエリおよび分析操作を容易にすることもできます。
1. DNS解決結果
特定の期間内にVPC上のドメイン名のDNSリクエストの配布を照会します。
* and vpc_id: vpc-2ze9dducyc3t6p8aeksb3 |select count(*) as total_req, query_name group by query_name
2. DNS解決のRTTデータ
特定の期間内にVPCからドメイン名の特定のクエリタイプのDNSリクエストのラウンドトリップ時間 (RTT) データをクエリします。
* 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