使用暂存分配和持续部署策略 - Amazon CloudFront
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用暂存分配和持续部署策略

您可以使用 Amazon Command Line Interface(Amazon CLI)或 CloudFront API 在 CloudFront 控制台中创建、更新和修改暂存分配与持续部署策略。

使用持续部署策略创建暂存分配

以下步骤演示如何使用持续部署策略创建暂存分配。

Console

您可以使用Amazon Web Services Management Console,通过持续部署策略创建暂存分配。

创建暂存分配和持续部署策略(控制台)
  1. 登录 Amazon Web Services Management Console,并通过以下网址打开 CloudFront 控制台:https://console.amazonaws.cn/cloudfront/v4/home

  2. 在导航窗格中,选择分配

  3. 选择要用作主分配的分配。主分配是当前为生产流量提供服务的分配,您将从中创建暂存分配。

  4. 持续部署部分中,选择创建暂存分配。这将打开创建暂存分配向导。

  5. 创建暂存分配向导中,执行以下操作:

    1. (可选)键入暂存分配的描述。

    2. 选择下一步

    3. 修改暂存分配的配置。有关您可以更新的设置的更多信息,请参阅更新主分配和暂存分配

      修改完暂存分配的配置后,选择下一步

    4. 使用控制台指定流量配置。这将决定 CloudFront 如何将流量路由到暂存分配。(CloudFront 将流量配置存储在持续部署策略中。)

      有关流量配置中的选项的更多信息,请参阅将请求路由到暂存分配

      完成流量配置后,选择下一步

    5. 查看暂存分配的配置,包括流量配置,然后选择创建暂存分配

在 CloudFront 控制台中完成创建暂存分配向导后,CloudFront 将执行以下操作:

  • 使用您指定的设置创建暂存分配(在步骤 5c 中)

  • 使用您指定的流量配置创建持续部署策略(在步骤 5d 中)

  • 将持续部署策略附加到您从中创建暂存分配的主分配

当主分配的配置以及附加的持续部署策略部署到边缘站点时,CloudFront 会开始根据流量配置将指定部分的流量发送到暂存分配。

CLI

要使用 Amazon CLI 创建暂存分配和持续部署策略,请执行以下步骤。

创建暂存分配(CLI)
  1. aws cloudfront get-distributiongrep 命令结合使用以获取要用作主分配分发的 ETag 值。主分配是当前为生产流量提供服务的分发,将从中创建暂存分配。

    以下命令是一个示例。在以下示例中,将 primary_distribution_ID 替换为主分配的 ID。

    aws cloudfront get-distribution --id primary_distribution_ID | grep 'ETag'

    复制 ETag 值,因为您需要它来执行下一个步骤。

  2. 使用 aws cloudfront copy-distribution 命令创建暂存分配。以下示例命令使用转义字符(\)和换行符来提高可读性,但您应在该命令中省略这些字符。在以下示例命令中:

    • primary_distribution_ID 替换为主分配的 ID。

    • primary_distribution_ETag 替换为主分配的 ETag 值(您已在上一步中获得)。

    • (可选)将 CLI_example 替换为所需的调用方参考 ID。

    aws cloudfront copy-distribution --primary-distribution-id primary_distribution_ID \ --if-match primary_distribution_ETag \ --staging \ --caller-reference 'CLI_example'

    该命令的输出显示了有关暂存分配及其配置的信息。复制暂存分配的 CloudFront 域名,因为您在下一步中需要使用它。

创建持续部署策略(带输入文件的 CLI)
  1. 使用以下命令创建名为 continuous-deployment-policy.yaml 的文件,其中包含 create-continuous-deployment-policy 命令的所有输入参数。以下命令使用转义字符(\)和换行符来提高可读性,但您应在该命令中省略这些字符。

    aws cloudfront create-continuous-deployment-policy --generate-cli-skeleton yaml-input \ > continuous-deployment-policy.yaml
  2. 打开刚创建的名为 continuous-deployment-policy.yaml 的文件。编辑该文件以指定所需的持续部署策略设置,然后保存该文件。当您编辑该文件时:

    • StagingDistributionDnsNames 部分中:

      • Quantity 的值更改为 1

      • 对于 Items,粘贴暂存分配的 CloudFront 域名(您已在上一步中保存)。

    • TrafficConfig 部分中:

      • 选择 TypeSingleWeightSingleHeader)。

      • 删除其他类型的设置。例如,如果您需要基于权重的流量配置,请将 Type 设置为 SingleWeight,然后删除 SingleHeaderConfig 设置。

      • 要使用基于权重的流量配置,请将 Weight 的值设置为介于 .01(百分之一)和 .15(百分之十五)之间的十进制数。

      有关 TrafficConfig 中的选项的更多信息,请参阅将请求路由到暂存分配基于权重的配置的会话粘性

  3. 使用以下命令通过 continuous-deployment-policy.yaml 文件中的输入参数创建持续部署策略。

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

    复制命令输出中的 Id 值。这是持续部署策略 ID,您在下一步中需要它。

将持续部署策略附加到主分配(带输入文件的 CLI)
  1. 使用以下命令将主分配的配置保存到一个名为 primary-distribution.yaml 的文件中。将 primary_distribution_ID 替换为主分配的 ID。

    aws cloudfront get-distribution-config --id primary_distribution_ID --output yaml > primary-distribution.yaml
  2. 打开刚创建的名为 primary-distribution.yaml 的文件。编辑文件,进行以下更改:

    • 将持续部署策略 ID(从上一步中复制的)粘贴到 ContinuousDeploymentPolicyId 字段中。

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

    完成后保存该文件。

  3. 使用以下命令更新主分配以使用持续部署策略。将 primary_distribution_ID 替换为主分配的 ID。

    aws cloudfront update-distribution --id primary_distribution_ID --cli-input-yaml file://primary-distribution.yaml

当主分配的配置以及附加的持续部署策略部署到边缘站点时,CloudFront 会开始根据流量配置将指定部分的流量发送到暂存分配。

API

要使用 CloudFront API 创建暂存分配和持续部署策略,请使用以下 API 操作:

有关您在这些 API 调用中指定的字段的更多信息,请参阅以下内容:

创建暂存分配和持续部署策略后,使用 UpdateDistribution(在主分配上)将持续部署策略附加到主分配。

更新暂存分配

以下步骤演示如何使用持续部署策略更新暂存分配。

Console

您可以更新主分配和暂存分配的某些配置。有关更多信息,请参阅 更新主分配和暂存分配

更新暂存分配(控制台)
  1. 通过 https://console.amazonaws.cn/cloudfront/v4/home 打开 CloudFront 控制台

  2. 在导航窗格中,选择分配

  3. 选择主分配。这是当前为生产流量提供服务的分配,您将从中创建暂存分配。

  4. 选择查看暂存分配

  5. 使用控制台修改暂存分配的配置。有关您可以更新的设置的更多信息,请参阅更新主分配和暂存分配

一旦暂存分配的配置部署到边缘站点,它就会对路由到暂存分配的传入流量生效。

CLI
更新暂存分配(带输入文件的 CLI)
  1. 使用以下命令将暂存分配的配置保存到一个名为 staging-distribution.yaml 的文件中。将 staging_distribution_ID 替换为暂存分配的 ID。

    aws cloudfront get-distribution-config --id staging_distribution_ID --output yaml > staging-distribution.yaml
  2. 打开刚创建的名为 staging-distribution.yaml 的文件。编辑文件,进行以下更改:

    • 修改暂存分配的配置。有关您可以更新的设置的更多信息,请参阅更新主分配和暂存分配

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

    完成后保存该文件。

  3. 使用以下命令更新暂存分配的配置。将 staging_distribution_ID 替换为暂存分配的 ID。

    aws cloudfront update-distribution --id staging_distribution_ID --cli-input-yaml file://staging-distribution.yaml

一旦暂存分配的配置部署到边缘站点,它就会对路由到暂存分配的传入流量生效。

API

要更新暂存分配的配置,请使用 UpdateDistribution(在暂存分配上)修改暂存分配的配置。有关您可以更新的设置的更多信息,请参阅更新主分配和暂存分配

更新持续部署策略

以下步骤演示如何更新持续部署策略。

Console

您可以通过更新持续部署策略来更新分配的流量配置。

更新持续部署策略(控制台)
  1. 通过 https://console.amazonaws.cn/cloudfront/v4/home 打开 CloudFront 控制台

  2. 在导航窗格中,选择分配

  3. 选择主分配。这是当前为生产流量提供服务的分发,您将从中创建暂存分发。

  4. 持续部署部分中,选择编辑策略

  5. 修改持续部署策略中的流量配置。在完成后,选择保存更改

当主分配的配置以及更新的持续部署策略部署到边缘站点时,CloudFront 会开始根据更新的流量配置将流量发送到暂存分配。

CLI
更新持续部署策略(带输入文件的 CLI)
  1. 使用以下命令将持续部署策略的配置保存到一个名为 continuous-deployment-policy.yaml 的文件中。将 continuous_deployment_policy_ID 替换为持续部署策略的 ID。以下命令使用转义字符(\)和换行符来提高可读性,但您应在该命令中省略这些字符。

    aws cloudfront get-continuous-deployment-policy-config --id continuous_deployment_policy_ID \ --output yaml > continuous-deployment-policy.yaml
  2. 打开刚创建的名为 continuous-deployment-policy.yaml 的文件。编辑文件,进行以下更改:

    • 根据需要修改持续部署策略的配置。例如,您可以从使用基于标头的流量配置更改为使用基于权重的流量配置,也可以更改基于权重的配置的流量百分比(权重)。有关更多信息,请参阅将请求路由到暂存分配基于权重的配置的会话粘性

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

    完成后保存该文件。

  3. 使用以下命令更新持续部署策略。将 continuous_deployment_policy_ID 替换为持续部署策略的 ID。以下命令使用转义字符(\)和换行符来提高可读性,但您应在该命令中省略这些字符。

    aws cloudfront update-continuous-deployment-policy --id continuous_deployment_policy_ID \ --cli-input-yaml file://continuous-deployment-policy.yaml

当主分配的配置以及更新的持续部署策略部署到边缘站点时,CloudFront 会开始根据更新的流量配置将流量发送到暂存分配。

API

要更新持续部署策略,请使用 UpdateContinuousDeploymentPolicy

提升暂存分配的配置

以下步骤演示如何提升暂存分配的配置。

Console

提升暂存分配时,CloudFront 会将配置从暂存分配复制到主分配。CloudFront 还将禁用持续部署策略,并将所有流量路由到主分配。

提升配置后,可以在下次要测试配置更改时重用相同的暂存分配。

提升暂存分配的配置(控制台)
  1. 通过 https://console.amazonaws.cn/cloudfront/v4/home 打开 CloudFront 控制台

  2. 在导航窗格中,选择分配

  3. 选择主分配。这是当前为生产流量提供服务的分发,您将从中创建暂存分发。

  4. 持续部署部分中,选择提升

  5. 键入 confirm,然后选择提升

CLI

提升暂存分配时,CloudFront 会将配置从暂存分配复制到主分配。CloudFront 还将禁用持续部署策略,并将所有流量路由到主分配。

提升配置后,可以在下次要测试配置更改时重用相同的暂存分配。

提升暂存分配的配置(CLI)
  • 使用 aws cloudfront update-distribution-with-staging-config 命令将暂存分配的配置提升为主分配。以下示例命令使用转义字符(\)和换行符来提高可读性,但您应在该命令中省略这些字符。在以下示例命令中:

    • primary_distribution_ID 替换为主分配的 ID。

    • staging_distribution_ID 替换为暂存分配的 ID。

    • primary_distribution_ETagstaging_distribution_ETag 分别替换为主分配和暂存分配的 ETag 值。确保主分配的值是第一个,如示例所示。

    aws cloudfront update-distribution-with-staging-config --id primary_distribution_ID \ --staging-distribution-id staging_distribution_ID \ --if-match 'primary_distribution_ETag,staging_distribution_ETag'
API

要将暂存分配的配置提升为主分配,请使用 UpdateDistributionWithStagingConfig