DEV Community

Rodrigo Fernandes
Rodrigo Fernandes

Posted on

Amazon CloudFront

Anotações sobre o Amazon CloudFront para ajudar na preparação das certificações AWS.

Até o momento as anotações são para as certificações abaixo:

Image description

Definição do fornecedor

  • O Amazon CloudFront é um serviço da web que acelera a distribuição do conteúdo estático e dinâmico da web, como arquivos .html, .css, .js e arquivos de imagem, para os usuários.
  • O Amazon CloudFront é um serviço Web que oferece às empresas e aos desenvolvedores de aplicações Web uma maneira fácil e de baixo custo de distribuir conteúdo com baixa latência e altas velocidades de transferência de dados.

Anotações gerais

  • Pode usar TTL para habilitar o cache de conteúdo dinâmico
  • 216 Point Of Presense (Edge Location)
  • Serviço Global
  • Para deletar, primeiro tem que DESATIVAR e somente depois pode ser DELETADO
  • Ajuda conta ataques de DDoS Protection
  • Escolhe o Price Class - 3 opções
  • Integrado com Shield e AWS WAF
  • Pode ser S3, EC2, ELB, Route53
  • Usa Edge Location para distribuir conteúdo
  • Dados, vídeos aplicações e API
  • Arquivos estáticos
  • NÃO usa UNICAST
  • X-Cache - Indica se o arquivo está no cache do CDN ou na origem
  • Origin Access identity - Restrinja o acesso ao conteúdo nos buckets do S3 para impedir que os usuários usem a URL direta do arquivo.

Usar ACM c/ CloudFront

  • Para usar um ACM com Amazon CloudFront, você deve solicitar ou importar o certificado na região US East (N. Virginia).
  • Os certificados ACM nesta região associados a uma distribuição do CloudFront são distribuídos para todos os locais geográficos configurados para essa distribuição.

Signed URL´s

Documentação oficial

Um Signed URL inclui informações adicionais, por exemplo, uma data e hora de expiração, que proporcionam a você mais controle sobre o acesso a seu conteúdo.

  • Ao criar um Signed URL, você grava uma declaração de política no formato JSON que especifica as restrições no Signed URL, por exemplo, por quanto tempo o URL é válido.
  • Pode utilizar uma política padrão ou personalizada.
  • Veja uma comparação entre as duas:

Image description

Criar um signed URL usando uma política padrão
Documentação oficial

aws cloudfront sign --url "url do arquivo no cdn" --key-pair-id "id" --private-key "file" --date-less-that "data da expiração"
A saída será uma URL para ser utiliza baseada nas regras acima.


Atendendo a solicitações HTTPS usando a SNI - Server Name Indication

  • SNI Custom SSL depende da extensão SNI do protocolo TLS, que permite que vários domínios sejam servidos no mesmo endereço IP, incluindo o nome do host, os visualizadores estão tentando se conectar
  • Com o método SNI, o CloudFront associa um endereço IP ao nome de domínio alternativo, mas o endereço IP não é dedicado.

Field-Level Encryption

Documentação oficial

Com o Amazon CloudFront, é possível impor conexões seguras de ponta a ponta a servidores de origem usando HTTPS.

Image description


Edge Locations

Documentação oficial

  • Cache
  • Conforme Price Class - Use All Edge Location - Best Performence (veem por padrão)

Price Class
Documentação oficial

Image description

Links importantes


CloudFront Origins

Documentação oficial

Use _S3OriginConfig _para especificar um bucket do Amazon S3 que não está configurado com hospedagem de site estático.

Use _CustomOriginConfig _para especificar todos os outros tipos de origens, incluindo:

  • Um bucket do Amazon S3 configurado com hospedagem de site estático
  • Um balanceador de carga do Elastic Load Balancing
  • Um endpoint do AWS Elemental MediaPackage
  • Um contêiner do AWS Elemental MediaStore
  • Qualquer outro servidor HTTP, executado em uma instância do Amazon EC2 ou qualquer outro tipo de host

S3 Bucket

  • OAI (Origin Access identity) + S3 Bucket Policy
  • Upload S3
  • S3 bucket access - para habilitar durante a configuração do CDN
  • Pode-se optar por fazer o update do bucket durante a criação do CDN
  • O CND cria a bucket policy no S3 quando solicitado na criação do OAI
  • Com OAI habilitado não precisa mais do bucket com acesso público

Custom Origin (HTTP)

  • ALB
  • EC2
  • S3 website
  • Any HTTP backend

Global Accelerator

Documentação oficial

  • Usam a rede global AWS de alta velocidade e as técnicas de roteamento Anycast
  • Para melhorar a disponibilidade e desempenho do app do cliente
  • Não inclui recursos de cache de conteudo
  • São adequados para VOIP, MTTQ e Jogos
  • Edge Locations envia tráfego para ambiente
  • 2 IP Anycast
  • DDoS e AWS Shield
  • No Cache
  • TCP/UDP/HTTP

Segurança no S3

  • Restrict access bucket vem DENY por padrão
  • Origin
  • Restric bucket Access - Yes
  • Origin Access Identity - Create a new Identity

SSL Certificates

Default Cloudfront

  • Veem c/ nome aleatório
  • domínio cloudfront.net

Custom SSL

  • Tem que importar certificado
  • seu domínio
  • ACM somente em us-east-1

Restrictions

Geo Restrictions
Documentação oficial

Para impedir que usuários em localizações geográficas específicas acessem o conteúdo que você está distribuindo por meio de uma distribuição do CloudFront.

  • No Restrictions (Padrão)
  • Allow List
  • Block List (Seleciona o país que deseja bloquear)

Permitir que vários domínios atendam ao tráfego SSL no mesmo endereço IP

Documentação oficial

  1. Crie uma distribuição na web do CloudFront e gere um certificado SSL no AWS Certificate Manager
  2. Associe o certificado à distribuição do CloudFront e habilite o Server Name Indication (SNI).

Referências

Top comments (0)