

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 建立快取政策
<a name="cache-key-create-cache-policy"></a>

您可以使用快取政策藉由控制快取金鑰中包含的值 (URL 查詢字串、HTTP 標頭和 Cookie) 來改善快取命中率。您可以在 CloudFront 主控台中使用 AWS Command Line Interface (AWS CLI) 或 CloudFront API 建立快取政策。

建立快取政策之後，您可以將它連接到 CloudFront 分佈中的一或多個快取行為。

------
#### [ Console ]

**建立快取政策 (主控台)**

1. 登入 AWS 管理主控台 ，並在位於 的 CloudFront 主控台中開啟**政策**頁面[https://console.aws.amazon.com/cloudfront/v4/home?#/policies](https://console.aws.amazon.com/cloudfront/v4/home?#/policies)。

1. 選擇**建立快取政策**。

1. 選擇此快取政策所需的設定。如需詳細資訊，請參閱 [了解快取政策](cache-key-understand-cache-policy.md)。

1. 完成時，請選擇 **Create** (建立)。

建立快取政策之後，您可以將其附加到快取行為。

**若要將快取政策附加至現有分佈 (主控台)**

1. 在位於 [https://console.aws.amazon.com/cloudfront/v4/home#/distributions](https://console.aws.amazon.com/cloudfront/v4/home#/distributions) 的 CloudFront 主控台中開啟 **Distributions** (分佈) 頁面。

1. 選擇要更新的分佈，然後選擇**行為**索引標籤。

1. 選擇要更新的快取行為，然後選擇**編輯**。

   或者，若要建立新的快取行為，請選擇 **Create behavior** (建立行為)。

1. 在 **Cache key and origin requests** (快取金鑰和原始伺服器請求) 一節中，請確定已選擇 **Cache policy and origin request policy** (快取政策和原始伺服器請求政策)。

1. 在 **Cache policy** (快取政策) 中，選擇要連接到此快取行為的快取政策。

1. 請在頁面底部選擇 **Save changes** (儲存變更)。

**若要將快取政策附加至新分佈 (主控台)**

1. 在 [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home) 中開啟 CloudFront 主控台。

1. 選擇 **Create Distribution** (建立分佈)。

1. 在 **Cache key and origin requests** (快取金鑰和原始伺服器請求) 一節中，請確定已選擇 **Cache policy and origin request policy** (快取政策和原始伺服器請求政策)。

1. 在 **Cache policy** (快取政策) 中，選擇要連接到此分佈預設快取行為的快取政策。

1. 為原始伺服器、預設快取行為和其他分佈設定選擇所需的設定。如需詳細資訊，請參閱 [所有分佈設定參考](distribution-web-values-specify.md)。

1. 完成後，請選擇 **Create distribution** (建立分佈)。

------
#### [ CLI ]

若要使用 AWS Command Line Interface (AWS CLI) 建立快取政策，請使用 **aws cloudfront create-cache-policy**命令。您可以使用輸入檔案來提供命令的輸入參數，而不是將每個個別參數指定為命令列輸入。

**建立快取政策 (包含輸入檔案的 CLI)**

1. 使用下列命令建立一個名為 `cache-policy.yaml` 的檔案，其中包含 **create-cache-policy** 命令的所有輸入參數。

   ```
   aws cloudfront create-cache-policy --generate-cli-skeleton yaml-input > cache-policy.yaml
   ```

1. 開啟您剛才建立且命名為 `cache-policy.yaml` 的檔案。編輯檔案以指定您想要的快取政策設定，然後儲存檔案。您可以從檔案中移除選用欄位，但不要移除必要欄位。

   如需有關快取政策設定的詳細資訊，請參閱 [了解快取政策](cache-key-understand-cache-policy.md)。

1. 使用下列命令，使用 `cache-policy.yaml` 檔案中的輸入參數建立快取政策。

   ```
   aws cloudfront create-cache-policy --cli-input-yaml file://cache-policy.yaml
   ```

   記下命令輸出中的 `Id` 值。這是快取政策 ID，而且您需要它將快取政策連接到 CloudFront 分佈的快取行為。

**將快取政策附加至現有分佈 (包含輸入檔案的 CLI)**

1. 使用下列命令來儲存您想要更新之 CloudFront 分發的分發組態。將 *distribution\$1ID* 取代為分佈的 ID。

   ```
   aws cloudfront get-distribution-config --id distribution_ID --output yaml > dist-config.yaml
   ```

1. 開啟您剛才建立且命名為 `dist-config.yaml` 的檔案。編輯檔案，對您要更新為使用快取政策的每個快取行為進行下列變更。
   + 在快取行為中，新增名為 `CachePolicyId` 的欄位。對於欄位值，請使用您在建立政策後記下的快取政策 ID。
   + 從快取行為中移除 `MinTTL`、`MaxTTL`、`DefaultTTL` 和 `ForwardedValues` 欄位。這些設定是在快取政策中指定的，因此您無法在相同的快取行為中包含這些欄位和快取政策。
   + 將 `ETag` 欄位重新命名為 `IfMatch`，但不要變更欄位的值。

   完成後儲存檔案。

1. 使用下列命令來更新分佈以使用快取政策。將 *distribution\$1ID* 取代為分佈的 ID。

   ```
   aws cloudfront update-distribution --id distribution_ID --cli-input-yaml file://dist-config.yaml
   ```

**若要將快取政策附加至新分佈 (包含輸入檔案的 CLI)**

1. 使用下列命令建立一個名為 `distribution.yaml` 的檔案，其中包含 **create-distribution** 命令的所有輸入參數。

   ```
   aws cloudfront create-distribution --generate-cli-skeleton yaml-input > distribution.yaml
   ```

1. 開啟您剛才建立且命名為 `distribution.yaml` 的檔案。在預設快取行為的 `CachePolicyId` 欄位中，輸入您在建立政策後記下的快取政策 ID。繼續編輯檔案以指定所需的分佈設定，然後在完成後儲存檔案。

   如需有關分佈設定的詳細資訊，請參閱 [所有分佈設定參考](distribution-web-values-specify.md)。

1. 使用下列命令，使用 `distribution.yaml` 檔案中的輸入參數建立分佈。

   ```
   aws cloudfront create-distribution --cli-input-yaml file://distribution.yaml
   ```

------
#### [ API ]

若要使用 CloudFront API 建立快取政策，請使用 [CreateCachePolicy](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateCachePolicy.html)。如需您在此 API 呼叫中指定欄位的詳細資訊，請參閱 [了解快取政策](cache-key-understand-cache-policy.md)和 AWS SDK 或其他 API 用戶端的 API 參考文件。

建立快取政策之後，您可以使用下列其中一個 API 呼叫，將其附加至快取行為：
+ 若要將它附加到現有分佈中的快取行為，請使用 [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html)。
+ 若要將它附加到新分佈中的快取行為，請使用 [CreateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html)。

對於這兩個 API 呼叫，請在快取行為中的 `CachePolicyId` 欄位中提供快取請求政策的 ID。如需您在這些 API 呼叫中指定之其他欄位的詳細資訊，請參閱 [所有分佈設定參考](distribution-web-values-specify.md)和 AWS SDK 或其他 API 用戶端的 API 參考文件。

------