

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# リゾルバーでのクエリのログ記録
<a name="resolver-query-logs"></a>

次の DNS クエリをログ記録できます。
+ 指定した Amazon Virtual Private Cloud VPC で発生するクエリ、およびこれらの DNS クエリに対する応答。
+ インバウンドの Resolver エンドポイントを使用する、オンプレミスのリソースからのクエリ。
+ 再帰的な DNS 解決にアウトバウンド Resolver のエンドポイントを使用するクエリ。
+ Resolver DNS Firewall ルールを使用してドメインリストをブロック、許可、またはモニタリングするクエリ。

VPC Resolver クエリログには、次のような値が含まれます。
+ VPC が作成された AWS リージョン
+ クエリの発信元である VPC の ID
+ クエリの発信元であるインスタンスの IP アドレス
+ クエリの発信元であるリソースのインスタンス ID
+ クエリが最初に作成された日時
+ リクエストされた DNS 名 (prod.example.com など)
+ DNS レコードタイプ (A や AAAA など)
+ DNS レスポンスコード (`NoError` や `ServFail` など)
+ DNS 応答データ (DNS クエリに応答して返される IP アドレスなど)
+ DNS Firewall ルールのアクションに対する応答

ログに記録されるすべての値の詳細なリストと、その例については、「[VPC Resolver クエリログに表示される値](resolver-query-logs-format.md)」を参照してください。

**注記**  
DNS リゾルバーの標準と同様に、リゾルバーはその有効期限 (TTL) に定義されている期間、DNS クエリをキャッシュします。Route 53 VPC Resolver はVPCs から送信されたクエリをキャッシュし、可能な限りキャッシュから応答してレスポンスを高速化します。VPC Resolver クエリログ記録は、VPC Resolver がキャッシュから応答できるクエリではなく、一意のクエリのみをログに記録します。  
例えば、クエリのログ記録の設定が機能している VPC の 1 つにある EC2 インスタンスが、accounting.example.com に対しリクエストを送信するとします。VPC Resolver は、そのクエリへのレスポンスをキャッシュし、クエリをログに記録します。同じインスタンスの Elastic Network Interface が VPC Resolver のキャッシュの TTL 内で accounting.example.com に対してクエリを実行すると、VPC Resolver はキャッシュからクエリに応答します。この 2 番目のクエリはログに記録されません。

ログは、次のいずれかの AWS リソースに送信できます。
+ Amazon CloudWatch Logs (CloudWatch Logs) のロググループ
+ Amazon S3 (S3) バケット
+ Firehose 配信ストリーム

詳細については、「[AWS VPC Resolver クエリログを送信できる リソース](resolver-query-logs-choosing-target-resource.md)」を参照してください。

**Topics**
+ [AWS VPC Resolver クエリログを送信できる リソース](resolver-query-logs-choosing-target-resource.md)
+ [Resolver のクエリログ記録の設定の管理](resolver-query-logging-configurations-managing.md)

# AWS VPC Resolver クエリログを送信できる リソース
<a name="resolver-query-logs-choosing-target-resource"></a>

**注記**  
クエリをログ記録するワークロードで、1 秒あたりのクエリ数 (QPS) が多くなることが想定される場合は、Amazon S3 を使用することで、送信先に書き込まれる時点で発生するクエリログのスロットリングを防ぎます。Amazon CloudWatch を使用している場合は、`PutLogEvents` オペレーションのために、1 秒あたりのリクエスト数の上限を引き上げることができます。CloudWatch の制限の引き上げの詳細については、*Amazon CloudWatch ユーザーガイド*の「[CloudWatch Logs のクォータ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch_limits_cwl.html)」を参照してください。

VPC Resolver クエリログは、次の AWS リソースに送信できます。

**Amazon CloudWatch Logs (Amazon CloudWatch Logs) のロググループ**  
Logs Insights を使用すると、ログの分析やメトリクスとアラームの作成が可能です。  
詳細については、 [Amazon CloudWatch Logs ユーザーガイド](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/)を参照してください。

**Amazon S3 (S3) バケット**  
長期間にわたるログのアーカイブには、S3 バケットの使用が経済的です。通常は、高いレイテンシーが得られます。  
すべての S3 サーバー側の暗号化オプションがサポートされています。詳細については、「*Amazon S3 ユーザーガイド*」の「[サーバー側の暗号化によるデータの保護](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html)」を参照してください。  
 AWS KMS キーによるサーバー側の暗号化 (SSE-KMS) を選択した場合は、ログ配信アカウントが Amazon S3 バケットに書き込めるように、カスタマーマネージドキーのキーポリシーを更新する必要があります。SSE-KMS での使用に必要なキーポリシーについては、「*Amazon CloudWatch ユーザーガイド*」の「[Amazon S3 バケットのサーバー側の暗号化](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-infrastructure-V2-S3.html#AWS-logs-SSE-KMS-S3-V2)」を参照してください。  
自分が所有するアカウント内に S3 バケットがある場合、必要なアクセス許可がバケットポリシーに自動的に追加されます。自身で所有していないアカウントの S3 バケットにログを送信する場合は、その S3 バケットの所有者が、バケットポリシーの中に必要なアクセス許可を追加する必要があります。次に例を示します。    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "CrossAccountAccess",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "delivery.logs.amazonaws.com"
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::your_bucket_name/AWSLogs/your_caller_account/*"
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "delivery.logs.amazonaws.com"
            },
            "Action": "s3:GetBucketAcl",
            "Resource": "arn:aws:s3:::your_bucket_name"
        },
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "iam_user_arn_or_account_number_for_root"
            },
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::your_bucket_name"
        }
    ]
}
```
 組織の中心的な S3 バケットにログを保存する場合は、(中心的バケットへの書き込みに必要なアクセス許可を持つ) 中央のアカウントからクエリログ記録を設定した上で、[RAM](query-logging-configurations-managing-sharing.md) を使用しながら、アカウント全体でその構成を共有することをお勧めします。
詳細については、[Amazon Simple Storage Service ユーザーガイド](https://docs.aws.amazon.com/AmazonS3/latest/userguide/)を参照してください。

**Firehose 配信ストリーム**  
Amazon OpenSearch Service、Amazon Redshift、またはその他のアプリケーションに対し、リアルタイムでログのストリーミングが可能です。  
詳細については、「[Amazon Data Firehose デベロッパーガイド](https://docs.aws.amazon.com/firehose/latest/dev/)」を参照してください。

Resolver でのクエリのログ記録の料金については、[Amazon CloudWatch の料金表](https://aws.amazon.com/cloudwatch/pricing/)を参照してください。

CloudWatch Vended Logs の料金は、ログが Amazon S3 に直接公開されている場合でも、VPC Resolver ログを使用する場合に適用されます。詳細については、「[*Logs pricing* at Amazon CloudWatch pricing](https://aws.amazon.com//cloudwatch/pricing/#Vended_Logs)」を参照してください。

# Resolver のクエリログ記録の設定の管理
<a name="resolver-query-logging-configurations-managing"></a>

## の設定 (VPC Resolver クエリログ記録)
<a name="resolver-query-logs-configuring"></a>

VPC Resolver クエリのログ記録は、次の 2 つの方法で設定できます。
+ **直接 VPC の関連付け** - VPCsに直接関連付けます。
+ **プロファイルの関連付け** - クエリログ記録設定を Route 53 プロファイルに関連付けます。これにより、そのプロファイルに関連付けられているすべての VPCs にログ記録が適用されます。詳細については、「[VPC Resolver クエリログ設定を Route 53 プロファイルに関連付ける](profile-associate-query-logging.md)」を参照してください。

VPC で発生する DNS クエリのログ記録は、Amazon Route 53 コンソールで以下のタスクを実行することで開始できます。<a name="resolver-query-logs-configuring-procedure"></a>

**Resolver のクエリログ記録を設定するには**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/) で Route 53 コンソールを開きます。

1. Route 53 コンソールのメニューを展開します。コンソールの左上隅にある 3 本の水平バー (![\[Menu icon\]](http://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/images/menu-icon.png)) アイコンを選択します。

1. Resolver メニューから、[**Query logging (クエリログ記録)**] を選択します。

1. リージョンセレクターで、クエリログ記録設定を作成する AWS リージョンを選択します。これは、DNS クエリを記録する VPC が作成されているリージョンと同じリージョンでなければなりません。VPC が複数のリージョンに存在する場合は、リージョンごとにクエリログ記録の設定を少なくとも 1 つ作成する必要があります。

1. [**クエリログ記録の設定**] を選択します。

1. 次の値を指定します。  
**クエリログ記録設定の名前**  
クエリログ記録の設定に使用する名前を入力します。この名前は、コンソールのクエリログ記録の設定リストに表示されます。この設定では、後で検索する際に便利な名前を入力します。  
**クエリログの保存先**  
VPC Resolver がクエリログを送信する AWS リソースのタイプを選択します。各オプション (CloudWatch Logs ロググループ、S3 バケット、および Firehose 配信ストリーム) から選択する方法については、「[AWS VPC Resolver クエリログを送信できる リソース](resolver-query-logs-choosing-target-resource.md)」を参照してください。  
リソースのタイプを選択したら、そのタイプの別のリソースを作成するか、現在の AWS アカウントによって作成された既存のリソースを選択できます。  
ステップ 4 で選択した AWS リージョン (クエリログ記録の設定を作成するリージョン) で作成されたリソースのみを選択できます。新しいリソースを作成することを選択した場合、そのリソースは同じリージョンに作成されます。  
**クエリをログに記録する VPC**  
このクエリログ記録の設定では、選択した VPC で発生した DNS クエリがログに記録されます。VPC Resolver がクエリをログに記録する現在のリージョンの各 VPC のチェックボックスをオンにし、**選択**を選択します。  
**代替**: VPCs を直接関連付ける代わりに、このクエリログ記録設定を Route 53 プロファイルに関連付けることができます。これにより、そのプロファイルに関連付けられたすべての VPCs にログ記録が適用されます。詳細については、「[VPC Resolver クエリログ設定を Route 53 プロファイルに関連付ける](profile-associate-query-logging.md)」を参照してください。  
VPC ログの配信は、特定の送信先タイプに対して 1 回だけ有効にすることができます。ログを同じタイプの複数の送信先に配信することはできません。例えば、VPC ログを Amazon S3 にある 2 つの送信先に配信することはできません。

1. [**クエリログ記録の設定**] を選択します。

**注記**  
クエリログ記録の設定が正常に作成されてから数分以内に、VPC 内のリソースによって作成された DNS クエリがログ内に表示されるようになります。

# VPC Resolver クエリログに表示される値
<a name="resolver-query-logs-format"></a>

各ログファイルには、対応するエッジロケーションで Amazon Route 53 が DNS リゾルバーから受信した DNS クエリごとに、それぞれ 1 つのログエントリが記述されています。各ログエントリには、以下の値が記述されています。

**バージョン**  
クエリログ形式のバージョン番号。現在のバージョンは `1.1` です。  
バージョンの値には、**major\$1version.minor\$1version** の形式でメジャーおよびマイナーのバージョンが含まれています。例えば、`version` の値が `1.7` の場合には、`1 ` がメジャーバージョンを示し、`7` がマイナーバージョンを示します。  
ログ構造に後方互換性のない変更が加えられた場合、Route 53 により、メジャーバージョンが増分されます。これには、既に存在する JSON フィールドの削除や、フィールドのコンテンツの表現方法 (日付形式など) の変更が含まれます。  
 変更によってログファイルに新しいフィールドが追加されると、Route 53 はマイナーバージョンを増分します。この処理は、VPC 内の既存の DNS クエリの一部またはすべてにおいて、新しい情報が利用可能になった時点で発生します。

**account\$1id**  
VPC を作成した AWS アカウントの ID。

**リージョン**  
VPC を作成した AWS リージョン。

**vpc\$1id**  
クエリが発信された VPC の ID。

**query\$1timestamp**  
クエリが送信された日時を、ISO 8601 形式の協定世界時 (UTC) で表します (例: `2017-03-16T19:20:177Z`) 。  
ISO 8601 形式については、Wikipedia の記事「[ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)」を参照してください。UTC については、Wikipedia の記事「[協定世界時](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)」を参照してください。

**query\$1name**  
クエリで指定されたドメイン名 (example.com) またはサブドメイン名 (www.example.com)。

**query\$1type**  
リクエストで指定された DNS レコードタイプ、または `ANY` のいずれか。Route 53 でサポートされるタイプについては、「[サポートされる DNS レコードタイプ](ResourceRecordTypes.md)」を参照してください。

**query\$1class**  
クエリのクラス。

**rcode**  
VPC Resolver が DNS クエリに応答して返した DNS レスポンスコード。応答コードは、クエリが有効であったかどうかを示します。最も一般的な応答コードは、クエリが有効であったことを意味する `NOERROR` です。レスポンスが有効でない場合、Resolver はその理由を示す応答コードを返します。使用される応答コードのリストについては、IANA ウェブサイトで「[DNS RCODES](https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-6)」を参照してください。

**answer\$1type**  
VPC Resolver がクエリに応答して返す値の DNS レコードタイプ (A、MX、CNAME など）。Route 53 でサポートされるタイプについては、「[サポートされる DNS レコードタイプ](ResourceRecordTypes.md)」を参照してください。

**rdata**  
VPC Resolver がクエリに応答して返した値。例えば、A レコードの場合は、IPv4 形式の IP アドレスになります。CNAME レコードの場合には、CNAME レコード内のドメイン名です。

**answer\$1class**  
クエリに対する VPC Resolver レスポンスのクラス。

**srcaddr**  
クエリの発信元であるホストの IP アドレス。

**srcport**  
クエリの発信元であるインスタンスのポート。

**transport**  
DNS クエリを送信するために使用されたプロトコル。

**srcids**  
`instance`、`resolver_endpoint`、および DNS クエリの発信元、またはそのクエリが通過した `resolver_network_interface`。

**インスタンス**  
クエリの発信元であるインスタンスの ID。  
 Route 53 VPC Resolver クエリログにインスタンス ID が表示され、アカウントに表示されない場合は、DNS クエリが AWS CloudShell、ユーザーが使用した AWS Lambda Amazon EKS、または Fargate コンソールのいずれかから発信されたことが原因である可能性があります。

**resolver\$1endpoint**  
DNS クエリをオンプレミス DNS サーバーに渡すリゾルバーエンドポイントの ID。  
異なるリゾルバーエンドポイントを使用して異なる転送ルール間で連鎖する CNAME レコードがある場合、クエリログにはチェーンで最後に使用されたリゾルバーエンドポイントの ID のみが表示されます。複数のエンドポイントを通じて完全な解決パスを追跡するには、さまざまなクエリログ記録設定間でログを関連付けることができます。

**firewall\$1rule\$1group\$1id**  
クエリ内のドメイン名と一致した DNS Firewall ルールグループの ID。この情報は、アクションが alert または block に設定されているルールとの一致が、DNS Firewall により検出された場合にのみ挿入されます。  
ファイアウォールルールグループの詳細については、「[DNS Firewall のルールグループとルール](resolver-dns-firewall-rule-groups.md)」を参照してください。

**firewall\$1rule\$1action**  
クエリ内のドメイン名に一致したルールが指定しているアクション。この情報は、アクションが alert または block に設定されているルールとの一致が、DNS Firewall により検出された場合にのみ挿入されます。

**firewall\$1domain\$1list\$1id**  
クエリ内のドメイン名に一致したルールによって使用されるドメインリスト。この情報は、アクションが alert または block に設定されているルールとの一致が、DNS Firewall により検出された場合にのみ挿入されます。

**additional\$1properties**  
ログ配信イベントの追加情報。**is\$1delayed**: ログの配信に遅延がある場合。

# Route 53 VPC Resolver クエリログの例
<a name="resolver-query-logs-example-json"></a>

Resolver のクエリログの例を次に示します。

```
          
      {
        "srcaddr": "4.5.64.102",
        "vpc_id": "vpc-7example",
        "answers": [
            {
                "Rdata": "203.0.113.9",
                "Type": "PTR",
                "Class": "IN"
            }
        ],
        "firewall_rule_group_id": "rslvr-frg-01234567890abcdef",
        "firewall_rule_action": "BLOCK",
        "query_name": "15.3.4.32.in-addr.arpa.",
        "firewall_domain_list_id": "rslvr-fdl-01234567890abcdef",
        "query_class": "IN",
        "srcids": {
            "instance": "i-0d15cd0d3example"
        },
        "rcode": "NOERROR",
        "query_type": "PTR",
        "transport": "UDP",
        "version": "1.100000",
        "account_id": "111122223333",
        "srcport": "56067",
        "query_timestamp": "2021-02-04T17:51:55Z",
        "region": "us-east-1"
    }
```

# Resolver クエリのログ記録設定を他の AWS アカウントと共有する
<a name="query-logging-configurations-managing-sharing"></a>

1 つの AWS アカウントを使用して作成したクエリログ記録設定を他の AWS アカウントと共有できます。設定を共有するには、Route 53 VPC Resolver コンソールを AWS Resource Access Manager と統合します。Resource Access Manager の詳細については、[Resource Access Manager ユーザーガイド](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html)を参照してください。

次の点に注意してください。

**共有されたクエリログ記録の設定と VPC との関連付け**  
別の AWS アカウントが 1 つ以上の設定をアカウントと共有している場合、VPC VPCs を作成した設定に関連付けるのと同じ方法でVPCsを設定に関連付けることができます。

**設定の削除または共有解除**  
設定を他のアカウントと共有し、その設定を削除するか共有を停止し、1 つ以上の VPCs が設定に関連付けられている場合、Route 53 VPC Resolver はそれらの VPCs から発信される DNS クエリのログ記録を停止します。

**1 つの構成で関連付けることができるクエリログ記録の設定と VPC の最大数**  
1 つのアカウントで作成した設定を他の単一または複数のアカウントと共有する場合、その設定に関連付けることができる VPC の最大数が各アカウントに適用されます。たとえば、組織内に 10,000 個のアカウントがある場合、中央アカウントにクエリログ記録設定を作成し、 AWS RAM を介して共有して組織アカウントと共有できます。その後、組織のアカウントは設定を各自の VPC に関連付けます。アカウントにおける AWS リージョン ごとのクエリログ設定の VPC 関連付けは上限が 100 件となっているため、関連付けはその範囲内で行われます。ただし、すべての VPC が単一のアカウントにある場合は、必要に応じてアカウントのサービス制限を引き上げます。  
現在の VPC リゾルバーのクォータについては、「」を参照してください[Route 53 VPC リゾルバーのクォータ](DNSLimitations.md#limits-api-entities-resolver)。

**アクセス許可**  
ルールを別の AWS アカウントと共有するには、[PutResolverQueryLogConfigPolicy](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_PutResolverQueryLogConfigPolicy.html) アクションを使用するアクセス許可が必要です。

**ルールを共有する AWS アカウントの制限**  
ルールを共有するアカウントは、ルールを変更または削除できません。

**タグ付け**  
ルールを作成したアカウントのみが、ルールのタグを追加、削除、または表示できます。

ルールの現在の共有ステータス (ルールを共有したアカウントやルールの共有先であるアカウントなど) を確認し、別のアカウントとルールを共有するには、以下の手順を実行します。<a name="resolver-rules-managing-sharing-procedure"></a>

**共有ステータスを表示し、クエリログ設定を別の AWS アカウントと共有するには**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/) で Route 53 コンソールを開きます。

1. ナビゲーションペイン内で [**Query Logging (クエリログ記録)**] を選択します。

1. ナビゲーションバーで、転送ルールを作成したリージョンを選択します。

   [**Sharing status (共有ステータス)**] 列に、現在のアカウントで作成されたルールまたは現在のアカウントと共有されているルールの現在の共有ステータスが表示されます。
   + **Not shared**: 現在の AWS アカウントがルールを作成し、そのルールは他のアカウントと共有されません。
   + **Shared by me (自分が共有)**: 現在のアカウントがルールを作成し、1 つ以上の他のアカウントと共有しています。
   + **Shared with me (自分と共有)**: 別のアカウントがルールを作成し、現在のアカウントと共有しています。

1. 共有情報を表示するルールまたは別のアカウントと共有するルールの名前を選択します。

   [**Rule: *rule name* (ルール: rule name)**] ページで、[**Owner (所有者)**] の値として、ルールを作成したアカウントの ID が表示されます。これは現在のアカウントです。ただし、[**Sharing status (共有ステータス)**] の値が [**Shared with me (自分と共有)**] である場合を除きます。その場合の [**Owner (所有者)**] は、ルールを作成して現在のアカウントと共有しているアカウントです。

   共有ステータスも表示されます。

1. コンソールを開くには、設定**の共有**を選択します AWS RAM 。

1. 「*AWS RAM ユーザーガイド*」の「[Creating a resource share in AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-create.html)」のステップに従います。
**注記**  
共有設定を更新することはできません。以下のいずれかの設定を変更する場合は、新しい設定を使用してルールを共有し直し、古い共有設定を削除する必要があります。