Referência de configurações da distribuição - Amazon CloudFront

Referência de configurações da distribuição

Ao usar o console do CloudFront para criar uma distribuição ou atualizar uma existente, especifique os valores a seguir.

Para mais informações sobre como criar ou atualizar uma distribuição usando o console do CloudFront, consulte Criar uma distribuição ou Atualizar uma distribuição.

Configurações de origem

Ao usar o console do CloudFront para criar ou atualizar uma distribuição, você deve fornecer informações sobre um ou mais locais, conhecidos como origens, onde são armazenadas as versões originais de conteúdo da web. O CloudFront obtém seu conteúdo da Web de suas origens e fornece-o aos visualizadores por meio de uma rede mundial de servidores de borda.

Para obter o número máximo atual de origens que você pode criar para uma distribuição ou para solicitar uma cota maior, consulte Cotas gerais para distribuições.

Se você quiser excluir uma origem, primeiro, deve editar ou excluir os comportamentos de cache associados a ela.

Importante

Se você excluir uma origem, confirme se os arquivos fornecidos anteriormente por ela estão disponíveis em outra origem e se os seus comportamentos de cache estão roteando as solicitações desses arquivos para a nova origem.

Ao criar ou atualizar uma distribuição, você especifica os valores a seguir para cada origem.

Domínio de origem

O domínio de origem é o nome de domínio do DNS do recurso do qual o CloudFront receberá os objetos de sua origem, como um bucket do Amazon S3 ou um servidor HTTP: Por exemplo:

  • Bucket do Amazon S3amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com

    nota

    Se você criou o bucket do S3 recentemente, a distribuição do CloudFront poderá retornar respostas HTTP 307 Temporary Redirect por até 24 horas. Pode demorar até 24 horas para que o nome do bucket do S3 seja propagado para todas as regiões da AWS. Quando a propagação estiver concluída, a distribuição interromperá automaticamente o envio dessas respostas de redirecionamento sem exigir nenhuma ação. Para obter mais informações, consulte Por que estou obtendo uma resposta de redirecionamento temporário HTTP 307 do Amazon S3? e Redirecionamento de solicitação temporário.

  • Bucket do Amazon S3 configurado como siteamzn-s3-demo-bucket.s3-website.us-west-2.amazonaws.com

  • Contêiner do MediaStoreexamplemediastore.data.mediastore.us-west-1.amazonaws.com

  • Endpoint do MediaPackageexamplemediapackage.mediapackage.us-west-1.amazonaws.com

  • Instância do Amazon EC2ec2-203-0-113-25.compute-1.amazonaws.com

  • Balanceador de carga do Elastic Load Balancingexample-load-balancer-1234567890.us-west-2.elb.amazonaws.com

  • Seu próprio servidor Web: www.example.com

Escolha o nome do domínio no campo Origin domain (Domínio de origem) ou digite o nome. Os recursos das regiões que requerem adesão devem ser inseridos manualmente. O nome de domínio não diferencia maiúsculas de minúsculas. Seu domínio de origem deve ter um nome de DNS publicamente resolvível que direcione as solicitações dos clientes aos destinos pela internet.

Se você configurar o CloudFront para se conectar à sua origem por HTTPS, um dos nomes de domínio no certificado deverá corresponder ao nome de domínio especificado em Nome de domínio de origem. Se nenhum nome de domínio apresentar correspondência, o CloudFront exibirá um código de status HTTP 502 (gateway inválido) para o visualizador. Para ter mais informações, consulte Nomes de domínio na distribuição do CloudFront e no certificado e Falha de negociação SSL/TLS entre o CloudFront e um servidor de origem personalizado.

nota

Se você estiver usando uma política de solicitação de origem que encaminhe o cabeçalho de host do visualizador à origem, esta deverá responder com um certificado correspondente ao cabeçalho de host do visualizador. Para ter mais informações, consulte Adicionar cabeçalhos de solicitação do CloudFront.

Se sua origem for um bucket do Amazon S3, observe o seguinte:

  • Se o bucket estiver configurado como um site, insira o endpoint de hospedagem do site estático do Amazon S3 no bucket. Não selecione o nome do bucket na lista do campo Origin domain (Domínio de origem). O endpoint de hospedagem do site estático é exibido no console do Amazon S3, na página Properties (Propriedades) em Static website hosting (Hospedagem de site estático). Para ter mais informações, consulte Usar um bucket do Amazon S3 configurado como um endpoint do site.

  • Se você configurou o Amazon S3 Transfer Acceleration para seu bucket, não especifique o endpoint s3-accelerate para Origin domain (Domínio de origem).

  • Se você estiver usando um bucket de uma conta da AWS diferente e ele não estiver configurado como um site, digite o nome no seguinte formato:

    bucket-name.s3.region.amazonaws.com

    Se o bucket estiver em uma região dos EUA e você quiser que o Amazon S3 direcione as solicitações para uma instalação no Norte da Virgínia, use o seguinte formato:

    bucket-name.s3.us-east-1.amazonaws.com

  • Os arquivos devem ser legíveis ao público, a menos que você proteja o conteúdo no Amazon S3 usando um controle de acesso à origem do CloudFront. Para obter mais informações sobre controle do acesso, consulte Restringir o acesso a uma origem do Amazon Simple Storage Service.

Importante

Se a origem for um bucket do Amazon S3, o nome do bucket deverá seguir os requisitos de nomenclatura do DNS. Para obter mais informações, acesse Restrições e limitações de bucket no Guia do usuário do Amazon Simple Storage Service.

Ao alterar o valor de Origin domain (Domínio de origem) de uma origem, o CloudFront começará imediatamente a replicar a alteração para seus locais de borda. Enquanto a configuração de distribuição não for atualizada em determinado local de borda, o CloudFront continuará a encaminhar solicitações à origem anterior. Assim que a configuração da distribuição for atualizada no local de borda, o CloudFront começará a encaminhar solicitações à nova origem.

A alteração da origem não requer que o CloudFront preencha os locais de borda de caches novamente com objetos da nova origem. Contanto que as solicitações do visualizador em sua aplicação não tenham sido alteradas, o CloudFront continuará a fornecer objetos que já estão em um ponto de presença de caches até o TTL de cada objeto expirar ou até objetos solicitados raramente serem removidos.

Protocolo (somente origens personalizadas)

nota

Isto se aplica apenas a origens personalizadas.

A política de protocolo a ser usada pelo CloudFront ao obter objetos de sua origem.

Escolha um dos seguintes valores:

  • HTTP only (Somente HTTP): o CloudFront usa somente HTTP para acessar a origem.

    Importante

    HTTP only (Somente HTTP) é a configuração padrão quando a origem é um endpoint de hospedagem de site estático do Amazon S3, porque o Amazon S3 não comporta conexões HTTPS para endpoint de hospedagem de site estático. O console do CloudFront não oferece suporte à alteração dessa configuração para endpoints de hospedagem de sites estáticos do Amazon S3.

  • HTTPS only (Somente HTTP): o CloudFront usa somente HTTPS para acessar a origem.

  • Match viewer (Corresponder visualizador): o CloudFront se comunica com sua origem usando HTTP ou HTTPS, dependendo do protocolo da solicitação do visualizador. Observe que o CloudFront armazenará o objeto em cache somente uma vez se os visualizadores fizerem solicitações usando protocolos HTTP e HTTPS.

    Importante

    Para solicitações HTTPS do visualizador que o CloudFront encaminha para essa origem, um dos nomes de domínio no certificado SSL/TLS de seu servidor de origem deverá corresponder ao nome de domínio especificado para Origin domain (Domínio de origem). Do contrário, o CloudFront responderá às solicitações do visualizador com um código de status HTTP 502 (Gateway inválido), em vez de retornar o objeto solicitado. Para ter mais informações, consulte Requisitos para usar certificados SSL/TLS com o CloudFront.

Porta HTTP

nota

Isto se aplica apenas a origens personalizadas.

(Opcional) É possível especificar a porta HTTP na qual a origem personalizada escuta. Os valores válidos incluem as portas 80, 443 e 1024 a 65535. O valor padrão é a porta 80.

Importante

A porta 80 é a configuração padrão quando a origem é um endpoint de hospedagem de site estático do Amazon S3, porque ele só oferece suporte à porta 80 para endpoints de hospedagem de site estático. O console do CloudFront não oferece suporte à alteração dessa configuração para endpoints de hospedagem de sites estáticos do Amazon S3.

Porta HTTPS

nota

Isto se aplica apenas a origens personalizadas.

(Opcional) É possível especificar a porta HTTPS na qual a origem personalizada escuta. Os valores válidos incluem as portas 80, 443 e 1024 a 65535. O valor padrão é a porta 443. Quando Protocol (Protocolo) é definido como HTTP only (Somente HTTP), não é possível especificar um valor para HTTPS port (Porta HTTPS).

Protocolo SSL de origem mínimo

nota

Isto se aplica apenas a origens personalizadas.

Escolha o protocolo TLS/SSL mínimo que o CloudFront poderá usar ao estabelecer uma conexão HTTPS com a origem. Protocolos TLS mais baixos são menos seguros, portanto, recomendamos que você escolha o protocolo TLS mais recente compatível com a origem. Quando Protocol (Protocolo) é definido como HTTP only (Somente HTTP), não é possível especificar um valor para Minimum origin SSL protocol (Protocolo SSL de origem mínimo).

Se você usar a API do CloudFront para definir o protocolo TLS/SSL para uso do CloudFront, não será possível definir um protocolo mínimo. Em vez disso, especifique todos os protocolos TLS/SSL que o CloudFront poderá usar com sua origem. Para mais informações, consulte OriginSslProtocols na Referência da API do Amazon CloudFront.

Caminho de origem

Se desejar que o CloudFront solicite seu conteúdo de um diretório em sua origem, insira o caminho do diretório, começando com uma barra (/). O CloudFront acrescenta o caminho do diretório no valor de Origin domain (Domínio de origem). Por exemplo, cf-origin.example.com/production/images. Não adicione barra (/) no fim do caminho.

Por exemplo, imagine que você especificou os seguintes valores para sua distribuição:

  • Origin domain (Domínio de origem): um bucket do Amazon S3 denominado amzn-s3-demo-bucket

  • Origin path (Caminho da origem): /production

  • Nomes de domínio alternativos (CNAMEs): example.com

Quando um usuário insere example.com/index.html no navegador, o CloudFront envia uma solicitação de amzn-s3-demo-bucket/production/index.html para o Amazon S3.

Quando um usuário insere example.com/acme/index.html no navegador, o CloudFront envia uma solicitação de amzn-s3-demo-bucket/production/acme/index.html para o Amazon S3.

Nome

Nome é uma string que identifica exclusivamente essa origem nessa distribuição. Se criar comportamentos de cache além do comportamento de cache padrão, você poderá usar o nome especificado aqui para identificar a origem para a qual o CloudFront encaminhará uma solicitação quando ela tiver o mesmo padrão de caminho desse comportamento de cache.

Acesso à origem (somente origens do Amazon S3)

nota

Isso se aplica somente às origens de bucket do Amazon S3 (aquelas que não estão usando o endpoint de site estático do S3).

Selecione Origin access control settings (recommended) [Configurações de controle de acesso à origem (recomendado)] se você quiser tornar possível restringir o acesso a uma origem de bucket do Amazon S3 somente a distribuições específicas do CloudFront.

Selecione Public (Pública) se a origem do bucket do Amazon S3 for acessível ao público.

Para ter mais informações, consulte Restringir o acesso a uma origem do Amazon Simple Storage Service.

Para obter informações sobre como exigir que os usuários acessem objetos em uma origem personalizada usando somente URLs do CloudFront, consulte Restringir o acesso a arquivos em origens personalizadas.

Adicionar cabeçalho personalizado

Se você quiser que o CloudFront inclua cabeçalhos personalizados sempre que encaminhar uma solicitação para sua origem, especifique o nome do cabeçalho e o respectivo valor. Para ter mais informações, consulte Adicionar cabeçalhos personalizados às solicitações de origem.

Para saber o número máximo de cabeçalhos personalizados que você pode adicionar, o tamanho máximo do nome e valor de um cabeçalho personalizado e o tamanho total de todos os nomes e valores de cabeçalho, consulte Cotas.

Habilitar o Origin Shield

Escolha Yes (Sim) para habilitar o CloudFront Origin Shield. Para obter mais informações sobre o Origin Shield, consulte Usar o Amazon CloudFront Origin Shield.

Tentativas de conexão

É possível definir o número de vezes que o CloudFront tenta se conectar à origem. É possível especificar 1, 2 ou 3 como o número de tentativas. O número padrão (caso nenhum seja especificado) é 3.

Use essa configuração com o Connection timeout (Tempo limite da conexão) para especificar o período que o CloudFront deve esperar antes de tentar se conectar à origem secundária ou retornar uma resposta de erro ao visualizador. Por padrão, o CloudFront aguarda até 30 segundos (3 tentativas de 10 segundos cada) antes de tentar se conectar à origem secundária ou retornar uma resposta de erro. É possível reduzir esse tempo especificando menos tentativas, um tempo limite de conexão mais curto ou ambos.

Se houver falha de conexão no número de tentativas especificado, o CloudFront executará um dos seguintes procedimentos:

  • Se a origem fizer parte de um grupo de origens, o CloudFront tentará se conectar à origem secundária. Se houver falha de conexão no número de tentativas especificado para a origem secundária, o CloudFront retornará uma resposta de erro ao visualizador.

  • Se a origem não fizer parte de um grupo de origens, o CloudFront retornará uma resposta de erro ao visualizador.

Para uma origem personalizada (incluindo um bucket do Amazon S3 configurado com hospedagem de site estático), essa configuração também especifica o número de vezes que o CloudFront tenta obter uma resposta da origem. Para ter mais informações, consulte Tempo limite de resposta (somente origens personalizadas).

Tempo limite da conexão

Tempo limite de conexão é o número de segundos que o CloudFront aguarda ao tentar estabelecer conexão com a origem. É possível especificar um número de segundos entre 1 e 10 (inclusive). O tempo limite padrão (caso nenhum seja especificado) é 10 segundos.

Use essa configuração com Connection attempts (Tentativas de conexão) para especificar o período que o CloudFront deve esperar antes de tentar se conectar à origem secundária ou antes de retornar uma resposta de erro ao visualizador. Por padrão, o CloudFront aguarda até 30 segundos (3 tentativas de 10 segundos cada) antes de tentar se conectar à origem secundária ou retornar uma resposta de erro. É possível reduzir esse tempo especificando menos tentativas, um tempo limite de conexão mais curto ou ambos.

Se o CloudFront não estabelecer uma conexão com a origem dentro do número especificado de segundos, ele fará o seguinte:

  • Se o número especificado de Connection attempts (Tentativas de conexão) for maior que 1, o CloudFront tentará estabelecer uma conexão novamente. O CloudFront tentará até três vezes, conforme determinado pelo valor de Connection attempts (Tentativas de conexão).

  • Se houver falha em todas as tentativas de conexão e a origem fizer parte de um grupo de origens, o CloudFront tentará se conectar à origem secundária. Se houver falha de conexão no número de tentativas especificado para a origem secundária, o CloudFront retornará uma resposta de erro ao visualizador.

  • Se houver falha em todas as tentativas de conexão e a origem não fizer parte de um grupo de origens, o CloudFront retornará uma resposta de erro ao visualizador.

Tempo limite de resposta (somente origens personalizadas)

O tempo limite da resposta de origem, também conhecido como tempo limite da leitura de origem ou tempo limite da solicitação de origem, aplica-se a estes dois valores:

  • O período (em segundos) que o CloudFront aguarda uma resposta após o encaminhamento de uma solicitação à origem.

  • O período (em segundos) que o CloudFront aguarda após o recebimento de um pacote de uma resposta da origem e antes do recebimento do próximo pacote.

dica

Se você quiser aumentar o valor de tempo limite porque os visualizadores estão com erros de código de status HTTP 504, considere explorar outras maneiras de eliminar esses erros antes de alterar o valor de tempo limite. Consulte as sugestões para solução de problemas em Código de status HTTP 504 (tempo limite do gateway).

O comportamento do CloudFront depende do método HTTP na solicitação de visualizador:

  • Solicitações GET e HEAD: se a origem não responder ou parar de responder dentro da duração do tempo limite da resposta, o CloudFront interromperá a conexão. O CloudFront tentará se conectar novamente de acordo com o valor de Tentativas de conexão.

  • Solicitações DELETE, OPTIONS, PATCH, PUT e POST: se a origem não responder dentro da duração do tempo limite da leitura, o CloudFront interromperá a conexão e não tentará entrar em contato com a origem novamente. O cliente pode reenviar a solicitação, se necessário.

Tempo limite keep alive (somente origens personalizadas)

O tempo limite de keep-alive é o período (em segundos) em que o CloudFront tentará manter uma conexão com a origem personalizada depois de obter o último pacote de uma resposta. A manutenção de uma conexão persistente economiza o tempo necessário para restabelecer a conexão TCP e executar outro handshake TLS para solicitações subsequentes. O aumento do tempo limite da conexão keep alive ajuda a melhorar a métrica da solicitação por conexão nas distribuições.

nota

Para que o valor Keep-alive timeout (Tempo limite keep alive) entre em vigor, a origem deverá ser configurada para permitir conexões persistentes.

Cotas de tempo limite de resposta e manutenção

nota

Isto se aplica apenas a origens personalizadas.

Depois de solicitar um aumento de tempo limite para a Conta da AWS, atualize as origens da distribuição para os valores de tempo limite de resposta e de manutenção que você deseja. Um aumento de cota para sua conta não atualiza automaticamente as origens. Por exemplo, se você estiver usando uma função do Lambda@Edge para definir um tempo limite de manutenção de 90 segundos, a origem já deverá ter um tempo limite de manutenção de 90 segundos ou mais. Caso contrário, a função do Lambda@Edge poderá falhar na execução.

Consulte mais informações sobre cotas de distribuição em Cotas gerais para distribuições.

Configurações de comportamento de cache

Ao definir o comportamento de cache, é possível configurar uma variedade de funcionalidades do CloudFront para um padrão de caminho de URL específico para arquivos no site. Por exemplo, um comportamento de cache pode se aplicar a todos os arquivos .jpg no diretório images em um servidor web sendo usado como servidor de origem do CloudFront. A funcionalidade que pode ser configurada para cada comportamento de cache inclui:

  • O padrão de caminho.

  • Se você tiver configurado várias origens para a distribuição do CloudFront, a origem para a qual você deseja que o CloudFront encaminhe suas solicitações.

  • Se deve encaminhar strings de consulta para a origem.

  • Se o acesso a arquivos específicos requer URLs assinados.

  • Se deve exigir que os usuários usem HTTPS para acessar esses arquivos.

  • O tempo mínimo de permanência desses arquivos no cache do CloudFront, independentemente do valor de qualquer cabeçalho Cache-Control adicionado por sua origem aos arquivos.

Ao criar uma distribuição, você especifica as configurações do comportamento de cache padrão, que encaminha automaticamente todas as solicitações para a origem especificada ao criar a distribuição. Depois que criar uma distribuição, você poderá criar outros comportamentos de cache que definem como o CloudFront responde ao receber uma solicitação de objetos que correspondem a um padrão de caminho, por exemplo, *.jpg. Se você criar mais comportamentos de cache, o comportamento de cache padrão será sempre o último a ser processado. Outros comportamentos de cache são processados na ordem indicada no console do CloudFront ou, se você estiver usando a API do CloudFront, na ordem indicada no elemento DistributionConfig da distribuição. Para ter mais informações, consulte Padrão de caminho.

Ao criar um comportamento de cache, especifique a origem da qual você deseja que o CloudFront obtenha objetos. Como resultado, se quiser que o CloudFront distribua objetos de todas as suas origens, você deverá ter, pelo menos, a mesma quantidade de comportamentos de cache (inclusive o comportamento de cache padrão) que o número de origens. Por exemplo, se você tiver duas origens e somente o comportamento de cache padrão, o comportamento de cache padrão fará com que o CloudFront obtenha objetos de uma das origens, mas a outra origem nunca será usada.

Para obter o número máximo atual de comportamentos de cache que podem ser adicionados a uma distribuição ou solicitar uma cota maior (anteriormente conhecida como limite), consulte Cotas gerais para distribuições.

Padrão de caminho

Um padrão de caminho (por exemplo, images/*.jpg) especifica a quais solicitações aplicar o comportamento de cache. Quando o CloudFront recebe uma solicitação do usuário final, o caminho solicitado é comparado com os padrões de caminho na ordem em que os comportamentos de cache estão listados na distribuição. A primeira correspondência determina qual comportamento de cache é aplicado a essa solicitação. Por exemplo, imagine que você tenha três comportamentos de cache com os seguintes padrões de caminho, na ordem:

  • images/*.jpg

  • images/*

  • *.gif

nota

Você também pode incluir uma barra (/) no início do padrão de caminho, por exemplo, /images/*.jpg. O comportamento do CloudFront é o mesmo com ou sem a / inicial. Se / não for especificado no início do caminho, esse caractere estará automaticamente implícito. O CloudFront tratará o caminho da mesma forma com ou sem / inicial. Por exemplo, o CloudFront trata /*product.jpg da mesma forma que *product.jpg

Uma solicitação para o arquivo images/sample.gif não satisfaz o primeiro padrão de caminho. Portanto, os comportamentos de cache associados não são aplicados à solicitação. O arquivo satisfaz o segundo padrão de caminho, portanto, os comportamentos de cache associados a ele são aplicados, embora a solicitação também corresponda ao terceiro padrão de caminho.

nota

Ao criar uma distribuição, o valor de Path Pattern para o comportamento de cache padrão é definido como * (todos os arquivos) e não pode ser alterado. Esse valor faz com que o CloudFront encaminhe todas as solicitações de objetos para a origem especificada no campo Domínio de origem. Se a solicitação de um objeto não corresponder ao padrão de caminho dos outros comportamentos de cache, o CloudFront aplicará o comportamento especificado no comportamento de cache padrão.

Importante

Defina os padrões de caminho e a sequência deles cuidadosamente, caso contrário, você poderá conceder aos usuários acesso indesejado ao seu conteúdo. Por exemplo, imagine que uma solicitação corresponda ao padrão de caminho de dois comportamentos de cache. O primeiro comportamento de cache não requer signed URLs, mas o segundo comportamento de cache, sim. Os usuários poderão acessar os objetos sem usar um signed URL porque o CloudFront processa o comportamento de cache associado à primeira correspondência.

Se você estiver trabalhando com um canal do MediaPackage, será necessário incluir padrões de caminho específicos para o comportamento de cache que você definiu para o tipo de endpoint de sua origem. Por exemplo, para um endpoint DASH, digite *.mpd em Path Pattern (Padrão de caminho). Para mais informações e instruções específicas, consulte Veicular vídeo ao vivo formatado com o AWS Elemental MediaPackage.

O caminho especificado se aplica a solicitações de todos os arquivos no diretório especificado e nos subdiretórios abaixo dele. O CloudFront não considera strings de consulta ou cookies ao avaliar o padrão de caminho. Por exemplo, se um diretório images contém subdiretórios product1 e product2, o padrão de caminho images/*.jpg se aplica a solicitações de qualquer arquivo .jpg nos diretórios images, images/product1 e images/product2. Se você quiser aplicar um comportamento de cache nos arquivos do diretório images/product1 diferente dos arquivos dos diretórios images e images/product2, crie um comportamento de cache separado para images/product1 e mova-o para uma posição acima (anterior) do comportamento de cache do diretório images.

Você pode usar os seguintes caracteres curinga no padrão de caminho:

  • * corresponde a 0 ou mais caracteres.

  • ? corresponde a exatamente 1 caractere.

Os seguintes exemplos mostram como funcionam os caracteres curinga:

Padrão de caminho Os arquivos que correspondem ao padrão de caminho

*.jpg

Todos os arquivos .jpg

images/*.jpg

Todos os arquivos do diretório images e subdiretórios no diretório images

a*.jpg

  • Todos os arquivos .jpg cujo nome começa com a, por exemplo, apple.jpg e appalachian_trail_2012_05_21.jpg.

  • Todos os arquivos .jpg cujo caminho começa com a, por exemplo, abra/cadabra/magic.jpg.

a??.jpg

Todos os arquivos .jpg cujo nome começa com a e é seguido por exatamente dois outros caracteres, por exemplo, ant.jpg e abe.jpg.

*.doc*

Todos os arquivos cuja extensão do nome de arquivo começa com .doc, por exemplo, os arquivos .doc, .docx e .docm. Você não pode usar o padrão de caminho *.doc? nesse caso, porque ele não se aplica a solicitações de arquivos .doc. O caractere curinga ? substitui exatamente um caractere.

O tamanho máximo de um padrão de caminho é 255 caracteres. O valor pode conter espaços ou um destes caracteres:

  • A-Z, a-z

    Os padrões de caminho diferenciam letras maiúsculas de minúsculas, portanto, o padrão *.jpg não se aplica ao arquivo LOGO.JPG.

  • 0-9

  • _ - . * $ / ~ " ' @ : +

  • &, passado e retornado como &

Normalização de caminhos

O CloudFront normaliza os caminhos de URI consistentes com a RFC 3986 e, em seguida, combina o caminho com o comportamento correto do cache. Depois que o comportamento do cache é correspondido, o CloudFront envia o caminho bruto do URI para a origem. Se não forem correspondentes, as solicitações serão correspondentes ao comportamento de cache padrão.

Alguns caracteres são normalizados e removidos do caminho, como várias barras (//) ou pontos (..). Isso pode alterar o URL que o CloudFront usa para corresponder ao comportamento de cache pretendido.

exemplo Exemplo

Você especifica os caminhos /a/b* e /a* para seu comportamento de cache.

  • Um visualizador que envia o caminho /a/b?c=1 corresponderá ao comportamento do cache /a/b*.

  • Um visualizador que envia o caminho /a/b/..?c=1 corresponderá ao comportamento do cache /a*.

Para contornar os caminhos que estão sendo normalizados, é possível atualizar os caminhos da solicitação ou o padrão do caminho para o comportamento do cache.

Origem ou grupo de origem

Essa configuração aplica-se somente ao criar ou atualizar o comportamento de cache de uma distribuição existente.

Informe o valor de uma origem ou um grupo de origem existente. Isso identifica a origem para a qual você deseja que o CloudFront encaminhe as solicitações quando uma solicitação (como https://example.com/logo.jpg) corresponder ao padrão de caminho de um comportamento de cache (como *.jpg) ou do comportamento de cache padrão (*).

Política de protocolo do visualizador

Escolha a política de protocolo que você deseja que os visualizadores usem para acessar seu conteúdo em pontos de presença do CloudFront.

  • HTTP and HTTPS: os visualizadores pode usar os dois protocolos.

  • Redirect HTTP to HTTPS: os visualizadores podem usar os dois protocolos, mas solicitações HTTP são automaticamente redirecionadas para HTTPS.

  • HTTPS Only: os visualizadores só podem acessar seu conteúdo se estiverem usando HTTPS.

Para ter mais informações, consulte Exigir HTTPS na comunicação entre visualizadores e CloudFront.

Métodos HTTP permitidos

Especifique os métodos HTTP a serem processados e encaminhados pelo CloudFront para sua origem:

  • GET, HEAD: é possível usar o CloudFront somente para obter objetos da sua origem ou para obter cabeçalhos do objeto.

  • GET, HEAD, OPTIONS:: é possível usar o CloudFront somente para obter objetos da sua origem, obter cabeçalhos do objeto ou recuperar uma lista das opções compatíveis com seu servidor de origem.

  • GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE: é possível usar o CloudFront para obter, adicionar, atualizar e excluir objetos, e também para obter os cabeçalhos do objeto. Além disso, você pode executar outras operações de POST, como enviar dados de um formulário da web.

    nota

    O CloudFront armazena respostas a solicitações GET e HEAD e, opcionalmente, a solicitações OPTIONS. As respostas para as solicitações OPTIONS são armazenadas em cache separadamente das respostas para solicitações GET eHEAD (o método OPTIONS está incluído na chave de cache para solicitações OPTIONS). O CloudFront não armazena em cache respostas a solicitações que usam outros métodos.

Importante

Se você escolher GET, HEAD, OPTIONS ou GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE, talvez seja necessário restringir o acesso ao seu bucket do Amazon S3 ou à sua origem personalizada para evitar que os usuários executem operações indesejadas. Os seguintes exemplos explicam como restringir o acesso:

  • Se você estiver usando o Amazon S3 como origem da distribuição: crie uma identidade do acesso de origem do CloudFront para restringir o acesso ao conteúdo do Amazon S3 e conceda permissões ao controle de acesso à origem. Por exemplo, se você configurar o CloudFront para aceitar e encaminhar esses métodos somente porque deseja usar PUT, mesmo assim será necessário configurar políticas de bucket do Amazon S3 para lidar com solicitações DELETE de forma apropriada. Para ter mais informações, consulte Restringir o acesso a uma origem do Amazon Simple Storage Service.

  • Se você estiver usando uma origem personalizada: configure seu servidor de origem para lidar com todos os métodos. Por exemplo, se você configurar o CloudFront para aceitar e encaminhar esses métodos somente porque deseja usar POST, mesmo assim, é necessário configurar seu servidor de origem para lidar com solicitações DELETE forma apropriada.

Configuração da criptografia em nível de campo

Para impor a criptografia em nível de campo em campos de dados específicos, na lista suspensa, selecione uma configuração de criptografia em nível de campo.

Para ter mais informações, consulte Use criptografia de nível de campo para ajudar a proteger dados confidenciais.

Métodos HTTP em cache

Especifique se você deseja que o CloudFront armazene em cache a resposta da sua origem quando um visualizador enviar uma solicitação OPTIONS. O CloudFront sempre armazena a resposta às solicitações GET e HEAD em cache.

Cache baseado em Cabeçalhos de solicitação selecionados

Especifique se deseja que o CloudFront armazene os objetos em cache com base nos valores dos cabeçalhos especificados:

  • None (Nenhum; melhora cache): o CloudFront não armazena os objetos em cache com base nos valores do cabeçalho.

  • Lista de permissões: o CloudFront armazena os objetos em cache com base somente nos valores dos cabeçalhos especificados. Use Lista de permissões de cabeçalhos para escolher os cabeçalhos nos quais deseja que o CloudFront baseie o armazenamento em cache.

  • All (Todos): o CloudFront não armazena em cache os objetos associados a esse comportamento de cache. Em vez disso, o CloudFront envia todas as solicitações para a origem. (Não recomendado para origens do Amazon S3.)

Independentemente da opção escolhida, o CloudFront encaminhará determinados cabeçalhos para sua origem e realizará ações específicas com base nos cabeçalhos encaminhados por você. Para mais informações sobre como o CloudFront trata o encaminhamento de cabeçalhos, consulte Cabeçalhos de solicitação HTTP e comportamento do CloudFront (origens do Amazon S3 e personalizadas).

Para mais informações sobre como configurar o armazenamento em cache no CloudFront usando cabeçalhos de solicitação, consulte Conteúdo em cache com base nos cabeçalhos de solicitação.

Lista de permissões de cabeçalhos

Essas configurações aplicam-se somente ao escolher Lista de permissões para Cache baseado nos cabeçalhos da solicitação selecionados.

Especifique os cabeçalhos a serem considerados pelo CloudFront ao armazenar seus objetos em cache. Selecione os cabeçalhos na lista de cabeçalhos disponíveis e escolha Add. Para encaminhar um cabeçalho personalizado, insira o nome dele no campo e escolha Add Custom.

Para saber o número máximo atual de cabeçalhos que podem ser incluídos na lista de permissões para cada comportamento de cache ou para solicitar uma cota maior (anteriormente conhecida como limite), consulte Cotas para cabeçalhos.

Armazenamento de objetos em cache

Se o servidor de origem estiver adicionando um cabeçalho Cache-Control a seus objetos para controlar o tempo de permanência deles no cache do CloudFront e se você não quiser alterar o valor de Cache-Control, escolha Use Origin Cache Headers (Usar cabeçalhos de cache de origem).

Para especificar o tempo mínimo e máximo de permanência dos seus objetos no cache do CloudFront, independentemente dos cabeçalhos Cache-Control, e o tempo padrão de permanência dos seus objetos no cache do CloudFront quando o cabeçalho Cache-Control estiver ausente de um objeto, escolha Customize (Personalizar). Em seguida, especifique valores nos campos Minimum TTL (TTL mínimo), Default TTL (TTL padrão)e Maximum TTL (TTL máximo).

Para ter mais informações, consulte Gerenciar o tempo de permanência do conteúdo no cache (expiração).

Minimum TTL

Especifique o tempo mínimo, em segundos, que você deseja que os objetos permaneçam no cache do CloudFront antes do CloudFront enviar outra solicitação para a origem a fim de determinar se o objeto foi atualizado.

Para ter mais informações, consulte Gerenciar o tempo de permanência do conteúdo no cache (expiração).

Maximum TTL

Especifique o tempo máximo (em segundos) que você deseja que os objetos permaneçam em caches do CloudFront antes de ele consultar sua origem para ver se o objeto foi atualizado. O valor especificado para Maximum TTL é aplicado apenas quando sua origem adiciona cabeçalhos HTTP, como Cache-Control max-age, Cache-Control s-maxage ou Expires, aos objetos. Para ter mais informações, consulte Gerenciar o tempo de permanência do conteúdo no cache (expiração).

Para especificar um valor para Maximum TTL, você deve escolher a opção Customize para a configuração Object Caching.

O valor padrão de Maximum TTL é 31.536.000 segundos (um ano). Se você alterar o valor de Minimum TTL ou Default TTL para mais de 31.536.000 segundos, o valor padrão de Maximum TTL será alterado para o valor de Default TTL.

TTL padrão

O tempo padrão que você deseja que os objetos permaneçam em caches do CloudFront antes de ele encaminhar outra solicitação para sua origem para determinar se o objeto foi atualizado. O valor especificado para Default TTL (TTL padrão) aplica-se apenas quando sua origem não adiciona cabeçalhos de HTTP, comoCache-Control max-age, Cache-Control s-maxage ou Expires, aos objetos. Para ter mais informações, consulte Gerenciar o tempo de permanência do conteúdo no cache (expiração).

Para especificar um valor para Default TTL, você deve escolher a opção Customize para a configuração Object Caching.

O valor padrão de Default TTL é 86.400 segundos (um dia). Se você alterar o valor de Minimum TTL para mais de 86.400 segundos, o valor padrão de Default TTL será alterado para o valor de Minimum TTL.

Cookies progressivos

nota

Para as origens do Amazon S3, essa opção se aplica somente a buckets configurados como um endpoint de site.

Especifique se você deseja que o CloudFront encaminhe cookies ao seu servidor de origem e, caso afirmativo, para quais servidores. Se você optar por encaminhar apenas cookies selecionados (uma lista de permissões de cookies), insira os nomes dos cookies no campo Lista de permissões de cookies. Se você escolher All (Todos), o CloudFront encaminhará todos os cookies, independentemente de quantos sua aplicação usar.

O Amazon S3 não processa cookies, e o encaminhamento deles para a origem reduz a capacidade de armazenamento em cache. Para comportamentos de cache que estiverem encaminhando solicitações para uma origem do Amazon S3, escolha None (Nenhum) em Forward Cookies (Encaminhar cookies).

Para obter mais informações sobre como encaminhar cookies para a origem, acesse Conteúdo em cache com base em cookies.

Lista de permissões de cookies

nota

Para as origens do Amazon S3, essa opção se aplica somente a buckets configurados como um endpoint de site.

Se você selecionou Lista de permissões na lista Encaminhar cookies, no campo Lista de permissões de cookies, insira os nomes dos cookies a serem encaminhados pelo CloudFront ao servidor de origem para esse comportamento de cache. Insira cada nome de cookie em uma nova linha.

Você pode especificar os seguintes curingas para especificar nomes de cookies:

  • * corresponde a zero ou mais caracteres no nome do cookie

  • ? corresponde a exatamente um caractere no nome do cookie

Por exemplo, imagine que o visualizador solicite que um objeto inclua um cookie denominado:

userid_member-number

Em que cada usuário tem um valor exclusivo para member-number. Você deseja que o CloudFront armazene em cache uma versão separada do objeto para cada membro. Isso pode ser feito encaminhando todos os cookies para a sua origem, mas as solicitações do visualizador incluem alguns cookies que você não quer que o CloudFront armazene em cache. Como alternativa, é possível especificar o seguinte valor como um nome de cookie, fazendo com que o CloudFront encaminhe todos os cookies que comecem com userid_ para a origem:

userid_*

Para saber o número máximo atual de nomes de cookies que podem ser incluídos na lista de permissões para cada comportamento de cache ou para solicitar uma cota maior (anteriormente conhecida como limite), consulte Cotas para cookies (configurações de cache herdadas).

Encaminhamento e armazenamento em cache de strings de consulta

O CloudFront pode armazenar em cache diferentes versões do seu conteúdo com base nos valores dos parâmetros da query string. Escolha uma das seguintes opções:

None (Improves Caching)

Escolha essa opção se a sua origem retornar a mesma versão de um objeto, independentemente dos valores dos parâmetros de query string. Isso aumenta a probabilidade de o CloudFront atender a uma solicitação do cache, melhorando a performance e reduzindo a carga na origem.

Encaminhar tudo, cache com base em lista de permissões

Escolha essa opção caso o servidor de origem retorne diferentes versões dos objetos com base em um ou mais parâmetros de query string. Depois, especifique os parâmetros que você deseja que o CloudFront use como base para o armazenamento em cache no campo Lista de permissões de strings de consulta.

Forward all, cache based on all

Escolha essa opção caso o servidor de origem retorne diferentes versões dos objetos para todos os parâmetros de query string.

Para obter mais informações sobre como armazenar em cache com base nos parâmetros de query string, inclusive como melhorar a performance, consulte Conteúdo em cache com base em parâmetros de string de consulta.

Lista de permissões de strings de consulta

Essa configuração aplica-se somente quando a opção Encaminhar tudo, com base em cache na lista de permissões é escolhida para Encaminhamento e armazenamento em cache de strings de consulta. É possível especificar os parâmetros da string de consulta que você deseja que o CloudFront use como base para o armazenamento em cache.

Smooth Streaming

Escolha Yes (Sim) se quiser distribuir arquivos de mídia no formato Microsoft Smooth Streaming e não tiver um servidor IIS.

Escolha No (Não) se você tiver um servidor Microsoft IIS que deseja usar como origem para distribuir arquivos de mídia no formato Microsoft Smooth Streaming, ou se não estiver distribuindo arquivos de mídia do Smooth Streaming.

nota

Se você especificar Yes (Sim), é possível distribuir outro conteúdo usando esse comportamento de cache se o conteúdo corresponder ao valor de Path Pattern (Padrão de caminho).

Para ter mais informações, consulte Configurar vídeo sob demanda para o Microsoft Smooth Streaming.

Restringir acesso do visualizador (usar URLs ou cookies assinados)

Se você quiser solicitações de objetos correspondentes a PathPattern para que esse comportamento de cache use URLs públicos, escolha No.

Se você quiser solicitações de objetos correspondentes a PathPattern para que esse comportamento de cache use signed URLs, escolha Yes. Em seguida, especifique as contas da AWS que você deseja usar para criar signed URLs. Essas contas são conhecidas como assinantes confiáveis.

Para obter mais informações sobre assinantes confiáveis, consulte Especificar os assinantes que podem criar URLs e cookies assinados.

Signatários confiáveis

Essa configuração aplica-se somente ao escolher Sim para Restringir o acesso do visualizador (usar URLs ou cookies assinados).

Selecione quais contas da AWS você quer usar como assinantes confiáveis para esse comportamento de cache:

  • Self (Próprio): use a conta na qual você está conectado no AWS Management Console como assinante confiável. Se você estiver conectado como um usuário do IAM, a conta da AWS associada será adicionada como assinante confiável.

  • Specify Accounts (Especificar contas): insira números de contas para signatários confiáveis no campo AWS Account Numbers (Números de contas da AWS).

Para criar signed URLs, uma conta da AWS deve ter pelo menos um par de chaves do CloudFront ativo.

Importante

Se você está atualizando uma distribuição que já está usando para distribuir conteúdo, adicione assinantes confiáveis somente quando estiver pronto para começar a gerar signed URLs para seus objetos. Depois de adicionar assinantes confiáveis a uma distribuição, os usuários devem usar signed URLs para acessar os objetos correspondentes a PathPattern para esse comportamento de cache.

Números de Conta da AWS

Essa configuração aplica-se somente ao selecionar Especificar contas para Signatários confiáveis.

Se quiser criar signed URLs usando Contas da AWS além ou em vez da conta atual, insira um número de Conta da AWS por linha neste campo. Observe o seguinte:

  • As contas especificadas devem ter pelo menos um par de chaves do CloudFront ativo. Para ter mais informações, consulte Criar pares de chaves para os assinantes.

  • Não é possível criar pares de chaves do CloudFront para usuários do IAM, portanto, você não pode usar usuários do IAM como assinantes confiáveis.

  • Consulte informações sobre como obter o número da Conta da AWS de uma conta em View Conta da AWS identifiers no Guia de referência de gerenciamento de Conta da AWS.

  • Se você inserir o número da conta atual, o CloudFront marcará automaticamente a caixa de seleção Self (Próprio) e removerá o número da conta da lista AWS Account Numbers (Números de contas da AWS).

Compactar objetos automaticamente

Se você desejar que o CloudFront compacte automaticamente arquivos de determinados tipos quando os visualizadores forem compatíveis com o conteúdo compactado, escolha Yes (Sim). Quando o CloudFront compacta o conteúdo, os downloads são mais rápidos porque os arquivos são menores, e os sites são renderizados mais rapidamente para os usuários. Para ter mais informações, consulte Fornecer arquivos compactados.

Evento do CloudFront

Essa configuração aplica-se às Associações de funções do Lambda.

É possível optar por executar uma função do Lambda quando um ou mais dos seguintes eventos do CloudFront ocorrerem:

  • Quando o CloudFront receber uma solicitação de um visualizador (solicitação do visualizador)

  • Antes do CloudFront encaminhar uma solicitação para a origem (solicitação da origem)

  • Quando o CloudFront receber uma resposta da origem (resposta da origem)

  • Antes do CloudFront retornar a resposta para o visualizador (resposta do visualizador)

Para ter mais informações, consulte Escolher o evento para acionar a função.

ARN da função do Lambda.

Essa configuração aplica-se às Associações de funções do Lambda.

Especifique o Nome de recurso da Amazon (ARN) da função do Lambda para a qual deseja adicionar um trigger. Para saber mais sobre como obter o ARN de uma função, consulte a etapa 1 do procedimento Adicionar triggers usando o console do CloudFront.

Incluir corpo

Essa configuração aplica-se às Associações de funções do Lambda.

Consulte mais informações em Acesso ao corpo da solicitação com escolha da opção de inclusão de corpo.

Configurações de distribuição

Os valores a seguir se aplicam a toda a distribuição.

Classe de preço

Escolha o preço que corresponde ao preço máximo que você está disposto a pagar pelo serviço do CloudFront. Por padrão, o CloudFront fornece seus objetos de pontos de presença em todas as regiões do CloudFront.

Para ter mais informações sobre as classes de preço e como sua escolha de classe de preço afeta a performance do CloudFront para sua distribuição, consulte Definição de preços do CloudFront.

ACL da WEb do AWS WAF

Você pode proteger sua distribuição do CloudFront com o AWS WAF, um firewall de aplicações da Web que permite proteger suas aplicações e APIs da web para bloquear solicitações antes que elas cheguem aos servidores. Você pode usar o Habilitar o AWS WAF para distribuições ao criar ou editar uma distribuição do CloudFront.

Você também pode configurar posteriormente proteções de segurança adicionais para outras ameaças específicas de sua aplicação no console do AWS WAF em https://console.aws.amazon.com/wafv2/.

Para obter mais informações sobre o AWS WAF, consulte o Guia do desenvolvedor do AWS WAF.

Nomes de domínio alternativos (CNAMEs)

Opcional. Especifique um ou mais nomes de domínio que você deseja usar nas URLs de seus objetos em vez do nome de domínio atribuído pelo CloudFront ao criar sua distribuição. Você deve possuir o nome de domínio, ou ter autorização para usá-lo, o que você verifica adicionando um certificado SSL/TLS.

Por exemplo, se você quiser que o URL do objeto:

/images/image.jpg

Seja parecido com:

https://www.example.com/images/image.jpg

Em vez de:

https://d111111abcdef8.cloudfront.net/images/image.jpg

Adicione um CNAME para www.example.com.

Importante

Se você adicionar um CNAME para www.example.com à distribuição, também deverá fazer o seguinte:

  • Crie (ou atualize) um registro CNAME no serviço de DNS para rotear consultas de www.example.com para d111111abcdef8.cloudfront.net.

  • Adicione um certificado ao CloudFront de uma autoridade de certificação (CA) confiável que abranja o nome de domínio (CNAME) que você adicionar à distribuição, para validar a autorização para usar o nome de domínio.

Você deve ter permissão para criar um registro CNAME com o provedor de serviço de DNS para o domínio. Normalmente, isso significa que você possui o domínio ou que está desenvolvendo um aplicativo para o proprietário do domínio.

Para saber o número máximo atual de nomes de domínio alternativos que podem ser adicionados a uma distribuição ou para solicitar uma cota maior (anteriormente conhecida como limite), consulte Cotas gerais para distribuições.

Para obter mais informações sobre nomes de domínio alternativo, consulte Usar URLs personalizados adicionando nomes de domínio alternativos (CNAMEs). Para mais informações sobre URLs do CloudFront, consulte Personalizar o formato do URL para arquivos no CloudFront.

Certificado SSL

Se você especificou um nome de domínio alternativo para usar com a distribuição, selecione Custom SSL Certificate (Certificado SSL personalizado) e, para validar a autorização para usar o nome de domínio alternativo, escolha um certificado que o abranja. Se você quiser que os visualizadores usem HTTPS para acessar seus objetos, escolha as configurações que oferecem suporte para isso.

nota

Antes de poder especificar um certificado SSL personalizado, você precisa especificar um nome de domínio alternativo válido. Para ter mais informações, consulte Requisitos para o uso de nomes de domínio alternativos e Usar nomes de domínio alternativos e HTTPS.

  • Default CloudFront Certificate (Certificado padrão do CloudFront) (*.cloudfront.net): escolha essa opção se quiser usar o nome de domínio do CloudFront nos URLs para seus objetos, como https://d111111abcdef8.cloudfront.net/image1.jpg.

  • Custom SSL Certificate (Certificado SSL personalizado): escolha essa opção se quiser usar seu próprio nome de domínio nos URLs dos seus objetos como um nome de domínio alternativo, por exemplo https://example.com/image1.jpg. Em seguida, escolha um certificado para usar que abranja o nome de domínio alternativo. A lista de certificados pode incluir qualquer um dos seguintes:

    • Certificados fornecidos pelo AWS Certificate Manager

    • Os certificados adquiridos de uma autoridade de certificação de terceiros e carregados no ACM

    • Os certificados adquiridos de autoridades de certificação de terceiros e carregados no armazenamento de certificados do IAM

    Se você escolher essa configuração, recomendamos que use apenas um nome de domínio alternativo nos URLs dos seus objetos (https://example.com/logo.jpg). Se você usar o nome de domínio da distribuição do CloudFront (https://d111111abcdef8.cloudfront.net/logo.jpg) e um cliente usar um visualizador mais antigo que não seja compatível com SNI, como o visualizador responderá vai depender do valor escolhido para Clients Supported (Clientes compatíveis):

    • All Clients (Todos os clientes): o visualizador exibe um aviso porque o nome de domínio do CloudFront não corresponde ao nome de domínio do certificado SSL/TLS.

    • Only Clients that Support Server Name Indication (SNI) (Somente os clientes que oferecem suporte à indicação de nome de servidor (SNI)): o CloudFront interrompe a conexão com o visualizador sem retornar o objeto.

Suporte ao cliente SSL personalizado

Aplica-se somente quando você escolhe Certificado SSL personalizado (exemplo.com) para Certificado SSL. Se você especificou um ou mais nomes de domínio alternativos e um certificado SSL personalizado para a distribuição, defina como você deseja que o CloudFront atenda às solicitações HTTPS:

  • Clientes que oferecem suporte a SNI (Indicação de nome de servidor) – (Recomendado): com essa configuração, praticamente todos os navegadores e clientes da Web modernos podem se conectar à distribuição, porque eles oferecem suporte a SNI. No entanto, alguns visualizadores podem usar navegadores da Web mais antigos ou clientes incompatíveis com SNI, o que significa que não conseguem se conectar à distribuição.

    Para aplicar essa configuração usando a API do CloudFront, especifique sni-only no campo SSLSupportMethod. No AWS CloudFormation, o campo recebe o nome SslSupportMethod (observe o tamanho diferente das letras).

  • Suporte de clientes herdados: com essa configuração, navegadores da Web e clientes mais antigos incompatíveis com SNI podem se conectar à distribuição. No entanto, essa configuração gera cobranças mensais adicionais. Para saber o preço exato, acesse a página Definição de preços do Amazon CloudFront e pesquise SSL personalizado de IP dedicado na página.

    Para aplicar essa configuração usando a API do CloudFront, especifique vip no campo SSLSupportMethod. No AWS CloudFormation, o campo recebe o nome SslSupportMethod (observe o tamanho diferente das letras).

Para ter mais informações, consulte Escolher como o CloudFront atende a solicitações HTTPS.

Política de segurança (versão mínima de SSL/TLS)

Especifique a política de segurança que você deseja que o CloudFront use para conexões HTTPS com os visualizadores (clientes). Uma política de segurança determina duas configurações:

  • O protocolo SSL/TLS mínimo que o CloudFront usa para se comunicar com os visualizadores

  • A criptografia que o CloudFront pode usar para criptografar o conteúdo que retorna aos visualizadores.

Para mais informações sobre as políticas de segurança, incluindo os protocolos e as cifras que cada uma inclui, consulte Protocolos e cifras compatíveis entre visualizadores e o CloudFront.

As políticas de segurança que estão disponíveis dependem dos valores que você especifica para o SSL Certificate (Certificado SSL) e o Custom SSL Client Support (Suporte ao cliente SSL personalizado) (conhecidos como CloudFrontDefaultCertificate e SSLSupportMethod na API do CloudFront):

  • Quando o SSL Certificate (Certificado SSL) for Default CloudFront Certificate (*.cloudfront.net) (Certificado padrão do CloudFront (*.cloudfront.net)) (quando CloudFrontDefaultCertificate for true na API), o CloudFront definirá automaticamente a política de segurança como TLSv1.

  • Quando SSL Certificate (Certificado SSL) for Custom SSL Certificate (example.com) (Certificado SSL personalizado, example.com) e Custom SSL Client Support (Suporte ao cliente SSL personalizado) for Clients that Support Server Name Indication (SNI) – (Recommended) (Clientes que comportam a indicação de nome do servidor, SNI – recomendado) (quandoCloudFrontDefaultCertificate for false e SSLSupportMethod for sni-only na API), será possível escolher entre as seguintes políticas de segurança:

    • TLSv1.2_2021

    • TLSv1.2_2019

    • TLSv1.2_2018

    • TLSv1.1_2016

    • TLSv1_2016

    • TLSv1

  • Quando SSL Certificate (Certificado SSL) for Custom SSL Certificate (example.com) (Certificado SSL personalizado, example.com) e Custom SSL Client Support (Suporte ao cliente SSL personalizado) for Legacy Clients Support (Suporte a clientes herdados) (quando CloudFrontDefaultCertificate for false e SSLSupportMethod for vip na API), será possível escolher entre as seguintes políticas de segurança:

    • TLSv1

    • SSLv3

    Nesta configuração, as políticas de segurança TLSv1.2_2021, TLSv1.2_2019, TLSv1.2_2018, TLSv1.1_2016, e TLSv1_2016 não estão disponíveis na API nem no console do CloudFront. Se quiser utilizar uma dessas políticas de segurança, você terá as seguintes opções:

    • Avalie se a distribuição precisa de suporte a clientes legados com endereços IP dedicados. Se seus visualizadores comportarem a indicação de nome de servidor (SNI), recomendamos atualizar a definição Custom SSL Client Support (Suporte ao cliente SSL personalizado) de sua distribuição para Clients that Support Server Name Indication (SNI) (Clientes que oferecem suporte a indicação de nome de servidor, SNI) (defina SSLSupportMethod como sni-only na API). Isso permite usar qualquer uma das políticas de segurança TLS disponíveis, e também pode reduzir as cobranças do CloudFront.

    • Se for necessário manter o suporte a clientes herdados com endereços IP dedicados, será possível solicitar uma das outras políticas de segurança para o TLS (TLSv1.2_2021, TLSv1.2_2019, TLSv1.2_2018, TLSv1.1_2016 ou TLSv1_2016) criando um caso na Central de Suporte da AWS.

      nota

      Antes de entrar em contato com o AWS Support para solicitar essa alteração, considere o seguinte:

      • Quando você adiciona uma dessas políticas de segurança (TLSv1.2_2021, TLSv1.2_2019, TLSv1.2_2018, TLSv1.1_2016 ou TLSv1_2016) a uma distribuição de suporte a clientes herdados, a política de segurança é aplicada a todas as solicitações de visualizador que não são de SNI para todas as distribuições de suporte a clientes herdados em sua conta da AWS. No entanto, quando os visualizadores enviam solicitações SNI para uma distribuição com o Suporte a clientes legados, a política de segurança dessa distribuição se aplica. Para garantir que a política de segurança desejada seja aplicada a todas as solicitações do visualizador enviadas a todas as distribuições de suporte de clientes herdadas em sua conta da AWS, adicione a política de segurança desejada a cada distribuição individualmente.

      • Por definição, a nova política de segurança não é compatível com as mesmas criptografias e protocolos que a antiga. Por exemplo, se optar por atualizar a política de segurança de uma distribuição de TLSv1 para TLSv1.1_2016, essa distribuição não será mais compatível com a criptografia DES-CBC3-SHA. Para mais informações sobre as cifras e os protocolos com os quais cada política de segurança é compatível, consulte Protocolos e cifras compatíveis entre visualizadores e o CloudFront.

Versões de HTTP compatíveis

Escolha as versões HTTP às quais deseja que a distribuição ofereça suporte quando os visualizadores se comunicarem com o CloudFront.

Para os visualizadores e o CloudFront usarem HTTP/3, os visualizadores devem ser compatíveis com TLSv1.2 ou posterior e com Server Name Indication (SNI). O CloudFront não oferece suporte nativo para gRPC por HTTP/2.

Para os visualizadores e o CloudFront usarem HTTP/3, os visualizadores devem ser compatíveis com TLSv1.3 e com Server Name Indication (SNI). O CloudFront é compatível com a migração de conexão HTTP/3 para permitir que o visualizador alterne de rede sem perder a conexão. Para obter mais informações sobre migração de conexões, consulte Connection Migration (Migração de conexões) no RFC 9000.

nota

Para obter mais informações sobre as criptografias TLSv1.3 compatíveis, consulte Protocolos e cifras compatíveis entre visualizadores e o CloudFront.

Objeto raiz padrão

Opcional. O objeto que você deseja que o CloudFront solicite da sua origem (por exemplo, index.html) quando o visualizador solicitar o URL raiz da sua distribuição (https://www.example.com/), em vez de um objeto nela (https://www.example.com/product-description.html). A especificação de um objeto raiz padrão evita a exposição do conteúdo da distribuição.

O tamanho máximo do nome é 255 caracteres. O nome pode conter espaços ou um destes caracteres:

  • A-Z, a-z

  • 0-9

  • _ - . * $ / ~ " '

  • &, passado e retornado como &

Ao especificar o objeto raiz padrão, insira apenas o nome do objeto, por exemplo, index.html. Não adicione / antes do nome do objeto.

Para ter mais informações, consulte Especificar um objeto raiz padrão.

Registro em log

Se você deseja que o CloudFront registre informações sobre cada solicitação de um objeto e armazene os arquivos de log em um bucket do Amazon S3. É possível habilitar ou desabilitar o registro a qualquer momento. Não há custo adicional ao habilitar o registro em log, mas você acumula as cobranças normais do Amazon S3 pelo armazenamento e acesso a arquivos em um bucket do Amazon S3. Você pode excluir os logs a qualquer momento. Para mais informações sobre os logs de acesso do CloudFront, consulte Configurar e usar logs padrão (logs de acesso).

Bucket para logs

Se você escolher On (Ativado) em Logging (Registro em log), o bucket do Amazon S3 no qual você deseja que o CloudFront armazene logs de acesso, por exemplo, myLogs-amzn-s3-demo-bucket.s3.amazonaws.com.

Importante

Não escolha um bucket do Amazon S3 nas Regiões da AWS a seguir. O CloudFront não entrega logs padrão para buckets nestas regiões:

  • Africa (Cape Town)

  • Ásia-Pacífico (Hong Kong)

  • Ásia-Pacífico (Hyderabad)

  • Ásia-Pacífico (Jacarta)

  • Ásia-Pacífico (Melbourne)

  • Oeste do Canadá (Calgary)

  • Europa (Milão)

  • Europa (Espanha)

  • Europa (Zurique)

  • Israel (Tel Aviv)

  • Oriente Médio (Barém)

  • Oriente Médio (Emirados Árabes Unidos)

Se você permitir o registro em log, o CloudFront registrará informações sobre cada solicitação do usuário final de um objeto e armazenará os arquivos no bucket do Amazon S3 especificado. É possível habilitar ou desabilitar o registro a qualquer momento. Para mais informações sobre os logs de acesso do CloudFront, consulte Configurar e usar logs padrão (logs de acesso).

nota

Você deve ter as permissões necessárias para obter e atualizar as ACLs do bucket do Amazon S3, e a ACL do S3 do bucket deve conceder a você FULL_CONTROL. Assim, o CloudFront pode conceder à conta awslogsdelivery permissão para salvar os arquivos de log no bucket. Para ter mais informações, consulte Permissões necessárias para configurar o registro em log padrão e acessar os arquivos de log.

Prefixo de log

Opcional. Se você escolher On (Ativado) em Logging (Registro em log), especifique a string, se houver, a ser prefixada pelo CloudFront nos nomes de arquivo do log de acesso dessa distribuição, por exemplo, exampleprefix/. A barra no final (/) é opcional, mas recomendada para simplificar a navegação em seus arquivos de log. Para mais informações sobre os logs de acesso do CloudFront, consulte Configurar e usar logs padrão (logs de acesso).

Registro em log de cookies

Se você quiser que o CloudFront inclua cookies nos logs de acesso, escolha On (Ativado). Se você optar por incluir cookies nos logs, o CloudFront registrará em log todos os cookies, independentemente da configuração dos comportamentos de cache dessa distribuição: encaminhar todos os cookies, nenhum cookie ou uma lista específica de cookies para a origem.

O Amazon S3 não processa cookies, portanto, a menos que sua distribuição também inclua um Amazon EC2 ou outra origem personalizada, recomendamos que você escolha Off (Desativado) para o valor de Cookie Logging (Registro em log de cookies).

Para obter mais informações sobre cookies, acesse Conteúdo em cache com base em cookies.

Enable IPv6

IPv6 é uma nova versão do protocolo IP. É a substituição eventual do IPv4 e usa um espaço de endereço maior. O CloudFront sempre responde a solicitações do IPv4. Se quiser que o CloudFront responda a solicitações de endereços IP IPv4 (como 192.0.2.44) e IPv6 (como 2001:0db8:85a3::8a2e:0370:7334), selecione Enable IPv6 (Habilitar IPv6).

Em geral, você deverá habilitar o IPv6 se tiver usuários em redes IPv6 que desejam acessar seu conteúdo. No entanto, se você estiver usando signed URLs ou cookies para restringir o acesso ao seu conteúdo e uma política personalizada que inclui o parâmetro IpAddress para restringir os endereços IP que podem acessar seu conteúdo, não habilite o IPv6. Se você quiser restringir o acesso a algum conteúdo, mas não a outros, por endereço IP (ou restringir o acesso, mas não por endereço IP), é possível criar duas distribuições. Para obter informações sobre como criar signed URLs usando uma política personalizada, consulte Criar um URL assinado usando uma política personalizada. Para obter informações sobre como criar signed cookies usando uma política personalizada, consulte Definir cookies assinados usando uma política personalizada.

Se estiver usando um conjunto de registros de recursos de alias do Route 53 para rotear tráfego para sua distribuição do CloudFront, você deverá criar um segundo conjunto de registros de recursos de alias quando:

  • Você habilitar o IPv6 para a distribuição

  • Você estiver usando nomes de domínio alternativos nos URLs dos seus objetos

Para mais informações, consulte Como rotear o tráfego para uma distribuição do Amazon CloudFront usando seu nome de domínio no Guia do desenvolvedor do Amazon Route 53.

Se você criar um conjunto de registros de recursos de CNAME com o Route 53 ou outro serviço de DNS, não será necessário fazer nenhuma alteração. Um registro CNAME roteará o tráfego para a distribuição, independentemente do formato de endereço IP da solicitação do visualizador.

Se você habilitar o IPv6 e os logs de acesso do CloudFront, a coluna c-ip incluirá os valores nos formatos IPv4 e IPv6. Para ter mais informações, consulte Configurar e usar logs padrão (logs de acesso).

nota

Para manter a alta disponibilidade do cliente, o CloudFront responderá a solicitações do visualizador usando IPv4 se nossos dados sugerirem que o IPv4 fornecerá uma experiência de usuário melhor. Para descobrir qual porcentagem de solicitações do CloudFront é por IPv6, habilite o registro em log do CloudFront em sua distribuição e analise a coluna c-ip, que contém o endereço IP do visualizador que fez a solicitação. Essa porcentagem deve aumentar com o tempo, mas continuará sendo parte mínima do tráfego, pois o IPv6 ainda não é compatível pelo todas as redes dos visualizadores em todo o mundo. Algumas redes de visualizador têm excelente suporte a IPv6, mas outras não são compatíveis com ele. (Uma rede de visualizador é semelhante à sua operadora de Internet ou sem fio doméstica.)

Para mais informações sobre nosso suporte a IPv6, consulte Perguntas frequentes sobre o CloudFront. Para obter informações sobre como permitir logs de acesso, consulte os campos Registro em log, Bucket para logs e Prefixo de log.

Comentário

Opcional. Ao criar uma distribuição, você pode incluir um comentário com até 128 caracteres. Você pode atualizá-lo qualquer momento.

Estado de distribuição

Indica se você deseja que a distribuição seja ativada ou desativada após a implantação:

  • Enabled: assim que a distribuição for totalmente implantada, você poderá implantar links que usam o nome de domínio da distribuição, e os usuários poderão recuperar o conteúdo. Sempre que uma distribuição estiver ativada, o CloudFront aceitará e lidará com qualquer solicitação do usuário final de conteúdo que use o nome de domínio associado a essa distribuição.

    Ao criar, modificar ou excluir uma distribuição do CloudFront, leva um tempo para que as alterações sejam propagadas para o banco de dados do CloudFront. Uma solicitação imediata de informações sobre uma distribuição pode não refletir a alteração. A propagação é normalmente concluída em minutos, mas uma alta carga do sistema ou partição de rede pode aumentar esse tempo.

  • Disabled: mesmo que a distribuição possa ser implantada e esteja pronta para ser usada, os usuários não poderão usá-la. Sempre que uma distribuição estiver desativada, o CloudFront não aceitará nenhuma solicitação do usuário final que use o nome de domínio associado a essa distribuição. Enquanto você não alternar a distribuição de desativada para habilitada (atualizando a configuração dela), ninguém poderá usá-la.

Você pode alternar uma distribuição entre desativada e ativada sempre que desejar. Siga o processo de atualização da configuração de uma distribuição. Para ter mais informações, consulte Atualizar uma distribuição.

Páginas de erro personalizadas e erro de armazenamento em cache

É possível solicitar que o CloudFront retorne um objeto para o visualizador (por exemplo, um arquivo HTML) quando o Amazon S3 ou a origem personalizada retornar um código de status HTTP 4xx ou 5xx para o CloudFront. Também é possível especificar o tempo de armazenamento no cache do CloudFront de uma resposta de erro da sua origem ou de uma página de erro personalizada. Para ter mais informações, consulte Criar uma página de erro personalizada para códigos de status HTTP específicos.

nota

Os valores a seguir não são incluídos no assistente "Criar distribuição", portanto, você poderá configurar páginas de erro personalizadas somente quando atualizar uma distribuição.

Código de erro HTTP

O código de status HTTP para o qual você deseja que o CloudFront retorne uma página de erro personalizada. É possível configurar o CloudFront para retornar páginas de erro personalizadas para nenhum, alguns ou todos os códigos de status HTTP armazenados em cache pelo CloudFront.

Caminho da página de resposta

O caminho para a página de erro personalizada (por exemplo, /4xx-errors/403-forbidden.html) que você deseja que o CloudFront retorne para um visualizador quando sua origem retorna o código de status HTTP especificado para Error Code (Código de erro) (por exemplo, 403). Se você quiser armazenar seus objetos e páginas de erro personalizadas em locais diferentes, sua distribuição deverá incluir um comportamento de cache para o qual o seguinte é verdadeiro:

  • O valor de Path Pattern é correspondente às suas mensagens de erro personalizadas. Por exemplo, imagine que você salvou páginas de erro personalizadas para erros 4xx em um bucket do Amazon S3 em um diretório denominado /4xx-errors. Sua distribuição deverá incluir um comportamento de cache para o qual o padrão de caminho roteia solicitações de suas páginas de erro personalizadas para esse local, por exemplo /4xx-errors/*.

  • O valor de Origin especifica o valor de Origin ID da origem que contém suas páginas de erro personalizadas.

Código de resposta HTTP

O código de status HTTP que você deseja que o CloudFront retorne para o visualizador com a página de erro personalizada.

Erro ao armazenar TTL mínimo em cache (segundos)

O tempo mínimo que você deseja que o CloudFront armazene em cache as respostas de erro do seu servidor de origem.

Restrições geográficas

Se precisar impedir que usuários de alguns países acessem o conteúdo, configure a distribuição do CloudFront com uma Lista de permissões ou uma Lista de bloqueio. Não há custo adicional para configurar restrições geográficas. Para ter mais informações, consulte Restringir a distribuição geográfica do conteúdo.