

# Usar a implantação contínua do CloudFront para testar com segurança as alterações na configuração da CDN
<a name="continuous-deployment"></a>

Com a *implantação contínua* do Amazon CloudFront, você pode implantar com segurança as alterações em sua configuração de CDN realizando testes iniciais com um subconjunto do tráfego de produção. Você pode usar uma *distribuição de preparação* e uma *política de implantação contínua* para enviar tráfego de visualizadores reais (produção) para a nova configuração de CDN e validar se ela funciona conforme o esperado. Você pode monitorar o desempenho da nova configuração em tempo real e promover a nova configuração para encaminhar todo o tráfego pela *distribuição primária* quando estiver pronto.

O diagrama a seguir mostra a vantagem de usar a implantação contínua do CloudFront. Sem ela, você teria que testar as alterações na configuração de CDN com tráfego simulado. Com a implantação contínua, você pode testar as alterações com um subconjunto do tráfego de produção, depois promover as alterações para a distribuição primária quando estiver pronto.

![\[Gráfico da implantação contínua do CloudFront que envia o tráfego de produção a uma distribuição temporária.\]](http://docs.aws.amazon.com/pt_br/AmazonCloudFront/latest/DeveloperGuide/images/cloudfront-continuous-deployment.png)


Saiba mais sobre como trabalhar com implantação contínua nos tópicos a seguir.

**Topics**
+ [

# Fluxo de trabalho de implantação contínua do CloudFront
](continuous-deployment-workflow.md)
+ [

# Trabalhar com uma distribuição de preparação e uma política de implantação contínua
](working-with-staging-distribution-continuous-deployment-policy.md)
+ [

# Monitorar uma distribuição de preparação
](monitoring-staging-distribution.md)
+ [

# Saiba como funciona a implantação contínua
](understanding-continuous-deployment.md)
+ [

# Cotas e outras considerações para implantação contínua
](continuous-deployment-quotas-considerations.md)

# Fluxo de trabalho de implantação contínua do CloudFront
<a name="continuous-deployment-workflow"></a>

O fluxo de trabalho de alto nível a seguir explica como testar e implantar com segurança as alterações de configuração com a implantação contínua do CloudFront.

1. Escolha a distribuição que deseja usar como *distribuição primária*. A distribuição primária é aquela que está lidando com o tráfego de produção no momento.

1. Da distribuição primária, crie uma *distribuição de preparação*. Uma distribuição de preparação começa como uma cópia da distribuição primária.

1. Crie uma *configuração de tráfego* dentro de uma *política de implantação contínua* e anexe-a à distribuição primária. Isso determina como o CloudFront direciona o tráfego para a distribuição de preparação. Para obter mais informações sobre o roteamento de solicitações para uma distribuição de preparação, consulte [Encaminhar solicitações para a distribuição de preparação](understanding-continuous-deployment.md#understanding-continuous-deployment-routing).

1. Atualize a configuração da distribuição de preparação. Para obter mais informações sobre as configurações que você pode atualizar, consulte [Atualizar distribuições principais e de preparação](understanding-continuous-deployment.md#updating-staging-and-primary-distributions).

1. Monitore a distribuição de preparação para determinar se as alterações de configuração funcionam conforme o esperado. Para obter mais informações sobre o monitoramento de uma distribuição de preparação, consulte [Monitorar uma distribuição de preparação](monitoring-staging-distribution.md).

   Ao monitorar a distribuição de preparação, você pode:
   + Atualizar a configuração da distribuição de preparação novamente para continuar testando alterações de configuração.
   + Atualizar a política de implantação contínua (configuração de tráfego) para enviar mais ou menos tráfego para a distribuição de preparação.

1. Quando estiver satisfeito com o desempenho da distribuição de preparação, *promova* a configuração da distribuição de preparação para a distribuição primária. Essa ação copiará a configuração da distribuição de preparação para a distribuição primária. Isso também desativará a política de implantação contínua, o que significa que o CloudFront encaminhará todo o tráfego para a distribuição primária.

Você pode criar uma automação que monitore o desempenho da distribuição de preparação (etapa 5) e promova a configuração automaticamente (etapa 6) quando determinados critérios forem atendidos.

Depois de promover uma configuração, você pode reutilizar a mesma distribuição de preparação na próxima vez que quiser testar uma alteração na configuração.

Para obter mais informações sobre como trabalhar com distribuições de preparação e políticas de implantação contínua no console do CloudFront, na AWS CLI ou na API do CloudFront, consulte a seção a seguir.

# Trabalhar com uma distribuição de preparação e uma política de implantação contínua
<a name="working-with-staging-distribution-continuous-deployment-policy"></a>

É possível criar, atualizar e modificar distribuições de preparação e políticas de implantação contínua usando o console do CloudFront, a AWS Command Line Interface (AWS CLI) ou a API do CloudFront.

## Criar com uma distribuição de preparação e uma política de implantação contínua
<a name="create-staging-distribution-continuous-deployment-policy"></a>

Os procedimentos a seguir mostram como criar uma distribuição de preparação com uma política de implantação contínua.

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

É possível criar uma distribuição de preparação com uma política de implantação contínua usando o Console de gerenciamento da AWS.

**Como criar uma distribuição de preparação e uma política de implantação contínua (console)**

1. Faça login no Console de gerenciamento da AWS e abra o console do CloudFront em [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. No painel de navegação, escolha **Distribuições**.

1. Escolha a distribuição que deseja usar como *distribuição primária*. A distribuição primária é aquela que lida atualmente com o tráfego de produção, aquela a partir da qual você criará a distribuição de preparação.

1. Na seção **Continuous deployment** (Implantação contínua), escolha **Create staging distribution** (Criar distribuição de preparação). Isso abre o assistente **Create staging distribution** (Criar distribuição de preparação).

1. No assistente **Create staging distribution** (Criar distribuição de preparação), faça o seguinte:

   1. (Opcional) Digite uma descrição para a distribuição de preparação.

   1. Escolha **Próximo**.

   1. Modifique a configuração da distribuição de preparação. Para obter mais informações sobre as configurações que você pode atualizar, consulte [Atualizar distribuições principais e de preparação](understanding-continuous-deployment.md#updating-staging-and-primary-distributions).

      Quando terminar de modificar a configuração da distribuição de preparação, escolha **Next** (Avançar).

   1. Use o console para especificar a **Traffic configuration** (Configuração de tráfego). Isso determina como o CloudFront direciona o tráfego para a distribuição de preparação. (O CloudFront armazena a configuração de tráfego em uma *política de implantação contínua*.)

      Para obter mais informações sobre as opções para uma **Traffic configuration** (Configuração de tráfego), consulte [Encaminhar solicitações para a distribuição de preparação](understanding-continuous-deployment.md#understanding-continuous-deployment-routing).

      Quando você concluir a **Traffic configuration** (Configuração de tráfego), escolha **Next** (Avançar).

   1. Revise a configuração da distribuição de preparação, incluindo a configuração de tráfego, depois escolha **Create staging distribution** (Criar distribuição de preparação).

Quando você concluir o assistente **Create staging distribution** (Criar distribuição de preparação) no console do CloudFront, o CloudFront fará o seguinte:
+ Criará uma distribuição de preparação com as configurações que você especificou (na etapa 5c)
+ Criará uma política de implantação contínua com a configuração de tráfego que você especificou (na etapa 5d)
+ Anexará a política de implantação contínua à distribuição primária que você usou para criar a distribuição de preparação

Quando a configuração da distribuição primária, com a política de implantação contínua anexada, é implantada em locais da borda, o CloudFront começa a enviar a parte especificada do tráfego para a distribuição de preparação com base na configuração de tráfego.

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

Para criar uma distribuição de preparação e uma política de implantação contínua com a AWS CLI, use os procedimentos a seguir.

**Como criar uma distribuição de preparação (CLI)**

1. Use os comandos **aws cloudfront get-distribution** e **grep** juntos para obter o valor de `ETag` da distribuição que você deseja usar como *distribuição primária*. A distribuição primária é aquela que lida atualmente com o tráfego de produção, da qual você criará a distribuição de preparação.

   O seguinte comando mostra um exemplo. No exemplo a seguir, substitua *primary\$1distribution\$1ID* pelo ID da distribuição primária. 

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

   Copie o valor de `ETag` porque ele será necessário na próxima etapa.

1. Use o comando **aws cloudfront copy-distribution** para criar uma distribuição de preparação. O exemplo de comando a seguir usa caracteres de escape (\$1) e quebras de linha para facilitar a leitura, mas você deve omiti-los do comando. No exemplo de comando a seguir:
   + Substitua *primary\$1distribution\$1ID* pelo ID da distribuição primária.
   + Substitua *primary\$1distribution\$1ETag* pelo valor de `ETag` da distribuição primária (que você obteve na etapa anterior).
   + (Opcional) Substitua *CLI\$1example* pelo ID de referência do chamador desejado.

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

   A saída do comando mostra informações sobre a distribuição de preparação e sua configuração. Copie o nome de domínio do CloudFront da distribuição de preparação porque ele será necessário na próxima etapa.

**Como criar uma política de implantação contínua (CLI com arquivo de entrada)**

1. Use o comando a seguir para criar um arquivo chamado `continuous-deployment-policy.yaml` que contém todos os parâmetros de entrada para o comando **create-continuous-deployment-policy**. O comando a seguir usa caracteres de escape (\$1) e quebras de linha para facilitar a leitura, mas você deve omiti-los do comando.

   ```
   aws cloudfront create-continuous-deployment-policy --generate-cli-skeleton yaml-input \
                                                      > continuous-deployment-policy.yaml
   ```

1. Abra o arquivo chamado `continuous-deployment-policy.yaml` que você acabou de criar. Edite o arquivo para especificar as configurações de política de implantação contínua desejadas e salve o arquivo. Ao editar o arquivo:
   + Na seção `StagingDistributionDnsNames`, selecione:
     + Altere o valor de `Quantity` para `1`.
     + Em `Items`, cole o nome de domínio do CloudFront da distribuição de preparação (que você salvou em uma etapa anterior).
   + Na seção `TrafficConfig`, selecione:
     + Escolha um `Type`: `SingleWeight` ou `SingleHeader`.
     + Remova as configurações do outro tipo. Por exemplo, se você quiser uma configuração de tráfego baseada em peso, defina `Type` como `SingleWeight`, depois remova as configurações de `SingleHeaderConfig`.
     + Para usar uma configuração de tráfego baseada em peso, defina o valor de `Weight` como um número decimal entre `.01` (1%) e `.15` (15%).

     Para obter mais informações sobre essas opções em `TrafficConfig`, consulte [Encaminhar solicitações para a distribuição de preparação](understanding-continuous-deployment.md#understanding-continuous-deployment-routing) e [Persistência da sessão para configurações baseadas em peso](understanding-continuous-deployment.md#understanding-continuous-deployment-sessions).

1. Use o seguinte comando para criar a política de implantação contínua usando parâmetros de entrada do arquivo `continuous-deployment-policy.yaml`.

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

   Copie o valor de `Id` na saída do comando. Esse é o ID da política de implantação contínua, que será necessário na próxima etapa.

**Como anexar uma política de implantação contínua a uma distribuição primária (CLI com arquivo de entrada)**

1. Use o comando a seguir para salvar a configuração da distribuição primária em um arquivo chamado `primary-distribution.yaml`. Substitua *primary\$1distribution\$1ID* pelo ID da distribuição primária.

   ```
   aws cloudfront get-distribution-config --id primary_distribution_ID --output yaml > primary-distribution.yaml
   ```

1. Abra o arquivo chamado `primary-distribution.yaml` que você acabou de criar. Edite o arquivo fazendo as seguintes alterações:
   + Cole o ID da política de implantação contínua (que você copiou em uma etapa anterior) no campo `ContinuousDeploymentPolicyId`.
   + Renomeie o campo `ETag` para `IfMatch`, mas não altere o valor do campo.

   Ao concluir, salve o arquivo.

1. Use o comando a seguir para atualizar a distribuição primária para utilizar a política de implantação contínua. Substitua *primary\$1distribution\$1ID* pelo ID da distribuição primária.

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

Quando a configuração da distribuição primária, com a política de implantação contínua anexada, é implantada em locais da borda, o CloudFront começa a enviar a parte especificada do tráfego para a distribuição de preparação com base na configuração de tráfego.

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

Para criar uma distribuição de preparação e uma política de implantação contínua com a API do CloudFront, use as seguintes operações de API:
+ [CopyDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CopyDistribution.html)
+ [CreateContinuousDeploymentPolicy](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateContinuousDeploymentPolicy.html)

Para obter mais informações sobre os campos especificados nessas chamadas de API, consulte o seguinte:
+ [Encaminhar solicitações para a distribuição de preparação](understanding-continuous-deployment.md#understanding-continuous-deployment-routing)
+ [Persistência da sessão para configurações baseadas em peso](understanding-continuous-deployment.md#understanding-continuous-deployment-sessions)
+ A documentação de referência da API do AWS SDK ou de outro cliente de API

Depois de criar uma distribuição de preparação e uma política de implantação contínua, use [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html) (na distribuição primária) para anexar a política de implantação contínua à distribuição primária.

------

## Atualizar uma distribuição de preparação
<a name="update-staging-distribution"></a>

Os procedimentos a seguir mostram como atualizar uma distribuição de preparação com uma política de implantação contínua.

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

É possível atualizar determinadas configurações para as distribuições principal e de preparação. Para obter mais informações, consulte [Atualizar distribuições principais e de preparação](understanding-continuous-deployment.md#updating-staging-and-primary-distributions).

**Como atualizar uma distribuição de preparação (console)**

1. Abra o console do CloudFront em [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. No painel de navegação, escolha **Distribuições**.

1. Escolha a distribuição primária. É a distribuição que lida atualmente com o tráfego de produção, aquela da qual você criou a distribuição de preparação.

1. Escolha **View staging distribution** (Exibir distribuição de preparação).

1. Use o console para modificar a configuração da distribuição de preparação. Para obter mais informações sobre as configurações que você pode atualizar, consulte [Atualizar distribuições principais e de preparação](understanding-continuous-deployment.md#updating-staging-and-primary-distributions).

Assim que a configuração da distribuição de preparação é implantada em locais da borda, ela entra em vigor para o tráfego de entrada que é roteado para a distribuição de preparação.

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

**Como atualizar uma distribuição de preparação (CLI com arquivo de entrada)**

1. Use o comando a seguir para salvar a configuração da distribuição de preparação em um arquivo chamado `staging-distribution.yaml`. Substitua *staging\$1distribution\$1ID* pelo ID da distribuição de preparação.

   ```
   aws cloudfront get-distribution-config --id staging_distribution_ID --output yaml > staging-distribution.yaml
   ```

1. Abra o arquivo chamado `staging-distribution.yaml` que você acabou de criar. Edite o arquivo fazendo as seguintes alterações:
   + Modifique a configuração da distribuição de preparação. Para obter mais informações sobre as configurações que você pode atualizar, consulte [Atualizar distribuições principais e de preparação](understanding-continuous-deployment.md#updating-staging-and-primary-distributions).
   + Renomeie o campo `ETag` para `IfMatch`, mas não altere o valor do campo.

   Ao concluir, salve o arquivo.

1. Use o comando a seguir para atualizar a configuração da distribuição de preparação. Substitua *staging\$1distribution\$1ID* pelo ID da distribuição de preparação.

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

Assim que a configuração da distribuição de preparação é implantada em locais da borda, ela entra em vigor para o tráfego de entrada que é roteado para a distribuição de preparação.

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

Para atualizar a configuração de uma distribuição de preparação, use [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html) (na distribuição de preparação) para modificar a configuração da distribuição de preparação. Para obter mais informações sobre as configurações que você pode atualizar, consulte [Atualizar distribuições principais e de preparação](understanding-continuous-deployment.md#updating-staging-and-primary-distributions).

------

## Atualizar uma política de implantação contínua
<a name="update-continuous-deployment-policy"></a>

Os procedimentos a seguir mostram como atualizar uma política de implantação contínua.

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

É possível atualizar a configuração de tráfego de sua distribuição atualizando a política de implantação contínua.

**Como atualizar uma política de implantação contínua (console)**

1. Abra o console do CloudFront em [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. No painel de navegação, escolha **Distribuições**.

1. Escolha a distribuição primária. É a distribuição que lida atualmente com o tráfego de produção, aquela a partir da qual você criou a distribuição de preparação.

1. Na seção **Continuous deployment** (Implantação contínua), escolha **Edit policy** (Editar política).

1. Modifique a configuração de tráfego em uma política de implantação contínua. Ao concluir, escolha **Save changes**.

Quando a configuração da distribuição primária, com a política de implantação contínua atualizada, é implantada em locais da borda, o CloudFront começa a enviar tráfego para a distribuição de preparação com base na configuração de tráfego atualizada.

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

**Como atualizar uma política de implantação contínua (CLI com arquivo de entrada)**

1. Use o comando a seguir para salvar a configuração da política de implantação contínua em um arquivo chamado `continuous-deployment-policy.yaml`. Substitua *continuous\$1deployment\$1policy\$1ID* pelo ID da política de implantação contínua. O comando a seguir usa caracteres de escape (\$1) e quebras de linha para facilitar a leitura, mas você deve omiti-los do comando.

   ```
   aws cloudfront get-continuous-deployment-policy-config --id continuous_deployment_policy_ID \
                                                          --output yaml > continuous-deployment-policy.yaml
   ```

1. Abra o arquivo chamado `continuous-deployment-policy.yaml` que você acabou de criar. Edite o arquivo fazendo as seguintes alterações:
   + Modifique a configuração da política de implantação contínua como quiser. Por exemplo, você pode deixar de usar uma configuração de tráfego baseada em cabeçalho para passar a usar uma configuração de tráfego baseada em peso, ou você pode alterar a porcentagem de tráfego (peso) para uma configuração com base em peso. Para obter mais informações, consulte [Encaminhar solicitações para a distribuição de preparação](understanding-continuous-deployment.md#understanding-continuous-deployment-routing) e [Persistência da sessão para configurações baseadas em peso](understanding-continuous-deployment.md#understanding-continuous-deployment-sessions).
   + Renomeie o campo `ETag` para `IfMatch`, mas não altere o valor do campo.

   Ao concluir, salve o arquivo.

1. Use o comando a seguir para atualizar a política de implantação contínua. Substitua *continuous\$1deployment\$1policy\$1ID* pelo ID da política de implantação contínua. O comando a seguir usa caracteres de escape (\$1) e quebras de linha para facilitar a leitura, mas você deve omiti-los do comando.

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

Quando a configuração da distribuição primária, com a política de implantação contínua atualizada, é implantada em locais da borda, o CloudFront começa a enviar tráfego para a distribuição de preparação com base na configuração de tráfego atualizada.

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

Para atualizar uma política de implantação contínua, use [UpdateContinuousDeplantymentPolicy](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateContinuousDeploymentPolicy.html).

------

## Promover a configuração de uma distribuição de preparação
<a name="promote-staging-distribution-configuration"></a>

Os procedimentos a seguir mostram como promover uma configuração de distribuição de preparação.

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

Quando você *promove* uma distribuição de preparação, o CloudFront copia a configuração da distribuição de preparação para a distribuição primária. O CloudFront também desativará a política de implantação contínua e encaminhará todo o tráfego para a distribuição primária.

Depois de promover uma configuração, você pode reutilizar a mesma distribuição de preparação na próxima vez que quiser testar uma alteração na configuração.

**Como promover a configuração de uma distribuição de preparação (console)**

1. Abra o console do CloudFront em [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. No painel de navegação, escolha **Distribuições**.

1. Escolha a distribuição primária. É a distribuição que lida atualmente com o tráfego de produção, aquela a partir da qual você criou a distribuição de preparação.

1. Na seção **Continuous deployment** (Implantação contínua), escolha **Promote** (Promover).

1. Digite **confirm**, depois escolha **Promote** (Promover).

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

Quando você *promove* uma distribuição de preparação, o CloudFront copia a configuração da distribuição de preparação para a distribuição primária. O CloudFront também desativará a política de implantação contínua e encaminhará todo o tráfego para a distribuição primária.

Depois de promover uma configuração, você pode reutilizar a mesma distribuição de preparação na próxima vez que quiser testar uma alteração na configuração.

**Como promover a configuração de uma distribuição de preparação (CLI)**
+ Use o comando **aws cloudfront update-distribution-with-staging-config** para promover a configuração da distribuição de preparação para a distribuição primária. O exemplo de comando a seguir usa caracteres de escape (\$1) e quebras de linha para facilitar a leitura, mas você deve omiti-los do comando. No exemplo de comando a seguir:
  + Substitua *primary\$1distribution\$1ID* pelo ID da distribuição primária.
  + Substitua *staging\$1distribution\$1ID* pelo ID da distribuição de preparação.
  + Substitua *primary\$1distribution\$1ETag* e *staging\$1distribution\$1ETag* pelos valores de `ETag` das distribuições primária e de preparação. Certifique-se de que o valor da distribuição primária seja o primeiro, conforme mostrado no exemplo.

  ```
  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 ]

Para promover a configuração de uma distribuição de preparação para a distribuição primária, use [UpdateDistributionWithStagingConfig](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistributionWithStagingConfig.html).

------

# Monitorar uma distribuição de preparação
<a name="monitoring-staging-distribution"></a>

Para monitorar o desempenho de uma distribuição de preparação, você pode usar as mesmas [métricas, logs e relatórios](reports-and-monitoring.md) que o CloudFront fornece para todas as distribuições. Por exemplo:
+ Você pode visualizar as [métricas de distribuição padrão do CloudFront](viewing-cloudfront-metrics.md#monitoring-console.distributions) (como total de solicitações e taxa de erros) no console do CloudFront e [ativar métricas adicionais](viewing-cloudfront-metrics.md#monitoring-console.distributions-additional) (como taxa de acertos de cache e taxa de erros por código de status) por um custo adicional. Você também pode criar alarmes com base nessas métricas.
+ Você pode visualizar [logs padrão](AccessLogs.md) e [logs de acesso em tempo real](real-time-logs.md) para ter informações detalhadas sobre as solicitações recebidas pela distribuição de preparação. Os logs padrão contêm os dois campos a seguir que ajudam a identificar a distribuição primária para a qual a solicitação foi originalmente enviada antes do CloudFront encaminhá-la para a distribuição de preparação: `primary-distribution-id` e `primary-distribution-dns-name`.
+ Você pode visualizar e baixar [relatórios](reports.md) no console do CloudFront, por exemplo, o relatório de estatísticas de cache.

# Saiba como funciona a implantação contínua
<a name="understanding-continuous-deployment"></a>

Os tópicos a seguir explicam como funciona a implantação contínua do CloudFront.

**Topics**
+ [

## Encaminhar solicitações para a distribuição de preparação
](#understanding-continuous-deployment-routing)
+ [

## Persistência da sessão para configurações baseadas em peso
](#understanding-continuous-deployment-sessions)
+ [

## Atualizar distribuições principais e de preparação
](#updating-staging-and-primary-distributions)
+ [

## Distribuições primária e de preparação não compartilham cache
](#staging-and-primary-no-shared-cache)

## Encaminhar solicitações para a distribuição de preparação
<a name="understanding-continuous-deployment-routing"></a>

Se você usar a implantação contínua do CloudFront, não precisará alterar nada nas solicitações do visualizador. Os visualizadores não podem enviar solicitações diretamente para uma distribuição de preparação usando um nome DNS, endereço IP ou CNAME. Em vez disso, os visualizadores enviam solicitações para a distribuição primária (produção), e o CloudFront encaminha algumas dessas solicitações para a distribuição de preparação com base nas configurações de tráfego na política de implantação contínua. Há dois tipos de configurações de tráfego:

**Baseada em peso**  
Uma configuração baseada em peso direciona a porcentagem especificada de solicitações do visualizador para a distribuição de preparação. Ao usar uma configuração baseada em peso, você também pode ativar a *permanência da sessão*, o que ajuda a garantir que o CloudFront trate as solicitações do mesmo visualizador como parte de uma única sessão. Para obter mais informações, consulte [Persistência da sessão para configurações baseadas em peso](#understanding-continuous-deployment-sessions).

**Baseado em cabeçalho**  
Uma configuração baseada em cabeçalho direciona as solicitações para a distribuição de preparação quando a solicitação do visualizador contém um cabeçalho HTTP específico (você especifica o cabeçalho e o valor). As solicitações que não contêm o cabeçalho e o valor especificados são encaminhadas para a distribuição primária. Essa configuração é útil para testes locais ou quando você tem controle sobre as solicitações do visualizador.  
Os cabeçalhos roteados para sua distribuição de preparação devem conter o prefixo `aws-cf-cd-`.

## Persistência da sessão para configurações baseadas em peso
<a name="understanding-continuous-deployment-sessions"></a>

Ao usar uma configuração baseada em peso para direcionar tráfego a uma distribuição de preparação, você também pode ativar a *permanência da sessão*, o que ajuda a garantir que o CloudFront trate as solicitações do mesmo visualizador como parte de uma única sessão. Quando você ativa a permanência da sessão, o CloudFront define um cookie para que todas as solicitações do mesmo visualizador em uma única sessão sejam atendidas por uma distribuição, primária ou de preparação.

Ao ativar a permanência da sessão, você também pode especificar o *tempo ocioso*. Se o visualizador ficar inativo (não enviar solicitações) durante esse período, a sessão expirará e o CloudFront tratará as solicitações futuras desse visualizador como uma nova sessão. Especifique o tempo ocioso como um número em segundos, de 300 (cinco minutos) a 3.600 (uma hora).

Nos casos a seguir, o CloudFront redefine todas as sessões (até mesmo as ativas) e considera todas as solicitações como uma nova sessão:
+ Você desativa ou ativa a política de implantação contínua
+ Você desativa ou ativa a configuração de permanência da sessão

## Atualizar distribuições principais e de preparação
<a name="updating-staging-and-primary-distributions"></a>

Quando uma distribuição primária tem uma política de implantação contínua anexada, as seguintes alterações de configuração estão disponíveis para distribuições primárias e de preparação:
+ Todas as configurações de comportamento do cache, incluindo o comportamento padrão do cache
+ Todas as configurações de origem (origens e grupos de origens)
+ Respostas de erro personalizadas (páginas de erro)
+ Restrições geográficas
+ Objeto raiz padrão
+ Configurações de registro em log
+ Descrição (comentário)

Você também pode atualizar recursos externos referenciados na configuração de uma distribuição, como uma política de cache, uma política de cabeçalhos de resposta, uma função do CloudFront ou uma função do Lambda@Edge.

## Distribuições primária e de preparação não compartilham cache
<a name="staging-and-primary-no-shared-cache"></a>

As distribuições primária e de preparação não compartilham um cache. Quando o CloudFront envia a primeira solicitação para uma distribuição de preparação, seu cache fica vazio. À medida que as solicitações chegam à distribuição de preparação, as respostas começam a ser armazenadas em cache (se configurada para isso).

# Cotas e outras considerações para implantação contínua
<a name="continuous-deployment-quotas-considerations"></a>

A implantação contínua do CloudFront está sujeita às seguintes cotas e outras considerações.

## Cotas
<a name="continuous-deployment-quotas"></a>
+ Número máximo de distribuições de preparação por Conta da AWS: 20
+ Número máximo de políticas de implantação contínua por Conta da AWS: 20
+ Porcentagem máxima de tráfego que você pode enviar para uma distribuição de preparação em uma configuração baseada em peso: 15%
+ Valores mínimo e máximo para o tempo ocioso da permanência da sessão: 300–3.600 segundos

Para obter mais informações, consulte [Cotas](cloudfront-limits.md).

**nota**  
Ao usar a implantação contínua e sua distribuição primária estiver configurada com OAC para acesso ao bucket do S3, atualize sua política do bucket do S3 para permitir o acesso à distribuição de preparação. Para obter exemplos de políticas de bucket do S3, consulte [Conceder permissão ao CloudFront para acessar o bucket do S3](private-content-restricting-access-to-s3.md#oac-permission-to-access-s3).

## AWS WAFACLs da Web do
<a name="waf-web-acl"></a>

Se você habilitar a implantação contínua para a distribuição, as seguintes considerações se aplicarão ao AWS WAF:
+ Não será possível associar uma lista de controle de acesso (ACL) da web do AWS WAF à distribuição se for a primeira vez que essa ACL é associada à distribuição.
+ Também não será possível desassociar uma ACL da web do AWS WAF da distribuição.

Antes de realizar as tarefas anteriores, é necessário excluir a política de implantação contínua para a distribuição da produção. Isso também exclui a distribuição de preparação. Para obter mais informações, consulte [Usar proteções do AWS WAF](distribution-web-awswaf.md).

## Casos em que o CloudFront envia todas as solicitações para a distribuição primária
<a name="all-requests-to-primary-distribution"></a>

Em certos casos, como períodos de alta utilização de recursos, o CloudFront pode enviar todas as solicitações para a distribuição primária, independentemente do que esteja especificado na política de implantação contínua.

O CloudFront envia todas as solicitações para a distribuição primária durante os horários de pico de tráfego, independentemente do que esteja especificado na política de implantação contínua. O pico de tráfego se refere ao tráfego no *serviço CloudFront*, e não ao tráfego na sua distribuição.

## HTTP/3
<a name="continuous-deployment-http3"></a>

Você não pode usar a implantação contínua com uma distribuição que seja compatível com HTTP/3.