

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Implantando sinalizadores de recursos e dados de configuração no AWS AppConfig
<a name="deploying-feature-flags"></a>

Depois de [criar os artefatos necessários](https://docs.aws.amazon.com/appconfig/latest/userguide/creating-feature-flags-and-configuration-data.html) para trabalhar com sinalizadores de atributos e dados de configuração de formato livre, você pode criar uma nova implantação. Ao criar uma nova implantação, você especifica as seguintes informações:
+ O ID do aplicativo
+ O ID do perfil de configuração
+ A versão da configuração
+ O ID do ambiente no qual você deseja implantar os dados de configuração
+ O ID da estratégia de implantação que define a rapidez com que você deseja que as alterações entrem em vigor
+ Um ID de chave AWS Key Management Service (AWS KMS) para criptografar os dados usando uma chave gerenciada pelo cliente.

Quando você chama a ação [StartDeployment](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_StartDeployment.html)da API, AWS AppConfig executa as seguintes tarefas:

1. Recupera os dados de configuração do armazenamento de dados subjacente usando o URI de localização no perfil de configuração.

1. Verifica se os dados de configuração estão sintática e semanticamente corretos usando os validadores especificados ao criar o perfil de configuração.

1. Armazena em cache uma cópia dos dados para que estejam prontos para serem recuperados pelo seu aplicativo. Essa cópia em cache é chamada de *dados implantados*.

Você pode mitigar situações em que a implantação de dados de configuração causa erros em seu aplicativo usando uma combinação de estratégias de AWS AppConfig implantação e reversões automáticas com base nos alarmes da Amazon. CloudWatch Uma estratégia de implantação permite que você libere lentamente as alterações em todos os destinos ou segmentos específicos ao longo de minutos ou horas, seja com base em sessões ou em sua própria dimensão de destino, aproveitando implantações baseadas em entidades. Depois de configurar CloudWatch, se um ou mais alarmes entrarem no estado de alarme durante uma implantação, reverterá AWS AppConfig automaticamente seus dados de configuração para a versão anterior. Para ter mais informações sobre estratégias de implantação, consulte [Como trabalhar com estratégias de implantação](appconfig-creating-deployment-strategy.md). Para ter mais informações sobre reversões automáticas, consulte [Monitorar implantações para reversão automática](monitoring-deployments.md).

**nota**  
AWS AppConfig O Agent (versão 2.0.136060 ou posterior) oferece suporte à implantação de sinalizadores de recursos ou dados de configuração de formato livre em segmentos específicos ou usuários individuais durante uma implantação gradual. As implantações graduais baseadas em entidades garantem que, quando um usuário ou segmento recebe uma versão de configuração, ele continue recebendo a mesma versão durante todo o período de implantação, independentemente de qual recurso computacional atenda às suas solicitações. Para obter mais informações, consulte [Usando o AWS AppConfig Agent para implantações graduais baseadas em usuários ou entidades](appconfig-agent-how-to-use.md#appconfig-entity-based-gradual-deployments).

**Topics**
+ [Como trabalhar com estratégias de implantação](appconfig-creating-deployment-strategy.md)
+ [Implantar uma configuração](appconfig-deploying.md)
+ [Implantando AWS AppConfig configurações usando CodePipeline](appconfig-integration-codepipeline.md)
+ [Reverter uma configuração](appconfig-deploying-reverting.md)

# Como trabalhar com estratégias de implantação
<a name="appconfig-creating-deployment-strategy"></a>

Uma estratégia de implantação permite que você libere lentamente as alterações em todos os destinos ou segmentos específicos ao longo de minutos ou horas, seja com base em sessões ou em sua própria dimensão de destino, aproveitando implantações baseadas em entidades.

**nota**  
AWS AppConfig O Agent (versão 2.0.136060 ou posterior) oferece suporte à implantação de sinalizadores de recursos ou dados de configuração de formato livre em segmentos específicos ou usuários individuais durante uma implantação gradual. As implantações graduais baseadas em entidades garantem que, quando um usuário ou segmento recebe uma versão de configuração, ele continue recebendo a mesma versão durante todo o período de implantação, independentemente de qual recurso computacional atenda às suas solicitações. Para obter mais informações, consulte [Usando o AWS AppConfig Agent para implantações graduais baseadas em usuários ou entidades](appconfig-agent-how-to-use.md#appconfig-entity-based-gradual-deployments).

Uma estratégia AWS AppConfig de implantação define os seguintes aspectos importantes de uma implantação de configuração.


****  

| Configuração | Description | 
| --- | --- | 
| Tempo decorrido | Progresso da implantação | 
| --- | --- | 
|  Tipo de implantação  | O tipo de implantação define como a configuração é implantada ou *implementada.* AWS AppConfig suporta tipos de implantação **linear** e **exponencial**. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/appconfig/latest/userguide/appconfig-creating-deployment-strategy.html)  | 
|  Percentagem de etapa (fator de crescimento)  |  Essa configuração especifica a porcentagem de chamadores a serem direcionados durante cada etapa da implantação.  No SDK e na [Referência da API do AWS AppConfig](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_CreateDeploymentStrategy.html), `step percentage` é chamado de `growth factor`.   | 
|  Tempo de implantação  |  Essa configuração especifica o período de tempo durante o qual é AWS AppConfig implantado nos hosts. Isso não é um valor de tempo limite. É uma janela de tempo durante a qual a implantação é processada em intervalos. | 
|  Tempo de incorporação  |  Essa configuração especifica a quantidade de tempo que AWS AppConfig monitora os CloudWatch alarmes da Amazon após a configuração ter sido implantada em 100% de suas metas, antes de considerar que a implantação foi concluída. Se um alarme for acionado durante esse período, o AWS AppConfig reverterá a implantação. Você deve configurar as permissões AWS AppConfig para reverter com base nos CloudWatch alarmes. Para obter mais informações, consulte [Configurar permissões para reversão automática](setting-up-appconfig.md#getting-started-with-appconfig-cloudwatch-alarms-permissions).  | 
|  0 hora  |  0%  | 
|  2 horas  |  20%  | 
|  4 horas  |  40%  | 
|  6 horas  |  60%  | 
|  8 horas  |  80%  | 
|  10 horas  |  100%  | 

Você pode escolher uma estratégia predefinida incluída AWS AppConfig ou criar a sua própria. 

**nota**  
AWS AppConfig O Agent (versão 2.0.136060 ou posterior) oferece suporte à implantação de sinalizadores de recursos ou dados de configuração de formato livre em segmentos específicos ou usuários individuais durante uma implantação gradual. As implantações graduais baseadas em entidades garantem que, quando um usuário ou segmento recebe uma versão de configuração, ele continue recebendo a mesma versão durante todo o período de implantação, independentemente de qual recurso computacional atenda às suas solicitações. Para obter mais informações, consulte [Usando o AWS AppConfig Agent para implantações graduais baseadas em usuários ou entidades](appconfig-agent-how-to-use.md#appconfig-entity-based-gradual-deployments).

**Topics**
+ [Usar estratégias de implantação predefinidas](appconfig-creating-deployment-strategy-predefined.md)
+ [Criar uma estratégia de implantação](appconfig-creating-deployment-strategy-create.md)

# Usar estratégias de implantação predefinidas
<a name="appconfig-creating-deployment-strategy-predefined"></a>

AWS AppConfig inclui estratégias de implantação predefinidas para ajudá-lo a implantar rapidamente uma configuração. Em vez de criar suas próprias estratégias, é possível escolher uma das seguintes opções ao implantar uma configuração.


****  

| Estratégia de implantação | Description | 
| --- | --- | 
|  AppConfig. PercentEvery Linear 20 6 minutos  | **AWS recomendado**: Essa estratégia implanta a configuração para 20% de todos os destinos a cada seis minutos para uma implantação de 30 minutos. O sistema monitora os CloudWatch alarmes da Amazon por 30 minutos. Se nenhum alarme for recebido nesse período, a implantação será concluída. Se um alarme for acionado durante esse período, AWS AppConfig reverte a implantação.Recomendamos usar essa estratégia para implantações de produção porque ela se alinha às AWS melhores práticas e inclui ênfase adicional na segurança da implantação devido à sua longa duração e tempo de cozimento.  | 
|  AppConfig. Canário 10 por cento 20 minutos  | **AWS recomendado**: Essa estratégia processa a implantação exponencialmente usando um fator de crescimento de 10% durante 20 minutos. O sistema monitora CloudWatch os alarmes por 10 minutos. Se nenhum alarme for recebido nesse período, a implantação será concluída. Se um alarme for acionado durante esse período, AWS AppConfig reverte a implantação.Recomendamos usar essa estratégia para implantações de produção porque ela se alinha às AWS melhores práticas para implantações de configuração.  | 
|  AppConfig.AllAtOnce  | **Rápida**: Essa estratégia implanta a configuração em todos os destinos de forma imediata. O sistema monitora CloudWatch os alarmes por 10 minutos. Se nenhum alarme for recebido nesse período, a implantação será concluída. Se um alarme for acionado durante esse período, o AWS AppConfig reverterá a implantação.   | 
|  AppConfig. PercentEvery Linear 50 30 segundos  | **Teste/demonstração**: Essa estratégia implanta a configuração para metade de todos os destinos a cada 30 segundos para uma implantação de um minuto. O sistema monitora os CloudWatch alarmes da Amazon por 1 minuto. Se nenhum alarme for recebido nesse período, a implantação será concluída. Se um alarme for acionado durante esse período, AWS AppConfig reverte a implantação.Recomendamos usar esta estratégia apenas para fins de teste ou demonstração, pois ela tem uma curta duração e tempo de incorporação.  | 

# Criar uma estratégia de implantação
<a name="appconfig-creating-deployment-strategy-create"></a>

Se não quiser utilizar uma das estratégias de implantação predefinidas, você poderá criar uma. Você pode criar um máximo de 20 estratégias de implantação. Ao implantar uma configuração, você pode escolher a estratégia de implantação mais adequada para o aplicativo e o ambiente.

## Criação de uma estratégia de AWS AppConfig implantação (console)
<a name="appconfig-creating-deployment-strategy-create-console"></a>

Use o procedimento a seguir para criar uma estratégia de AWS AppConfig implantação usando o AWS Systems Manager console.

**Como criar uma estratégia de implantação**

1. Abra o AWS Systems Manager console em [https://console.aws.amazon.com/systems-manager/appconfig/](https://console.aws.amazon.com/systems-manager/appconfig/).

1. No painel de navegação, escolha **Estratégias de implantação** e selecione **Criar estratégia de implantação**.

1. Em **Name (Nome)**, insira um nome para a estratégia de implantação.

1. Em **Description (Descrição)**, insira informações sobre a estratégia de implantação.

1. Em **Deployment type (Tipo de implantação)**, selecione um tipo.

1. Em **Step percentage (Porcentagem de etapa)**, escolha a porcentagem de chamadores a serem direcionados durante cada etapa da implantação. 

1. Em **Deployment time (Tempo de implantação)**, insira a duração total da implantação em minutos ou horas. 

1. Em **Bake time**, insira o tempo total, em minutos ou horas, para monitorar CloudWatch os alarmes da Amazon antes de prosseguir para a próxima etapa de uma implantação ou antes de considerar que a implantação foi concluída. 

1. Na seção **Tags**, insira uma chave e um valor opcional. Você pode especificar um máximo de 50 tags para um recurso. 

1. Escolha **Create deployment strategy (Criar estratégia de implantação)**.

**Importante**  
Se você criou um perfil de configuração para AWS CodePipeline, deverá criar um pipeline CodePipeline que especifique AWS AppConfig como o *provedor de implantação*. Você não precisa executar [Implantar uma configuração](appconfig-deploying.md). No entanto, você deve configurar um cliente para receber atualizações de configuração do aplicativo conforme descrito em [Recuperando dados de configuração sem AWS AppConfig o Agente](about-data-plane.md). Para obter informações sobre a criação de um pipeline que especifica AWS AppConfig como provedor de implantação, consulte [Tutorial: Criar um pipeline usado AWS AppConfig como provedor de implantação](https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-AppConfig.html) no *Guia do AWS CodePipeline usuário*. 

Vá para [Implantar uma configuração](appconfig-deploying.md).

## Criação de uma estratégia de AWS AppConfig implantação (linha de comando)
<a name="appconfig-creating-deployment-strategy-create-commandline"></a>

O procedimento a seguir descreve como usar o AWS CLI (no Linux ou no Windows) ou Ferramentas da AWS para PowerShell criar uma estratégia de AWS AppConfig implantação.

**Para criar uma estratégia de implantação passo a passo**

1. Abra AWS CLI o.

1. Execute o seguinte comando para criar uma estratégia de implantação. 

------
#### [ 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_AWS 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_AWS 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_AWS 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
   ```

------

   O sistema retorna informações como estas.

------
#### [ 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 AWS 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 AWS 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 AWS 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
   ```

------

# Implantar uma configuração
<a name="appconfig-deploying"></a>

Depois de [criar os artefatos necessários](https://docs.aws.amazon.com/appconfig/latest/userguide/creating-feature-flags-and-configuration-data.html) para trabalhar com sinalizadores de recursos e dados de configuração de formato livre, você pode criar uma nova implantação usando o Console de gerenciamento da AWS, o ou o AWS CLI SDK. Iniciar uma implantação em AWS AppConfig chama a operação [StartDeployment](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_StartDeployment.html)da API. Essa chamada inclui o AWS AppConfig aplicativo, o ambiente, o perfil IDs de configuração e (opcionalmente) a versão dos dados de configuração a serem implantados. A chamada também inclui o ID da estratégia de implantação a ser usada, que determina como os dados de configuração são implantados.

Se você implantar segredos armazenados em AWS Secrets Manager objetos do Amazon Simple Storage Service (Amazon S3) criptografados com uma chave gerenciada pelo cliente ou parâmetros de cadeia de caracteres seguros armazenados AWS Systems Manager no Parameter Store criptografados com uma chave gerenciada pelo cliente, você deverá especificar um valor para o parâmetro. `KmsKeyIdentifier` Se sua configuração não estiver criptografada ou estiver criptografada com um Chave gerenciada pela AWS, não é necessário especificar um valor para o `KmsKeyIdentifier` parâmetro.

**nota**  
O valor especificado para `KmsKeyIdentifier` deve ser uma chave gerenciada pelo cliente. Não precisa ser a mesma chave que você usou para criptografar sua configuração.  
Quando você inicia uma implantação com um`KmsKeyIdentifier`, a política de permissão anexada ao seu diretor AWS Identity and Access Management (IAM) deve permitir a `kms:GenerateDataKey` operação.

AWS AppConfig monitora a distribuição para todos os hosts e relata o status. Se uma distribuição falhar, AWS AppConfig reverte a configuração.

**nota**  
Você só pode implantar uma única configuração por vez em determinado ambiente. No entanto, pode implantar uma única configuração em ambientes diferentes ao mesmo tempo.

## Implantar uma configuração (console)
<a name="appconfig-deploying-console"></a>

Use o procedimento a seguir para implantar uma AWS AppConfig configuração usando o AWS Systems Manager console.

**Como implantar uma configuração usando o console**

1. Abra o AWS Systems Manager console em [https://console.aws.amazon.com/systems-manager/appconfig/](https://console.aws.amazon.com/systems-manager/appconfig/).

1. No painel de navegação, escolha **Aplicações** e selecione uma aplicação que você criou em [Criando um namespace para seu aplicativo no AWS AppConfig](appconfig-creating-namespace.md).

1. Na guia **Ambientes**, use o botão de opção para escolher um ambiente e, depois, selecione **Visualizar detalhes**.

1. Selecione **Iniciar implantação**.

1. Em **Configuration (Configuração)**, escolha uma configuração na lista.

1. Dependendo da origem da configuração, use a lista de versões para escolher a versão que deseja implantar. 

1. Em **Deployment strategy (Estratégia de implantação)**, escolha uma estratégia da lista.

1. (Opcional) Em **Descrição da implantação**, insira uma descrição. 

1. Para **opções adicionais de criptografia**, escolha uma AWS Key Management Service chave na lista.

1. (Opcional) Na seção **Tags**, escolha **Adicionar nova tag** e insira uma chave e um valor opcional. Você pode especificar um máximo de 50 tags para um recurso. 

1. Selecione **Iniciar implantação**.

## Implantar uma configuração (linha de comando)
<a name="appconfig-deploying-commandline"></a>

O procedimento a seguir descreve como usar o AWS CLI (no Linux ou no Windows) ou Ferramentas da AWS para PowerShell implantar uma AWS AppConfig configuração.

**Para implantar uma configuração passo a passo**

1. Abra AWS CLI o.

1. Execute o comando a seguir para implantar uma configuração. 

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

   ```
   aws appconfig start-deployment \
     --application-id The_application_ID \
     --environment-id The_environment_ID \
     --deployment-strategy-id The_deployment_strategy_ID \
     --configuration-profile-id The_configuration_profile_ID \
     --configuration-version The_configuration_version_to_deploy \
     --description A_description_of_the_deployment \
     --tags User_defined_key_value_pair_metadata_of_the_deployment
   ```

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

   ```
   aws appconfig start-deployment ^
     --application-id The_application_ID ^
     --environment-id The_environment_ID ^
     --deployment-strategy-id The_deployment_strategy_ID ^
     --configuration-profile-id The_configuration_profile_ID ^
     --configuration-version The_configuration_version_to_deploy ^
     --description A_description_of_the_deployment ^
     --tags User_defined_key_value_pair_metadata_of_the_deployment
   ```

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

   ```
   Start-APPCDeployment `
     -ApplicationId The_application_ID `
     -ConfigurationProfileId The_configuration_profile_ID `
     -ConfigurationVersion The_configuration_version_to_deploy `
     -DeploymentStrategyId The_deployment_strategy_ID `
     -Description A_description_of_the_deployment `
     -EnvironmentId The_environment_ID `
     -Tag Hashtable_type_user_defined_key_value_pair_metadata_of_the_deployment
   ```

------

   O sistema retorna informações como estas.

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

   ```
   {   
      "ApplicationId": "The ID of the application that was deployed",
      "EnvironmentId" : "The ID of the environment",
      "DeploymentStrategyId": "The ID of the deployment strategy that was deployed",
      "ConfigurationProfileId": "The ID of the configuration profile that was deployed",
      "DeploymentNumber": The sequence number of the deployment,
      "ConfigurationName": "The name of the configuration",
      "ConfigurationLocationUri": "Information about the source location of the configuration",
      "ConfigurationVersion": "The configuration version that was deployed",
      "Description": "The description of the deployment",
      "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 to receive a deployed configuration during each interval,
      "FinalBakeTimeInMinutes": Time AWS AppConfig monitored for alarms before considering the deployment to be complete,
      "State": "The state of the deployment",  
   
      "EventLog": [ 
         { 
            "Description": "A description of the deployment event",
            "EventType": "The type of deployment event",
            "OccurredAt": The date and time the event occurred,
            "TriggeredBy": "The entity that triggered the deployment event"
         }
      ],
   
      "PercentageComplete": The percentage of targets for which the deployment is available,
      "StartedAt": The time the deployment started,
      "CompletedAt": The time the deployment completed   
   }
   ```

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

   ```
   {
      "ApplicationId": "The ID of the application that was deployed",
      "EnvironmentId" : "The ID of the environment",
      "DeploymentStrategyId": "The ID of the deployment strategy that was deployed",
      "ConfigurationProfileId": "The ID of the configuration profile that was deployed",
      "DeploymentNumber": The sequence number of the deployment,
      "ConfigurationName": "The name of the configuration",
      "ConfigurationLocationUri": "Information about the source location of the configuration",
      "ConfigurationVersion": "The configuration version that was deployed",
      "Description": "The description of the deployment",
      "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 to receive a deployed configuration during each interval,
      "FinalBakeTimeInMinutes": Time AWS AppConfig monitored for alarms before considering the deployment to be complete,
      "State": "The state of the deployment",  
   
      "EventLog": [ 
         { 
            "Description": "A description of the deployment event",
            "EventType": "The type of deployment event",
            "OccurredAt": The date and time the event occurred,
            "TriggeredBy": "The entity that triggered the deployment event"
         }
      ],
   
      "PercentageComplete": The percentage of targets for which the deployment is available,
      "StartedAt": The time the deployment started,
      "CompletedAt": The time the deployment completed 
   }
   ```

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

   ```
   ApplicationId               : The ID of the application that was deployed
   CompletedAt                 : The time the deployment completed
   ConfigurationLocationUri    : Information about the source location of the configuration
   ConfigurationName           : The name of the configuration
   ConfigurationProfileId      : The ID of the configuration profile that was deployed
   ConfigurationVersion        : The configuration version that was deployed
   ContentLength               : Runtime of the deployment 
   DeploymentDurationInMinutes : Total amount of time the deployment lasted
   DeploymentNumber            : The sequence number of the deployment
   DeploymentStrategyId        : The ID of the deployment strategy that was deployed
   Description                 : The description of the deployment
   EnvironmentId               : The ID of the environment that was deployed
   EventLog                    : {Description : A description of the deployment event, EventType : The type of deployment event, OccurredAt : The date and time the event occurred,
            TriggeredBy : The entity that triggered the deployment event}
   FinalBakeTimeInMinutes      : Time AWS AppConfig monitored 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 grew over time
   HttpStatusCode              : HTTP Status of the runtime
   PercentageComplete          : The percentage of targets for which the deployment is available
   ResponseMetadata            : Runtime Metadata
   StartedAt                   : The time the deployment started
   State                       : The state of the deployment
   ```

------

# Implantando AWS AppConfig configurações usando CodePipeline
<a name="appconfig-integration-codepipeline"></a>

AWS AppConfig é uma ação de implantação integrada para AWS CodePipeline (CodePipeline). CodePipeline é um serviço de entrega contínua totalmente gerenciado que ajuda você a automatizar seus pipelines de lançamento para atualizações rápidas e confiáveis de aplicativos e infraestrutura. CodePipeline automatiza as fases de criação, teste e implantação do seu processo de lançamento sempre que há uma alteração no código, com base no modelo de lançamento que você define. Para ter mais informações, consulte [O que é o AWS CodePipeline?](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html)

A integração AWS AppConfig com CodePipeline oferece os seguintes benefícios:
+ Os clientes que CodePipeline costumavam gerenciar a orquestração agora têm um meio leve de implantar alterações de configuração em seus aplicativos sem precisar implantar toda a base de código.
+ Os clientes que desejam usar AWS AppConfig para gerenciar implantações de configuração, mas estão limitados porque AWS AppConfig não oferecem suporte ao código ou armazenamento de configuração atual, agora têm opções adicionais. CodePipeline suporta AWS CodeCommit, GitHub, e BitBucket (para citar alguns).

**nota**  
AWS AppConfig a integração com só CodePipeline é suportada Regiões da AWS onde CodePipeline está [disponível](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/).

## Como funciona a integração
<a name="appconfig-integration-codepipeline-how"></a>

Você começa instalando e configurando. CodePipeline Isso inclui adicionar sua configuração a um armazenamento CodePipeline de código compatível. Em seguida, você configura seu AWS AppConfig ambiente executando as seguintes tarefas:
+ [Crie um namespace e um perfil de configuração](https://docs.aws.amazon.com/appconfig/latest/userguide/creating-feature-flags-and-configuration-data.html)
+ [Escolha uma estratégia de implantação predefinida ou crie sua própria](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-creating-deployment-strategy.html)

Depois de concluir essas tarefas, você cria um pipeline CodePipeline que especifica AWS AppConfig como o *provedor de implantação*. Em seguida, você pode fazer uma alteração na sua configuração e enviá-la para o seu armazenamento de CodePipeline código. O upload da nova configuração inicia automaticamente uma nova implantação em CodePipeline. Depois da conclusão da implantação, você pode verificar as alterações. Para obter informações sobre a criação de um pipeline que especifica AWS AppConfig como provedor de implantação, consulte [Tutorial: Criar um pipeline usado AWS AppConfig como provedor de implantação](https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-AppConfig.html) no *Guia do AWS CodePipeline usuário*. 

# Reverter uma configuração
<a name="appconfig-deploying-reverting"></a>

Durante uma implantação, é possível atenuar situações em que dados de configuração malformados ou incorretos causam erros na aplicação usando reversões automáticas (se um alarme for acionado durante uma implantação) ou revertendo os dados de configuração para a versão anterior (se a implantação for concluída com êxito).

Para reversões automáticas, você pode usar uma combinação de [estratégias de AWS AppConfig implantação](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-creating-deployment-strategy.html) e alarmes da Amazon CloudWatch . Depois de configurado, se um ou mais CloudWatch alarmes entrarem no `ALARM` estado durante uma implantação, AWS AppConfig reverterá automaticamente seus dados de configuração para a versão anterior, evitando interrupções ou erros no aplicativo. Para começar, consulte o [Configurar permissões para reversão automática](setting-up-appconfig.md#getting-started-with-appconfig-cloudwatch-alarms-permissions).

**nota**  
Você também pode reverter uma configuração chamando a operação da [StopDeployment](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_StopDeployment.html)API enquanto a implantação ainda está em andamento.

Para implantações concluídas com êxito, AWS AppConfig também oferece suporte à reversão dos dados de configuração para uma versão anterior usando o `AllowRevert` parâmetro com a operação da [StopDeployment](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_StopDeployment.html)API. Para alguns clientes, a reversão para uma configuração anterior após uma implantação bem-sucedida garante que os dados sejam os mesmos de antes da implantação. A reversão também ignora os monitores de alarme, o que pode impedir o roll forward durante uma emergência na aplicação.

**Importante**  
Se você ligar `StopDeployment` com o `AllowRevert` parâmetro ativado, AWS AppConfig reverterá a implantação somente se a implantação for bem-sucedida nas últimas 72 horas. Depois de 72 horas, a implantação não pode mais ser revertida. É necessário criar uma implantação.

Veja um detalhamento da funcionalidade `StopDeployment` com base em diferentes situações.

1. Se `StopDeployment` for chamada em uma implantação em andamento, o estado de implantação resultante será `ROLLED_BACK`.

1. Se `StopDeployment` (com `AllowRevert`) for chamada em uma implantação em andamento, o estado de implantação resultante será `ROLLED_BACK`.

1. Se `StopDeployment` for chamada em uma implantação concluída, uma `BadRequestException` será lançada.

1. Se `StopDeployment` (com `AllowRevert`) for chamada em uma implantação concluída, o estado de implantação resultante será `REVERTED`.

1. Se `StopDeployment` (com `AllowRevert`) for chamada em uma implantação concluída após 72 horas, uma `BadRequestException` será lançada.

Você pode usar o AWS CLI para chamar a [StopDeployment](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/appconfig/stop-deployment.html)operação com o `AllowRevert` parâmetro. Aqui está um exemplo de AWS CLI comando que inclui o `AllowRevert` parâmetro.

```
aws appconfig stop-deployment \
    --application-id 339ohji \
    --environment-id 54j1r29 \
    --deployment-number 2 \
    --allow-revert
```