创建缓存策略 - Amazon CloudFront

创建缓存策略

利用缓存策略,您可以通过控制缓存键中包含的值(URL 查询字符串、HTTP 标头和 Cookie)来提高缓存命中率。您可以使用 AWS Command Line Interface(AWS CLI)或 CloudFront API 在 CloudFront 控制台中创建缓存策略。

创建缓存策略后,将它附加到 CloudFront 分配中的一个或多个缓存行为。

Console
创建缓存策略(控制台)
  1. 登录到 AWS Management Console 并通过以下网址在 CloudFront 控制台中打开 Policies (策略) 页面:https://console.aws.amazon.com/cloudfront/v4/home?#/policies

  2. 选择创建缓存策略

  3. 为此缓存策略选择所需的设置。有关更多信息,请参阅 了解缓存策略

  4. 完成后,选择 Create(创建)。

创建缓存策略后,可以将它附加到缓存行为。

将缓存策略附加到现有分配(控制台)
  1. 在 CloudFront 控制台中打开 Distributions (分配) 页面,网址为 https://console.aws.amazon.com/cloudfront/v4/home#/distributions

  2. 选择要更新的分配,然后选择行为选项卡。

  3. 选择要更新的缓存行为,然后选择编辑

    或者,要创建新的缓存行为,请选择 Create behavior(创建行为)。

  4. Cache key and origin requests(缓存键和源请求)区域,请确保选择了 Cache policy and origin request policy(缓存策略和源请求策略)。

  5. 对于 Cache policy(缓存策略),选择要附加到此缓存行为的缓存策略。

  6. 在页面底部,选择 Save changes(保存更改)。

将缓存策略附加到新分配(控制台)
  1. 通过 打开 CloudFront 控制台https://console.aws.amazon.com/cloudfront/v4/home

  2. 选择 Create distribution(创建分配)。

  3. Cache key and origin requests(缓存键和源请求)区域,请确保选择了 Cache policy and origin request policy(缓存策略和源请求策略)。

  4. 对于 Cache policy(缓存策略),选择要附加到此分发的原定设置缓存行为的缓存策略。

  5. 为源、原定设置缓存行为和其他分配设置选择所需的设置。有关更多信息,请参阅 分配设置参考

  6. 完成后,选择 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
  2. 打开刚创建的名为 cache-policy.yaml 的文件。编辑该文件以指定所需的缓存策略设置,然后保存该文件。您可以从该文件中删除可选字段,但不要删除必填字段。

    有关缓存策略设置的更多信息,请参阅了解缓存策略

  3. 使用以下命令通过 cache-policy.yaml 文件中的输入参数创建缓存策略。

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

    记下命令输出中的 Id 值。这是缓存策略 ID,您需要它才能将缓存策略附加到 CloudFront 分配的缓存行为。

将缓存策略附加到现有分配(带输入文件的 CLI)
  1. 使用以下命令保存要更新的 CloudFront 分配的分配配置。将 distribution_ID 替换为分配的 ID。

    aws cloudfront get-distribution-config --id distribution_ID --output yaml > dist-config.yaml
  2. 打开刚创建的名为 dist-config.yaml 的文件。编辑该文件,对要更新的每个缓存行为进行以下更改以使用缓存策略。

    • 在缓存行为中,添加名为 CachePolicyId 的字段。对于字段的值,请使用创建策略后记下的缓存策略 ID。

    • 从缓存行为中删除 MinTTLMaxTTLDefaultTTLForwardedValues 字段。这些设置是在缓存策略中指定的,因此不能将这些字段和一个缓存策略包含在相同的缓存行为中。

    • ETag 字段重命名为 IfMatch,但不更改字段的值。

    完成后保存该文件。

  3. 使用以下命令更新分配以使用缓存策略。将 distribution_ID 替换为分配的 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
  2. 打开刚创建的名为 distribution.yaml 的文件。在默认缓存行为中,在 CachePolicyId 字段中输入创建策略后记下的缓存策略 ID。继续编辑该文件以指定所需的分配设置,然后在完成后保存该文件。

    有关分配设置的更多信息,请参阅分配设置参考

  3. 使用以下命令通过 distribution.yaml 文件中的输入参数创建分配。

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

要使用 CloudFront API 创建缓存策略,请使用 CreateCachePolicy。有关您在此 API 调用中指定的字段的更多信息,请参阅了解缓存策略以及有关 AWS SDK 或其他 API 客户端的 API 参考文档。

创建缓存策略后,可以使用下列 API 调用之一将该缓存策略附加到缓存行为:

对于这两个 API 调用,请在缓存行为中的 CachePolicyId 字段中提供缓存策略的 ID。有关您在这些 API 调用中指定的其他字段的更多信息,请参阅 分配设置参考 以及有关 AWS SDK 或其他 API 客户端的 API 参考文档。