# Cloudflare

## Cloudflare Logpush のセットアップ

Cloudflare から Amazon S3 バケットへリアルタイムのアクセスログを送信するには、**Cloudflare Logpush** を設定します。これにより、バッチ処理された HTTP リクエストログを効率的かつほぼリアルタイムで配信できます。以下は、Netacea のデータ要件を満たすフィールド設定を使用して、Netacea がホストする S3 バケットへの Logpush ストリーミングを設定するために必要な手順です。

### 前提条件

Cloudflare Logpush を使用して Netacea に Web トラフィックログを正常にストリーミングするには、以下の点を確認してください：

* **Cloudflare Enterprise プラン** をご利用であること。
* 該当ドメインの **Cloudflare ダッシュボード** にアクセスできること。
* Netacea から必要な **AWS S3 バケット** の詳細（バケット名、リージョン、パス、認証情報）を受け取っていること。これらは[こちら](https://netacea.gitbook.io/portal-docs/user-guides-and-videos/portal-setup-and-log-shipping-guide)で確認できます。
* 要求があった場合、トークン検証のサポートのために **Cloudflare アカウントの詳細** を Netacea と共有していること。
* Netacea が分析に必要とする[**最小限の必須データセットフィールド**](#netacea-minimum-required-dataset)を把握していること。

### **設定手順（Cloudflare ダッシュボード）**

1. **Cloudflare ダッシュボード** にログインします。
2. 設定したい **Enterprise ドメイン** を選択します。
3. **Analytics & Logs > Logpush** に移動します。
4. **Create a Logpush Job** をクリックします。

#### 送信先の設定

* **Destination** で **Amazon S3** を選択します。
* 以下の送信先の詳細を入力します（Netacea Portal から提供されます）：
  * **Bucket name**
  * **Path**（推奨：ログを日別のサブフォルダに整理）
  * **Bucket Region**（例：`eu-west-1`）

#### **バケットアクセスポリシー**

Netacea が S3 バケットを設定・管理し、Cloudflare がログをアップロードできるようにするために必要なアクセスポリシーを適用します。

> お客様側でバケットポリシーを変更する必要はありません。

#### **所有権トークンの検証**

* Cloudflare は所有権トークンをアップロードして送信先を検証します。
* Netacea がバケットからこのトークンを取得し、お客様に返送します。
* 受け取ったら、トークンを Cloudflare ダッシュボードに貼り付けて **Continue** をクリックします。

**データセットとフィールドの選択**

* データセットとして **HTTP Requests** を選択します。
* 以下の詳細でジョブを設定します：

**Job Name**：わかりやすい名前を使用します（例：`Netacea_Logpush`）。

* **含めるフィールド**：
  * `EdgeEndTimestamp`
  * `ClientIP`
  * `ClientRequestUserAgent`
  * `ClientRequestMethod`
  * #### `ClientRequestPath` <a href="#clientrequestpath" id="clientrequestpath"></a>
  * #### `ClientRequestURI` <a href="#clientrequestpath" id="clientrequestpath"></a>
  * #### `EdgeResponseStatus` <a href="#clientrequestpath" id="clientrequestpath"></a>
  * #### `ClientRequestReferer` <a href="#clientrequestpath" id="clientrequestpath"></a>
  * #### `EdgeResponseBytes` <a href="#clientrequestpath" id="clientrequestpath"></a>
  * #### `JA3Hash` <a href="#clientrequestpath" id="clientrequestpath"></a>
  * #### `ClientRequestURI` <a href="#clientrequestpath" id="clientrequestpath"></a>
  * #### `ClientRequestProtocol` <a href="#clientrequestpath" id="clientrequestpath"></a>
  * #### `OriginResponseTime` <a href="#clientrequestpath" id="clientrequestpath"></a>

{% hint style="info" %}
`JA3Hash` は Cloudflare Bot management をご利用のお客様のみ使用可能です
{% endhint %}

* **Submit** をクリックしてジョブを有効化します。

### Netacea 最小データセット

上記のログ形式により、Netacea は分析に必要な以下の最小データセットを収集できます

<table><thead><tr><th width="215">必須フィールド</th><th>説明</th></tr></thead><tbody><tr><td><strong>タイムスタンプ</strong></td><td>リクエストが受信された時刻</td></tr><tr><td>IP アドレス</td><td>リクエストが送信された IP アドレス</td></tr><tr><td>ユーザーエージェント</td><td>クライアントがヘッダーで送信したユーザーエージェント文字列</td></tr><tr><td>メソッド</td><td>リクエストの HTTP メソッド</td></tr><tr><td>パス</td><td>リクエストされたリソースのパス</td></tr><tr><td>クエリ</td><td>リクエストのクエリ文字列</td></tr><tr><td>ステータス</td><td>サーバーが返した HTTP ステータスコード</td></tr><tr><td>リファラー</td><td>ユーザーがリンクをたどってきた Web ページ</td></tr><tr><td>送信バイト数</td><td>サーバーのレスポンスとして送信されたバイト数</td></tr><tr><td>Client JA3</td><td>クライアントの JA3 フィンガープリント</td></tr><tr><td>X-Forwarded-For*</td><td>クライアントリクエストの元の IP アドレス</td></tr><tr><td>CF-Connecting-IP*</td><td>Cloudflare が信頼する元のクライアント IP のソース</td></tr><tr><td>ホスト</td><td>リクエストの宛先ホスト</td></tr><tr><td>プロトコル</td><td>リクエストのプロトコル</td></tr><tr><td>リクエスト時間</td><td>リクエストの処理にかかった合計時間</td></tr></tbody></table>

\* クライアントからオリジンまでの経路にプロキシが存在する場合に有用です

### 最終ステップ

ログ配信が有効になったら、**Netacea ソリューションエンジニアに通知してください**。これにより、以下を行うことができます：

* データの受信を確認
* データセットの形式と完全性を検証
* 十分な量のデータが収集され次第、分析を開始

セットアップ中にサポートが必要な場合は、Netacea SE チームがお手伝いします。お気軽にお問い合わせください。
