Integração AWS Cloudfront

Primeiramente, é importante que você compreenda que a solução de integração AWS Cloudfront é específica de orientação técnica para projetos Criação .cc que não se enquadrem com o uso da Cloudflare como solução.

Certificado público AWS Certificate Manager

Conforme documentação na AWS:

Um certificado público é necessário para suas distribuições do Amazon CloudFront para configurar o CloudFront para exigir que os visualizadores usem HTTPS, para que as conexões sejam criptografadas quando o CloudFront se comunicar com os visualizadores.

Siga os seguintes passos para gerar o certificado:

  1. Acesse console.aws.amazon.com/acm, certifique de emitir o certificado na região Norte da Virgínia;
  2. Clique no botão Solicitar;
  3. Na etapa Tipo de certificado, selecione a opção Solicitar um certificado público;
  4. Na etapa Tipo de certificado certificado público, siga com as seguintes informações:
    • Nomes de domínio: preencher com o domínio e subdomínio www do seu site. (ex, criacao.cc e www.criacao.cc)
    • Método de validação: Validação de DNS
    • Algoritmo da chave: RSA 2048
  5. Clique no botão Solicitar.

Assim o próximo passo é fazer a validação do certificado. Clique no link da coluna ID do certificado referente ao certificado criado para abrir os detalhes do certificado.

O valor do status do certificado estará como Validação pendente. E as informações para validar o certificado estão na seção Domínios. Caso o domínio esteja na AWS Route 53, clique no botão Criar registros no Route 53. E na tela seguinte clique em Criar registros. Caso a tabela de DNS esteja em outro provedor, crie o registro CNAME na tabela do registro manualmente. A validação pode levar alguns minutos.

Depois que o status do certificado mudar para Emitido, os registros na tabela de DNS utilizados para a verificação não são mais necessário e podem ser excluídos.

Distribuição na CloudFront

A distribuição será responsável pela segurança e performance da aplicação.

Siga os seguintes passos para gerar o certificado:

  1. Acesse console.aws.amazon.com/cloudfront;
  2. Clique no botão Create distribution;
  3. Na seção Origin, preencha as seguintes informações:
    • Origin domain: noproxy.criacao.cc
      • Protocol: HTTPS only
      • Minimum origin SSL protocol: TLSv1.2
    • Origin path: deixe o campo vazio
    • Name: Criação .cc
    • Add custom header: não adicione nenhum header
    • Enable Origin Shield: No
    • Additional settings: Mantenha os valores pré-definidos
  4. Na seção Default cache behavior, preencha as seguintes informações:
    • Path pattern: Default (*)
    • Compress objects automatically: Yes
    • Viewer:
      • Viewer protocol policy: Redirect HTTP to HTTPS
      • Allowed HTTP methods: GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE
        • Não marque a opção para cachear o método OPTIONS
      • Restrict viewer access: No
    • Cache key and origin requests
      • Legacy cache settings
      • Headers: Include the following headers
        • Add header: Host, Origin, Referer
      • Headers: Add Custom
        • Enter a custom header: Options
        • Enter a custom header: User-Agent
      • Query strings: All
      • Cookies: All
      • Object caching: Customize
        • Minimum TTL: 0
        • Maximum TTL: 0
        • Default TTL: 0
    • Response headers policy: deixe o campo vazio
  5. Não faça nenhuma alteração na seção Function associations
  6. Na seção Settings, preencha as seguintes informações:
    • Price class: Use all edge locations (best performance)
    • AWS WAF web ACL: deixe o campo vazio
    • Alternate domain name (CNAME):
      • domínio principal do seu site (ex, criacao.cc);
      • subdomínios www do seu site (ex, www.criacao.cc);
    • Custom SSL certificate: Selecione o certificado público gerado na AWS Certificate Manager
      • Legacy clients support: não marque
      • Security policy: TLSv1.2_2021 (recommended)
    • Supported HTTP versions: marque apenas HTTP/2
    • Default root object: deixe o campo vazio
    • Standard logging: Off
    • IPv6: On
    • Description: Site Criação .cc

Certificado para servidor de origem

É necessária a instalação de um certificado SSL válido dentro do servidor da Criação .cc para a realização uma conexão segura com a CloudFront.

Certificados públicos criados na AWS ACM podem ser utilizados apenas em serviços da AWS. Portanto é necessária a geração de um certificado por uma autoridade de certificação reconhecida. O Cloudfront utiliza a lista de autoridades reconhecidas da Mozilla para certificar que a conexão entre a Cloudfront e o servidor da Criação .cc é segura.

IMPORTANTE: A Criação .cc não faz a gestão de certificados. Essa é uma responsabilidade do nosso cliente. Recomendamos a Let’s Encrypt como solução gratuita para a geração dos certificados.

Assim, tendo os arquivos do certificado em mãos, eles devem ser enviados para [email protected].

Cadastro de registro na tabela de DNS

ATENÇÃO: Essa etapa é crítica e deve ser feita no momento em que o site vai para o ar e com acompanhamento do suporte técnico da Criação .cc. Qualquer configuração errada, pode causar indisponibilidade do site.

Para que a distribuição seja acessível pelo endereço do site, é necessário o cadastro do endereço na tabela de DNS.

O registro é um CNAME e o valor dele é a Distribution domain name. Você encontra essa informação na seção Details na aba General da distribuição CloudFront.

Então caso utilize o serviço Route 53, basta acessar a zona hospedada do domínio e criar (ou editar) a entrada que vai responder pelo site.

  • Nome do registro: nome do subdomínio do site. Se o site ficará no site principal, deixar em branco.
  • Tipo de registro: A
  • Marque a opção Alias
  • Rotear tráfego para:Alias para distribuição do CloudFront
    • No campo de busca, escolha a distribuição referente ao endereço.
  • Política de roteamento: Roteamento Simples
  • Clique em Criar registros se estiver criando o registro ou em Salvar caso esteja editando

Agora você terá realizado junto com o time da Criação .cc a integração AWS Cloudfront.

Por fim, te convidamos a conferir outros tutorias da categoria Configurações de domínio.