

# ディストリビューションテナントのカスタマイズ
<a name="tenant-customization"></a>

マルチテナントディストリビューションを使用する場合、ディストリビューションテナントはマルチテナントディストリビューション設定を継承します。ただし、一部の設定はディストリビューションテナントレベルでカスタマイズできます。

以下をカスタマイズできます。
+ **パラメータ** – パラメータは、オリジンドメインまたはオリジンパスに使用できるキーと値のペアです。「[ディストリビューションテナントとパラメータが連携する方法](#tenant-customize-parameters)」を参照してください。
+ **AWS WAF ウェブ ACL (V2)** – ディストリビューションテナントに別のウェブ ACL を指定できます。これにより、マルチテナントディストリビューションに使用されるウェブ ACL が*上書き*されます。特定のディストリビューションテナントに対してこの設定を無効にすることもできます。つまり、ディストリビューションテナントはマルチテナントディストリビューションからウェブ ACL 保護を継承しません。詳細については、「[AWS WAF ウェブ ACL](DownloadDistValuesGeneral.md#DownloadDistValuesWAFWebACL)」を参照してください。
+ **地理的制限** – ディストリビューションテナントに指定する地理的制限は、マルチテナントディストリビューションの地理的制限を*上書き*します。例えば、マルチテナントディストリビューションでドイツ (DE) をブロックすると、関連するすべてのディストリビューションテナントも DE をブロックします。ただし、特定のディストリビューションテナントに対して DE を許可すると、そのディストリビューションテナント設定はマルチテナントディストリビューションの設定を上書きします。詳細については、「[コンテンツの地理的配分を制限する](georestrictions.md)」を参照してください。
+ **無効化パス** – ディストリビューションテナントに対して無効化するコンテンツへのファイルパスを指定します。詳細については、「[ファイルを無効化する](Invalidation_Requests.md)」を参照してください。
+ **カスタム TLS 証明書** – ディストリビューションテナントに指定する AWS Certificate Manager (ACM) 証明書は、マルチテナントディストリビューションで提供される証明書を補足するものです。ただし、同じドメインがマルチテナントディストリビューションおよびディストリビューションの両方のテナント証明書でカバーされている場合は、テナント証明書が使用されます。詳細については、「[CloudFront ディストリビューションテナントの証明書をリクエストする](managed-cloudfront-certificates.md)」を参照してください。
+ **ドメイン名** – ディストリビューションテナントごとに少なくとも 1 つのドメイン名を指定する必要があります。

## ディストリビューションテナントとパラメータが連携する方法
<a name="tenant-customize-parameters"></a>

パラメータは、プレースホルダー値に使用できるキーと値のペアです。マルチテナントディストリビューションで使用するパラメータを定義し、それらが必要かどうかを指定します。

マルチテナントディストリビューションでパラメータを定義するときは、それらのパラメータをディストリビューションテナントレベルで入力する必要があるかどうかを選択します。
+ マルチテナントディストリビューションで*必要な*パラメータを定義する場合は、ディストリビューションテナントレベルでパラメータを入力する必要があります。(これらは継承されません)。
+ パラメータが*必要でない*場合は、ディストリビューションテナントによって継承されるマルチテナントディストリビューションでデフォルト値を指定できます。

次のプロパティでパラメータを使用できます。
+ オリジンドメイン名
+ オリジンのパス

マルチテナントディストリビューションでは、前述のプロパティごとに最大 2 つのパラメータを定義できます。

## パラメータの例
<a name="examples-parameters"></a>

ドメイン名とオリジンパスのパラメータの使用については、次の例を参照してください。

**ドメイン名パラメータ**

マルチテナントディストリビューション設定では、次の例のようにオリジンドメイン名のパラメータを定義できます。

**Amazon S3**
+ `{{{{parameter1}}}}.amzn-s3-demo-logging-bucket.s3.us-east-1.amazonaws.com`
+ `{{{{parameter1}}}}–amzn-s3-demo-logging-bucket.s3.us-east-1.amazonaws.com`

**カスタムオリジン**
+ `{{{{parameter1}}}}.lambda-url.us-east-1.on.aws`
+ `{{{{parameter1}}}}.mediapackagev2.ap-south-1.amazonaws.com`

ディストリビューションテナントを作成するときは、`{{parameter1}}` に使用する値を指定します。

```
"Parameters": [
  {
    "Name": "parameter1",
    "Value": "mycompany-website"
  }
]
```

マルチテナントディストリビューションで指定した前の例を使用して、ディストリビューションテナントのオリジンドメイン名は次のように解決されます。
+ `{{mycompany-website}}.amzn-s3-demo-bucket3.s3.us-east-1.amazonaws.com`
+ `{{mycompany-website}}–amzn-s3-demo-bucket3.s3.us-east-1.amazonaws.com`
+ `{{mycompany-website}}.lambda-url.us-east-1.on.aws`
+ `{{mycompany-website}}.mediapackagev2.ap-south-1.amazonaws.com`

**オリジンパスパラメータ**

同様に、次の例のように、マルチテナントディストリビューションでオリジンパスのパラメータを定義できます。
+ `/{{{{{{parameter2}}}}}}`
+ `/{{{{{{parameter2}}}}}}/test`
+ `/public/{{{{{{parameter2}}}}}}/test`
+ `/search?name={{{{{{parameter2}}}}}}`

ディストリビューションテナントを作成するときは、`{{parameter2}}` に使用する値を指定します。

```
"Parameters": [
  {
    "Name": "parameter2",
    "Value": "myBrand"
  }
]
```

マルチテナントディストリビューションで指定した前の例を使用して、ディストリビューションテナントのオリジンパスは次のように解決されます。
+ `/{{myBrand}}`
+ `/{{myBrand}}/test`
+ `/public/{{myBrand}}/test`
+ `/search?name={{myBrand}}`



**Example 例**  
顧客用に複数のウェブサイト (テナント) を作成し、各ディストリビューションテナントリソースが正しい値を使用していることを確認する必要があります。  

1. マルチテナントディストリビューションを作成し、ディストリビューションテナント設定に 2 つのパラメータを含めます。

1. オリジンドメイン名には、{{customer-name}} という名前のパラメータを作成し、必須であることを指定します。S3 バケットの前にパラメータを入力すると、以下のように表示されます。

   `{{{{customer-name}}}}.amzn-s3-demo-bucket3.s3.us-east-1.amazonaws.com`.

1. オリジンパスの場合、{{my-theme}} という名前の 2 番目のパラメータを作成し、デフォルト値は {{basic}} で、オプションとして指定します。オリジンパスは `/{{{{my-theme}}}}` と表示されます。

1. ディストリビューションテナントを作成する場合。
   + ドメイン名は、マルチテナントディストリビューションで必須としてマークされているため、{{customer-name}}の値を指定する必要があります。
   + オリジンパスでは、オプションで {{my-theme}} の値を指定するか、デフォルト値を使用できます。