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

AWS GenAI LIVE image

Real challenges. Real solutions. Real talk.

From technical discussions to philosophical debates, AWS and AWS Partners examine the impact and evolution of gen AI.

Learn more

Top comments (0)

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay