> ## 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.

# Fastly

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

## 概要

Fastly のアクセスログを割り当てられた Profound の S3 宛先に送信すると、Agent Analytics でエージェントのトラフィックを確認できます。このガイドでは、VCL と SSE-S3 暗号化を使用する Fastly CDN サービスについて説明します。

<Info>
  配信を有効にする前に、[Profound サポート](mailto:support@tryprofound.com)に連絡して、バケット名、宛先プレフィックス、リージョン、IAM ロール ARN を受け取ってください。
</Info>

HTTP 経由で配信する場合は、[Fastly HTTPS 統合](/ja-jp/agent-analytics/fastly)を使用してください。Fastly Compute サービスの場合は、サポートに連絡してログ設定を確認してください。

## 前提条件

* Web サイトのトラフィックを処理する Fastly サービスへのアクセス権。
* ログエンドポイントを編集し、サービスバージョンを有効化する権限。
* Fastly のアカウント ID (Profound が配信権限を設定するために必要です)。

## 暗号化

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

## 設定

<Steps>
  <Step title="宛先の設定を取得する">
    ドメインと Fastly のアカウント ID を添えて Profound サポートに連絡します。Profound はソースと、Fastly が割り当てられた宛先に書き込むことを許可するロールを設定します。

    バケット名、宛先プレフィックス、リージョン、ロール ARN が提供されます。プレフィックスは末尾のスラッシュも含め、提供されたとおりに使用してください。プレフィックスはソースを識別するものです。

    ```text theme={null}
    s3://<assigned-bucket>/<assigned-prefix>/
    ```

    このセットアップでは、ロール ARN が認可の値となります。AWS のアクセスキーや Profound の HTTP 取り込みトークンは必要ありません。
  </Step>

  <Step title="S3 ログエンドポイントを作成する">
    Fastly サービスを開き、サービスバージョンを編集します。ログ設定で **Amazon S3** エンドポイントを作成します。

    | 設定 | 値 |
    | - | - |
    | Name | わかりやすい名前 |
    | Bucket name | Profound から提供されたバケット |
    | Path | 末尾のスラッシュを含む、割り当てられたプレフィックス全体 |
    | Domain | 提供されたリージョンの S3 エンドポイント。`us-west-2` の場合は `s3.us-west-2.amazonaws.com` を使用します |
    | Access method | **IAM Role** |
    | IAM role ARN | Profound から提供されたロール |
    | Server side encryption | **Amazon S3-managed keys (SSE-S3 / AES256)** |

    ログの配置 (Placement) はデフォルトのままにします。最新のコントロールパネルのレイアウトについては、Fastly の [S3 エンドポイントガイド](https://www.fastly.com/documentation/guides/integrations/logging-endpoints/object-and-cloud-storage/log-streaming-amazon-s3/)を参照してください。
  </Step>

  <Step title="ログ形式を設定する">
    次のテンプレートを 1 行のまま **Log format** に貼り付けます。これにより、Profound の Fastly プロセッサーが想定するフィールドが出力されます。

    ```text theme={null}
    {"timestamp":"%{begin:%Y-%m-%dT%H:%M:%S%z}t","client_ip":"%{req.http.Fastly-Client-IP}V","host":"%{json.escape(req.http.Host)}V","url":"%{json.escape(req.url)}V","request_method":"%{json.escape(req.method)}V","request_referer":"%{json.escape(req.http.Referer)}V","request_user_agent":"%{json.escape(req.http.User-Agent)}V","response_status":%{resp.status}V,"response_body_size":%{resp.body_bytes_written}V}
    ```

    | フィールド | 用途 |
    | - | - |
    | `timestamp` | リクエスト時刻 |
    | `client_ip` | クライアントのアドレス |
    | `host` | リクエストされたドメイン |
    | `url`, `request_method` | リクエストされたリソース |
    | `request_referer`, `request_user_agent` | 参照元とエージェントの分析 |
    | `response_status`, `response_body_size` | レスポンスの詳細 |

    syslog のプレフィックスが追加されないよう、ログ行の形式には **Blank** (`message_type=blank`) を使用します。各行には JSON オブジェクトを 1 つだけ含める必要があります。この S3 統合では、デフォルトのスペース区切りのログ形式や JSON 配列は受け付けられません。

    非圧縮の出力または gzip を使用してください。Profound が解凍できるよう、gzip のファイル名は `.gz` で終わる必要があります。このセットアップでは、PGP 暗号化、Snappy、Zstandard を有効にしないでください。
  </Step>

  <Step title="ドメインでフィルタリングする">
    モニタリングしたいホスト名に一致するログ条件を設定します。例:

    ```text theme={null}
    req.http.host == "example.com"
    ```

    `example.com` をご自身のホスト名に置き換えてください。モニタリングしたい追加のホスト名がある場合は、それも条件に含めてください。
  </Step>

  <Step title="配信を有効にする">
    ソースの準備が完了したことを Profound が確認したら、エンドポイントを保存してサービスバージョンを有効化します。設定したドメインへのトラフィックを発生させ、Fastly がログファイルを配信するまで待ちます。

    エンドポイントの **Period** 設定によって、ファイルが確定される頻度が決まります。テストトラフィックが届くタイミングを見積もる際は、この設定を確認してください。
  </Step>
</Steps>

## 取り込みを確認する

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

データが見つからない場合は、ドメイン、Fastly のサービス ID、エンドポイント名、リクエスト時刻、および配信エラーや S3 のファイルパスがあればそれらを添えてサポートにお問い合わせください。認証情報は含めないでください。

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

| 問題 | 確認事項 |
| - | - |
| Fastly がロールを引き受けられない | セットアップ時に提供したロール ARN と Fastly のアカウント ID を確認します。ロールの信頼設定の確認を Profound に依頼してください。 |
| S3 が AccessDenied を返す | バケット、プレフィックス、リージョンエンドポイント、暗号化設定が割り当てられた値と一致しているか確認します。 |
| 配信は成功するがデータが表示されない | ソースの準備状況、`host` フィールド、選択した日付範囲を確認します。 |
| レコードを処理できない | 1 行の JSON テンプレートと Blank のログ行形式を使用します。圧縮設定を確認してください。 |
| ファイルが届かない | サービスバージョンが有効になっていること、トラフィックが条件に一致していること、ファイルの配信期間が経過していることを確認します。 |

## その他のリソース

* [Fastly: Log streaming to Amazon S3](https://www.fastly.com/documentation/guides/integrations/logging-endpoints/object-and-cloud-storage/log-streaming-amazon-s3/)
* [Fastly S3 エンドポイントの設定](https://www.fastly.com/documentation/reference/api/logging/s3/)
* [Fastly HTTPS 統合](/ja-jp/agent-analytics/fastly)
* [Profound サポートに問い合わせる](mailto:support@tryprofound.com)
