CloudFront

Définition :

  • CloudFront est le service de CDN (Content Delivery Network) AWS.
  • Améliore la performance en lecture, le contenu est en cache au plus prêt des utilisateurs (at Edge).
  • Beaucoup de points de présence (13 Regional Edge Caches et le reste en Edge locations).
  • Protège contre les attaques réseaux et applicatives.
  • Intégration avec AWS Shield, AWS WAF & Route 53
  • Support du websocket

CloudFront POPs

Edges Locations & Regional Edge Caches :

Edges Locations

  • Sert le contenu rapidement et directement aux utilisateurs
  • Cache le contenu le plus populaire

Regional Edge Caches

  • Sert le contenu aux Edge Locations
  • Mise en cache du contenu moins populaire qui pourrait soudainement gagner en popularité
  • Cache plus important que dans les Edge Locations
  • Améliore les performances, réduit la charge des Origins
  • Le contenu dynamique ne passe par par lui (accès direct à l’Origin)

CloudFront Edge & Regional Locations

Composants CloudFront :

  • Distribution
    • Identifié par un domaine (abcd123456.cloudfront.net)
    • On peut utiliser ce domaine de distribution pour accéder au site
    • On peut aussi utiliser un CNAME Route 53 (non-root) ou un Alias (non-root & root) qui pointe sur le domaine de distribution
  • Origin
    • L’endroit ou réside le contenu (S3 bucket, ALB, HTTP Server, API Gateway, …)
  • Cache Behavior
    • Cache configurations (Object Expiration, TTL, Cache invalidation ….)

CloudFront Origins :

  • S3 Bucket
    • Pour la distribution de fichiers
    • Améliore la sécurité avec OAC (CloudFront Access Control) anciennement OAI (limiter les accès S3 par CloudFront)
    • CloudFront peut être utilisé comme un ingress pour upload les fichiers dans S3
  • S3 Bucket configuré comme un site
    • Premièrement, activer le Static Website sur le bucket
  • MediaStore Container & MediaPackage Endpoint
    • Pour délivrer de la Video On Demand (VOD) ou du streaming live vidéo en utilisant AWS Media Services
  • Custom Origin (HTTP)
    • Instance EC2
    • Elastic Load Balancer (ALB ou CLB)
    • API Gateway (Pour plus de contrôle, utiliser API Gateway Edge)
    • N’importe quel backend HTTP

S3 comme origin

CloudFront Origins - S3

ALB ou EC2 comme origin

CloudFront Origins - ALB ou EC2

Multiples origins

  • Pour aiguiller vers différentes origins basé sur le contenu
  • Basé sur le chemin de l’URL
    • /api/*
    • /* CloudFront Origins - ALB ou EC2