

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 创建部署策略
<a name="appconfig-creating-deployment-strategy-create"></a>

如果您不想使用其中一个预定义部署策略，则可以自行创建策略。您最多可以创建 20 个部署策略。在部署配置时，您可以选择最适合应用程序和环境的部署策略。

## 创建 Amazon AppConfig 部署策略（控制台）
<a name="appconfig-creating-deployment-strategy-create-console"></a>

使用以下过程通过 Amazon Systems Manager 控制台创建 Amazon AppConfig 部署策略。

**创建部署策略**

1. 打开 Amazon Systems Manager 控制台，网址为[https://console.aws.amazon.com/systems-manager/appconfig/](https://console.amazonaws.cn/systems-manager/appconfig/)。

1. 在导航窗格中，选择**部署策略**，然后选择**创建部署策略**。

1. 对于 **Name (名称)**，请输入部署策略的名称。

1. 对于 **Description (描述)**，请输入有关部署策略的信息。

1. 对于 **Deployment type (部署类型)**，选择类型。

1. 对于 **Step percentage (步骤百分比)**，请选择在部署的每个步骤中作为目标的调用方百分比。

1. 对于 **Deployment time (部署时间)**，请输入部署的总持续时间（以分钟或小时为单位）。

1. 在 **Bake** time 中，输入在继续部署的下一步或考虑完成部署之前，监控 Amazon CloudWatch 警报的总时间（以分钟或小时为单位）。

1. 在 **标签** 部分中，输入一个键和可选的值。您最多可以为一个资源指定 50 个标签。

1. 选择 **Create deployment strategy (创建部署策略)**。

**重要**  
如果您为创建了配置文件 Amazon CodePipeline，则必须在中创建指定 CodePipeline Amazon AppConfig 为*部署提供者的*管道。您不需要执行 [部署配置](appconfig-deploying.md)。但是，您必须配置客户端以接收应用程序配置更新，如 [在没有代理的情况下 Amazon AppConfig 检索配置数据](about-data-plane.md) 中所述。有关创建指定 Amazon AppConfig 为部署提供者的管道的信息，请参阅《*Amazon CodePipeline 用户指南》*中的[教程：创建 Amazon AppConfig 用作部署提供者的管道](https://docs.amazonaws.cn/codepipeline/latest/userguide/tutorials-AppConfig.html)。

继续执行[部署配置](appconfig-deploying.md)。

## 创建 Amazon AppConfig 部署策略（命令行）
<a name="appconfig-creating-deployment-strategy-create-commandline"></a>

以下过程介绍如何使用 Amazon CLI （在 Linux 或 Windows 上）或 Amazon Tools for PowerShell 如何创建 Amazon AppConfig 部署策略。

**分步创建部署策略**

1. 打开 Amazon CLI.

1. 运行以下命令，创建部署策略。

------
#### [ Linux ]

   ```
   aws appconfig create-deployment-strategy \
     --name {{A_name_for_the_deployment_strategy}} \
     --description {{A_description_of_the_deployment_strategy}} \
     --deployment-duration-in-minutes {{Total_amount_of_time_for_a_deployment_to_last}} \
     --final-bake-time-in-minutes {{Amount_of_time_Amazon AppConfig_monitors_for_alarms_before_considering_the_deployment_to_be_complete}} \
     --growth-factor {{The_percentage_of_targets_to_receive_a_deployed_configuration_during_each_interval}} \
     --growth-type {{The_linear_or_exponential_algorithm_used_to_define_how_percentage_grows_over_time}} \
     --replicate-to {{To_save_the_deployment_strategy_to_a_Systems_Manager_(SSM)_document}} \
     --tags {{User_defined_key_value_pair_metadata_of_the_deployment_strategy}}
   ```

------
#### [ Windows ]

   ```
   aws appconfig create-deployment-strategy ^
     --name {{A_name_for_the_deployment_strategy}} ^
     --description {{A_description_of_the_deployment_strategy}} ^
     --deployment-duration-in-minutes {{Total_amount_of_time_for_a_deployment_to_last}} ^
     --final-bake-time-in-minutes {{Amount_of_time_Amazon AppConfig_monitors_for_alarms_before_considering_the_deployment_to_be_complete}} ^
     --growth-factor {{The_percentage_of_targets_to_receive_a_deployed_configuration_during_each_interval}} ^
     --growth-type {{The_linear_or_exponential_algorithm_used_to_define_how_percentage_grows_over_time}} ^
     --name {{A_name_for_the_deployment_strategy}} ^
     --replicate-to {{To_save_the_deployment_strategy_to_a_Systems_Manager_(SSM)_document}} ^
     --tags {{User_defined_key_value_pair_metadata_of_the_deployment_strategy}}
   ```

------
#### [ PowerShell ]

   ```
   New-APPCDeploymentStrategy ` 
     --Name {{A_name_for_the_deployment_strategy}} ` 
     --Description {{A_description_of_the_deployment_strategy}} `
     --DeploymentDurationInMinutes {{Total_amount_of_time_for_a_deployment_to_last}} `
     --FinalBakeTimeInMinutes {{Amount_of_time_Amazon AppConfig_monitors_for_alarms_before_considering_the_deployment_to_be_complete}} `
     --GrowthFactor {{The_percentage_of_targets_to_receive_a_deployed_configuration_during_each_interval}} `
     --GrowthType {{The_linear_or_exponential_algorithm_used_to_define_how_percentage_grows_over_time}} `
     --ReplicateTo {{To_save_the_deployment_strategy_to_a_Systems_Manager_(SSM)_document}} `
     --Tag {{Hashtable_type_User_defined_key_value_pair_metadata_of_the_deployment_strategy}}
   ```

------

   系统将返回类似于以下内容的信息。

------
#### [ Linux ]

   ```
   {
      "Id": "Id of the deployment strategy",
      "Name": "Name of the deployment strategy",
      "Description": "Description of the deployment strategy",
      "DeploymentDurationInMinutes": "Total amount of time the deployment lasted",
      "GrowthType": "The linear or exponential algorithm used to define how percentage grew over time",
      "GrowthFactor": "The percentage of targets that received a deployed configuration during each interval",  
      "FinalBakeTimeInMinutes": "The amount of time Amazon AppConfig monitored for alarms before considering the deployment to be complete",
      "ReplicateTo": "The Systems Manager (SSM) document where the deployment strategy is saved"
   }
   ```

------
#### [ Windows ]

   ```
   {
      "Id": "Id of the deployment strategy",
      "Name": "Name of the deployment strategy",
      "Description": "Description of the deployment strategy",
      "DeploymentDurationInMinutes": "Total amount of time the deployment lasted",
      "GrowthType": "The linear or exponential algorithm used to define how percentage grew over time",
      "GrowthFactor": "The percentage of targets that received a deployed configuration during each interval",  
      "FinalBakeTimeInMinutes": "The amount of time Amazon AppConfig monitored for alarms before considering the deployment to be complete",
      "ReplicateTo": "The Systems Manager (SSM) document where the deployment strategy is saved"
   }
   ```

------
#### [ PowerShell ]

   ```
   ContentLength               : Runtime of the command
   DeploymentDurationInMinutes : Total amount of time the deployment lasted
   Description                 : Description of the deployment strategy
   FinalBakeTimeInMinutes      : The amount of time Amazon AppConfig monitored for alarms before considering the deployment to be complete
   GrowthFactor                : The percentage of targets that received a deployed configuration during each interval
   GrowthType                  : The linear or exponential algorithm used to define how percentage grew over time
   HttpStatusCode              : HTTP Status of the runtime
   Id                          : The deployment strategy ID
   Name                        : Name of the deployment strategy
   ReplicateTo                 : The Systems Manager (SSM) document where the deployment strategy is saved
   ResponseMetadata            : Runtime Metadata
   ```

------