# 詳細構成

## インテグレーショントリガーのカスタマイズ

場合によっては、単一のFastlyサービストラフィック内でNetaceaインテグレーションをトリガーするトラフィックをカスタマイズする必要があることがあります。

これには、以下のような様々な理由が考えられます：

* 同一のFastlyサービス上に複数のドメインが存在し、Netaceaが各ドメインを個別のDatastreamモデルセットで保護する場合
* 同一のFastlyサービス上に複数のドメインが存在するが、Netaceaはそれらのドメインの一部のみを保護する場合
* Netaceaインテグレーションを限定されたパスのセットに対してのみトリガーおよび保護するよう制限する必要がある場合
* Netaceaインテグレーションを特定の基準に基づいて[異なる動作をさせる](https://docs.netacea.com/jp/gai-yao/integration-modes)必要がある場合

カスタマイズされたトリガーをサポートするには、以下の手順に従ってください。

{% hint style="warning" %}
Netaceaチームと手順について協議せずに、この設定を完了しないでください
{% endhint %}

## Netaceaディクショナリの更新

標準の[インストールおよび設定ガイド](https://docs.netacea.com/jp/netacea-puraguin/fastly)の一部として設定したNetaceaディクショナリを更新します。ディクショナリは、通常[Netacea\_Config](https://docs.netacea.com/jp/netacea-puraguin/fastly/installation-and-configuration/..#vcl-snippets)テーブルに設定される変数と値を含むように更新する必要があります。

<figure><img src="https://2885909206-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKs3gGgxDF9S8O56fhTGU%2Fuploads%2Fgit-blob-455fdd905425f46b9ec5c016c24b70d4b51d4a46%2Fimage%20(82).png?alt=media" alt=""><figcaption></figcaption></figure>

Netacea\_Configテーブルは空白に設定する必要があります：

<figure><img src="https://2885909206-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKs3gGgxDF9S8O56fhTGU%2Fuploads%2Fgit-blob-b4d5df0123c9e2ce619e27e1337f2c67a8b3f851%2Fimage%20(80).png?alt=media" alt=""><figcaption></figcaption></figure>

## recv\_configure.vclの更新

最後に、Netaceaインテグレーションのトリガー方法を定義する条件文を含むようにrecv\_configure.vclを更新する必要があります：

* Fastlyサービスに対して行われたリクエストのサブセットでインテグレーションをトリガーさせる。
* Fastlyサービスでトラフィックがインテグレーションをトリガーする際に使用するDatastream認証情報を定義する。

#### 選択的トリガー

以下の例では、ログイン固有のリクエストパスでインテグレーションをトリガーさせます。

<pre><code>set req.http.x-netacea:edge_config_key_prefix = "";
declare local var.should_run_netacea BOOL;

set var.should_run_netacea = false;

# Must enable Netacea on the following paths if using captcha:
if (!var.should_run_netacea) {
  if (req.url.path ~ "^/AtaVerifyCaptcha|^\/Mitigations\/") {
    set var.should_run_netacea = true;
  }
}

<strong>if (!var.should_run_netacea) {
</strong>  if (req.url.path ~ "\/.*\/(login)\/") {
    set var.should_run_netacea = true;
  }
}

if (var.should_run_netacea) {
  call netacea_check_req;
}
</code></pre>

#### 分割トリガー

以下の例では、リクエストに関連付けられたドメインに基づいて異なるDatastream認証情報を使用するようインテグレーションを設定します。

```
declare local var.should_run_netacea BOOL;
set var.should_run_netacea = false;

if (req.http.host ~ "example.com") {
  set var.should_run_netacea = true;
  set req.http.x-netacea:edge_config_key_prefix = "dsA_";
}
if (req.http.host ~ "example2.com") {
  set var.should_run_netacea = true;
  set req.http.x-netacea:edge_config_key_prefix = "dsB_";
}
if (var.should_run_netacea) {
  call netacea_check_req;
} 

```

## ログ配送の更新

最後に、Netaceaチームが定義した要件に基づいて、配送設定を更新する必要がある場合があります。
