Amazon ANS-C01: Distribution de contenu et réseautage en périphérie — Guide d'étude
Fait partie du AWS Advanced Networking Specialty ANS-C01 — Guide d’étude. Entraînez-vous avec des réponses vérifiées dans le centre d’examens Amazon, ou passez des tests chronométrés sur ExamRoll.io.
Concepts de base
La livraison de contenu et la mise en réseau en périphérie (edge networking) séparent deux responsabilités liées : le transport du trafic client avec une faible latence et le rôle de couche de calcul/cache distribuée à proximité des utilisateurs finaux. CloudFront est un CDN HTTP(S) et une plateforme de calcul en périphérie qui met en cache les réponses HTTP, termine la connexion TLS en périphérie et peut exécuter du code dans les emplacements périphériques (edge locations) en utilisant Lambda@Edge (environnement d’exécution Lambda complet répliqué dans les régions) ou CloudFront Functions pour du JavaScript léger au niveau de la requête/réponse du client (viewer). Le comportement de CloudFront est piloté par des objets de configuration de distribution créés avec CreateDistribution et ajustés à l’aide d’objets CachePolicy et OriginRequestPolicy. Les champs de la politique de cache tels que DefaultTTL, MinTTL et MaxTTL, ainsi que l’ensemble des en-têtes, cookies et chaînes de requête inclus dans la clé de cache, déterminent le taux de succès du cache (cache hit ratio) et la charge sur l’origine. Les contrôles d’origine incluent S3 OAC/OAI pour les origines S3 privées (CreateCloudFrontOriginAccessControl) et les URL signées ou les cookies signés (CreateKeyGroup, CreatePublicKey, et le processus de signature d’URL) pour protéger le contenu privé.
Global Accelerator et Anycast opèrent en dessous de la couche HTTP. Global Accelerator annonce deux adresses IP anycast statiques depuis le réseau périphérique d’AWS et achemine les flux TCP/UDP vers des points de terminaison régionaux sains (Network Load Balancers, Application Load Balancers, instances EC2 ou Elastic IPs). Comme Global Accelerator est de niveau L3/L4, il préserve le TLS de bout en bout lorsqu’il est configuré en mode pass-through TCP et améliore le routage mondial en utilisant le réseau dorsal interne d’AWS pour le « dernier kilomètre » vers les points de terminaison régionaux. Pour les protocoles non-HTTP ou lorsque le chiffrement de bout en bout et le TLS mutuel (mTLS) doivent être préservés entre le client et le backend, un chemin pass-through TCP utilisant Global Accelerator devant un Network Load Balancer (NLB) est le modèle canonique : les NLB fonctionnent au niveau L4, s’adaptent à des millions de connexions et peuvent enregistrer des cibles IP pour des pods ou des nœuds dans Amazon EKS.
Les fonctions Lambda@Edge sont associées aux comportements CloudFront et doivent être déployées (CreateFunction avec Publish) et associées dans les LambdaFunctionAssociations de la distribution pour les déclencheurs viewer-request, origin-request, origin-response et viewer-response. Comme Lambda@Edge se réplique dans plusieurs régions périphériques, les versions et la sémantique de publication sont importantes ; utilisez des objets Lambda versionnés et gérez les déploiements avec soin pour éviter tout comportement incohérent lors des mises à jour.
Services et configuration clés
La configuration d’une distribution CloudFront repose sur trois objets étroitement liés : la distribution elle-même (CreateDistribution / UpdateDistribution), les objets CachePolicy qui déterminent la clé de cache et les TTL (CreateCachePolicy), et les objets OriginRequestPolicy qui déterminent quels en-têtes/cookies/chaînes de requête sont envoyés à l’origine (CreateOriginRequestPolicy). Pour le contenu S3 privé, utilisez CreateCloudFrontOriginAccessControl ou l’ancienne identité d’accès à l’origine (OAI), et protégez davantage les accès avec des URL signées / cookies signés en utilisant CreateKeyGroup et CreatePublicKey ; le SDK ou les utilitaires cloudfront-signing génèrent l’URL signée ou le document de politique et la signature RSA. Les opérations d’invalidation sont effectuées avec CreateInvalidation pour purger sélectivement les objets mis en cache.
La configuration de Global Accelerator est créée via les appels API create-accelerator, create-listener et create-endpoint-group. L’écouteur (listener) peut être TCP:443 pour gRPC ou tout autre port TCP et transférera les flux vers des groupes de points de terminaison (endpoint groups) qui pointent vers un NLB ou un ALB régional. Lorsque Global Accelerator est utilisé en mode pass-through TCP pour préserver le TLS de bout en bout et le mTLS, associez-le à un Network Load Balancer qui a des écouteurs TCP sur le port 443 et des groupes cibles (target groups) qui enregistrent des adresses IP de pods (type de cible ip) ou des ports de nœuds (node ports). Dans Kubernetes EKS, cela est généralement réalisé en créant un Service de type LoadBalancer avec des annotations telles que service.beta.kubernetes.io/aws-load-balancer-type: “nlb” et service.beta.kubernetes.io/aws-load-balancer-target-type: “ip”, ou en utilisant l’AWS Load Balancer Controller pour créer un NLB avec un type de cible ip. Préservez l’adresse IP source du client pour la journalisation en définissant externalTrafficPolicy: Local sur le Service ou en utilisant le mode pass-through du NLB, qui conserve l’adresse IP source d’origine.
L’application des règles au niveau du réseau entre Global Accelerator et les points de terminaison régionaux utilise des listes de préfixes gérées par AWS (prefix lists) pour réduire la charge administrative. L’appel AWS CLI aws ec2 describe-managed-prefix-lists répertorie les listes de préfixes gérées ; celle nommée com.amazonaws.globalaccelerator peut être référencée dans les règles de groupe de sécurité (AuthorizeSecurityGroupIngress avec –source-prefix-list) pour n’autoriser que le trafic provenant de l’accélérateur vers un ALB/NLB. Lorsque l’ALB termine la connexion TLS, utilisez les en-têtes X-Forwarded-For pour la journalisation de l’IP client ; lors de l’utilisation du mode pass-through du NLB avec Global Accelerator, les adresses IP des clients sont préservées nativement et les backends doivent gérer la terminaison TLS/mTLS.
← Sécurité réseau et conformité · Tous les domaines · Performance et surveillance du réseau →
Entraînez-vous sur ces questions → · Tests chronométrés sur ExamRoll.io →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
Réussissez votre examen →