

# Criar políticas de cache
<a name="cache-key-create-cache-policy"></a>

É possível usar uma política de cache para melhorar a taxa de acertos do cache controlando os valores (strings de consulta de URL, cabeçalhos HTTP e cookies) incluídos na chave de cache. Você pode criar uma política de cache no console do CloudFront com a AWS Command Line Interface (AWS CLI) ou a API do CloudFront.

Depois de criar uma política de cache, anexe-a a um ou mais comportamentos de cache em uma distribuição do CloudFront.

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

**Como criar uma política de cache (console)**

1. Faça login no Console de gerenciamento da AWS e abra a página **Policies** (Políticas) no console do CloudFront em [https://console.aws.amazon.com/cloudfront/v4/home?#/policies](https://console.aws.amazon.com/cloudfront/v4/home?#/policies).

1. Escolha **Create cache policy (Criar política de cache)**.

1. Escolha a configuração desejada para esta política de cache. Para obter mais informações, consulte [Noções básicas sobre políticas de cache](cache-key-understand-cache-policy.md).

1. Quando terminar, escolha **Create** (Criar).

Depois de criar uma política de cache, é possível anexá-la a um comportamento de cache.

**Como anexar uma política de cache a uma distribuição existente (console)**

1. Abra a página **Distributions** (Distribuições) no console do CloudFront em [https://console.aws.amazon.com/cloudfront/v4/home#/distributions](https://console.aws.amazon.com/cloudfront/v4/home#/distributions).

1. Escolha a distribuição a ser atualizada e escolha a guia **Behaviors (Comportamentos)**.

1. Escolha o comportamento de cache a ser atualizado e escolha **Edit (Editar)**.

   Ou, para criar um novo comportamento de cache, escolha **Create behavior** (Criar comportamento).

1. Na seção **Cache key and origin requests** (Solicitações da chave de cache e de origem), verifique se a opção **Cache policy and origin request policy** (Política de cache e política de solicitação de origem) está selecionada.

1. Em **Cache policy** (Política de cache), escolha a política de cache a ser anexada a esse comportamento de cache.

1. Na parte inferior da página, escolha **Save changes** (Salvar alterações).

**Como anexar uma política de cache a uma nova distribuiçã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. Escolha **Create distribution** (Criar distribuição).

1. Na seção **Cache key and origin requests** (Solicitações da chave de cache e de origem), verifique se a opção **Cache policy and origin request policy** (Política de cache e política de solicitação de origem) está selecionada.

1. Em **Cache policy** (Política de cache), escolha a política de cache a ser anexada ao comportamento de cache padrão dessa distribuição.

1. Escolha as configurações desejadas para a origem, o comportamento padrão do cache e outras configurações de distribuição. Para obter mais informações, consulte [Referência de configurações de todas as distribuições](distribution-web-values-specify.md).

1. Ao concluir, escolha **Create distribution** (Criar distribuição).

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

Para criar uma política de cache com a AWS Command Line Interface (AWS CLI), use o comando **aws cloudfront create-cache-policy**. É possível usar um arquivo de entrada para fornecer os parâmetros de entrada do comando, em vez de especificar cada parâmetro individual como entrada na linha de comando.

**Como criar uma política de cache (CLI com arquivo de entrada)**

1. Use o comando a seguir para criar um arquivo chamado `cache-policy.yaml` que contém todos os parâmetros de entrada para o comando **create-cache-policy**.

   ```
   aws cloudfront create-cache-policy --generate-cli-skeleton yaml-input > cache-policy.yaml
   ```

1. Abra o arquivo chamado `cache-policy.yaml` que você acabou de criar. Edite o arquivo para especificar as configurações de política de cache desejadas e salve o arquivo. É possível remover campos opcionais do arquivo, mas não remover os campos obrigatórios.

   Para obter mais informações sobre as configurações de política de cache, consulte [Noções básicas sobre políticas de cache](cache-key-understand-cache-policy.md).

1. Use o seguinte comando para criar a política de cache usando parâmetros de entrada do arquivo `cache-policy.yaml`.

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

   Anote o valor de `Id` na saída do comando. Esse é o ID da política de cache que será necessário para anexar a política de cache ao comportamento de cache de uma distribuição do CloudFront.

**Como anexar uma política de cache a uma distribuição existente (CLI com arquivo de entrada)**

1. Use o comando a seguir para salvar a configuração da distribuição do CloudFront que você deseja atualizar. Substitua *distribution\$1ID* pelo ID da distribuição.

   ```
   aws cloudfront get-distribution-config --id distribution_ID --output yaml > dist-config.yaml
   ```

1. Abra o arquivo chamado `dist-config.yaml` que você acabou de criar. Edite o arquivo, fazendo as seguintes alterações em cada comportamento de cache que você está atualizando para usar uma política de cache.
   + No comportamento de cache, adicione um campo chamado `CachePolicyId`. Para o valor do campo, use o ID da política de cache que você anotou depois de criar a política.
   + Remova os campos `MinTTL`, `MaxTTL`, `DefaultTTL` e `ForwardedValues` do comportamento de cache. Essas configurações são especificadas na política de cache, portanto você não pode incluir esses campos e uma política de cache no mesmo comportamento de cache.
   + 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 para utilizar a política de cache. Substitua *distribution\$1ID* pelo ID da distribuição.

   ```
   aws cloudfront update-distribution --id distribution_ID --cli-input-yaml file://dist-config.yaml
   ```

**Como anexar uma política de cache a uma nova distribuição (CLI com arquivo de entrada)**

1. Use o comando a seguir para criar um arquivo chamado `distribution.yaml` que contém todos os parâmetros de entrada para o comando **create-distribution**.

   ```
   aws cloudfront create-distribution --generate-cli-skeleton yaml-input > distribution.yaml
   ```

1. Abra o arquivo chamado `distribution.yaml` que você acabou de criar. No comportamento de cache padrão, no campo `CachePolicyId`, insira o ID da política de cache que você anotou após criar a política. Continue editando o arquivo para especificar as configurações de distribuição desejadas e salve o arquivo ao concluir.

   Para obter mais informações sobre as configurações de distribuição, consulte [Referência de configurações de todas as distribuições](distribution-web-values-specify.md).

1. Use o seguinte comando para criar a distribuição usando parâmetros de entrada do arquivo `distribution.yaml`.

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

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

Para criar uma política de cache com a API do CloudFront, use [CreateCachePolicy](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateCachePolicy.html). Para obter mais informações sobre os campos especificados nessa chamada de API, consulte [Noções básicas sobre políticas de cache](cache-key-understand-cache-policy.md) e a documentação de referência de API do seu AWS SDK ou de outro cliente de API.

Depois de criar uma política de cache, é possível anexá-la a um comportamento de cache, usando uma das seguintes chamadas de API:
+ Para anexá-la a um comportamento de cache em uma distribuição existente, use [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html).
+ Para anexá-la a um comportamento de cache em uma nova distribuição, use [CreateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html).

Para as duas chamadas de API, forneça o ID da política de cache no campo `CachePolicyId`, dentro de um comportamento de cache. Para mais informações sobre os outros campos especificados nessas chamadas de API, consulte [Referência de configurações de todas as distribuições](distribution-web-values-specify.md) e a documentação de referência da API do AWS SDK ou de outro cliente de API.

------