> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tryprofound.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Amazon CloudFront

> Amazon S3 を経由して CloudFront のアクセスログを Profound に送信します。

## 概要

CloudFront のアクセスログを割り当てられた Profound の S3 送信先に送信すると、Agent Analytics でエージェントのトラフィックを確認できます。このガイドでは、標準ログ(v2)、クロスアカウント配信、SSE-S3 暗号化を使用します。

<Info>
  ディストリビューションの ARN を添えて [Profound サポート](mailto:support@tryprofound.com)に連絡し、送信先の設定と配信ソース名を受け取ってください。
</Info>

Firehose 連携については、[Amazon Data Firehose を経由した CloudFront](/ja-jp/agent-analytics/aws_firehose_cloudfront)を参照してください。

## 前提条件

* CloudFront ディストリビューションを所有する AWS アカウントへのアクセス権。
* CloudFront の標準ログと CloudWatch Logs の配信リソースを設定する権限。
* `aws logs put-delivery-source` と `aws logs create-delivery` をサポートし、そのアカウントで認証済みの AWS CLI バージョン。
* CloudFront ディストリビューションの ARN。

## 暗号化

このガイドでは、**SSE-S3 (AES256)** を使用し、Amazon S3 が管理するキーで保存時のログを暗号化します。暗号化は Profound が送信先に設定します。

## 設定

<Steps>
  <Step title="送信先の設定を取得する">
    CloudFront コンソールでディストリビューションを開き、その ARN をコピーします。これを Profound サポートに送信してください。ARN によってディストリビューションとその AWS アカウントの両方が識別されます。

    ```text theme={null}
    arn:aws:cloudfront::<your-aws-account-id>:distribution/<distribution-id>
    ```

    Profound がソースレコード、S3 送信先、クロスアカウント権限を準備します。次の情報が提供されます。

    | 設定 | 目的 |
    | - | - |
    | バケットとプレフィックス | Profound がこのソースのログを受信する場所 |
    | バケットリージョン | `us-west-2`(米国西部、オレゴン) |
    | 配信ソース名 | AWS アカウントで使用する正確な名前 |
    | 配信先 ARN | 接続先となる Profound の送信先 |
    | 出力形式 | W3C(Profound が設定) |

    配信先 ARN は CloudWatch Logs のリソース ARN であり、S3 バケットの ARN ではありません。割り当てられた値はすべて提供されたとおりに正確に使用してください。
  </Step>

  <Step title="配信ソースを作成する">
    ディストリビューションを所有する AWS アカウントで次のコマンドを実行します。プレースホルダーを、割り当てられたソース名とディストリビューションの ARN に置き換えてください。

    ```bash theme={null}
    aws logs put-delivery-source \
      --region us-east-1 \
      --name '<assigned-delivery-source-name>' \
      --resource-arn 'arn:aws:cloudfront::<your-aws-account-id>:distribution/<distribution-id>' \
      --log-type ACCESS_LOGS
    ```

    <Note>
      送信先バケットは **`us-west-2`** にありますが、CloudFront の配信コマンドは **`us-east-1`** で実行してください。
    </Note>

    設定済みの配信権限と一致させるため、Profound から提供されたソース名を使用してください。
  </Step>

  <Step title="Profound の送信先に接続する">
    Profound から送信先の準備完了の連絡があったら、AWS アカウントで配信を作成します。

    ```bash theme={null}
    aws logs create-delivery \
      --region us-east-1 \
      --delivery-source-name '<assigned-delivery-source-name>' \
      --delivery-destination-arn '<profound-delivery-destination-arn>'
    ```

    返された配信 ID は、トラブルシューティングのために保管しておいてください。このコマンドは配信を作成するものです。ステータスを確認する目的で再実行しないでください。

    受信側のバケットポリシーと配信先ポリシーは Profound が管理します。送信先バケットを作成したり、AWS アクセスキーを Profound と共有したりする必要はありません。
  </Step>

  <Step title="想定されるログ形式を維持する">
    標準ログのフィールド選択はデフォルトのままにしてください。Profound の送信先では **W3C** 出力を使用します。これは、各ファイルに `#Fields` ヘッダーを含むタブ区切りのレコードです。

    Agent Analytics で使用されるフィールドは次のとおりです。

    | フィールド | 用途 |
    | - | - |
    | `date`, `time` | リクエスト時刻 |
    | `c-ip`, `x-forwarded-for` | クライアントアドレス |
    | `x-host-header` | リクエストされたドメイン |
    | `cs(Host)` | ディストリビューションのホスト名(フォールバック) |
    | `cs-method`, `cs-uri-stem`, `cs-uri-query` | リクエストされたリソース |
    | `cs(User-Agent)`, `cs(Referer)` | エージェントとリファラーの分析 |
    | `sc-status`, `sc-bytes` | レスポンスの詳細 |

    訪問者がリクエストしたドメインを識別するため、`x-host-header` は残しておいてください。この送信先を JSON や Parquet に変更したり、ヘッダーを削除したり、タブをスペースに置き換えたりしないでください。

    割り当てられた送信先パスはそのまま維持してください。フィールドやファイルパスを変更する場合は、適用する前に Profound と調整してください。
  </Step>

  <Step title="配信を確認する">
    ディストリビューションの **Logging** タブを開き、S3 のクロスアカウント配信が表示されていることを確認します。トラフィックを発生させ、ログが届くまでしばらく待ちます。

    送信先のファイルを確認する必要がある場合は、Profound サポートに受信の確認を依頼してください。貴社の AWS アカウントへのアクセス権では、Profound のバケットを読み取ることはできません。
  </Step>
</Steps>

## 取り込みを確認する

対象ドメインの Agent Analytics を開き、テストリクエストを含む期間を選択します。配信と処理の完了後、想定どおりのエージェントトラフィックが表示されることを確認してください。

データが表示されない場合は、ディストリビューションの ARN、配信ソース名、配信 ID、リクエスト時刻、および AWS のエラーがあればその内容をサポートに提供してください。認証情報は含めないでください。

## トラブルシューティング

| 問題 | 確認事項 |
| - | - |
| CreateDelivery で AccessDenied が報告される | AWS の権限を確認し、貴社アカウントの送信先ポリシーの確認を Profound に依頼してください。 |
| AWS がソースまたは送信先を見つけられない | `us-east-1` と、提供された正確なリソース名および ARN を使用してください。 |
| 配信は存在するがデータが表示されない | ソースの準備状況を確認し、新しいリクエストを発生させ、Agent Analytics の期間を確認してください。 |
| レコードを処理できない | W3C 出力、`#Fields` ヘッダー、タブ区切りのレコード、想定されるフィールドを確認してください。 |
| トラフィックがディストリビューションのホスト名で表示される | `x-host-header` が含まれ、リクエストされたドメインが記録されていることを確認してください。 |

## その他のリソース

* [AWS: CloudFront standard logging (v2) and cross-account delivery](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/standard-logging.html)
* [Amazon Data Firehose を経由した CloudFront](/ja-jp/agent-analytics/aws_firehose_cloudfront)
* [Profound サポートへのお問い合わせ](mailto:support@tryprofound.com)
