Amazon ANS-C01: Content Delivery und Edge-Networking — Lernleitfaden
Teil des AWS Advanced Networking Specialty ANS-C01 — Lernleitfaden. Üben Sie mit verifizierten Antworten im Amazon-Prüfungscenter, oder absolvieren Sie zeitlich begrenzte Übungstests auf ExamRoll.io.
Grundlegende Konzepte
Content-Bereitstellung und Edge-Networking trennen zwei verwandte Verantwortlichkeiten: den Transport von Client-Traffic mit geringer Latenz und das Fungieren als verteilte Cache-/Compute-Schicht in der Nähe der Endbenutzer. CloudFront ist ein HTTP(S)-CDN und eine Edge-Compute-Plattform, die HTTP-Antworten zwischenspeichert, TLS am Edge beendet und Code an Edge-Standorten mittels Lambda@Edge (vollständige, in Regionen replizierte Lambda-Laufzeitumgebung) oder CloudFront Functions für leichtgewichtiges JavaScript bei Viewer-Request/Response ausführen kann. Das Verhalten von CloudFront wird durch Konfigurationsobjekte für die Distribution gesteuert, die mit
undefined
erstellt und mithilfe von
undefined
- und
undefined
-Objekten feinabgestimmt werden. Felder der Cache-Richtlinie wie
undefined
,
undefined
und
undefined
sowie die Menge der Header, Cookies und Query-Strings, die im Cache-Schlüssel enthalten sind, bestimmen die Cache-Trefferquote und die Last auf dem Origin. Zu den Origin-Kontrollen gehören S3 OAC/OAI für private S3-Origins (
undefined
) und signierte URLs oder signierte Cookies (
undefined
,
undefined
und der Prozess zum Signieren von URLs), um private Inhalte zu schützen.
Global Accelerator und Anycast operieren unterhalb der HTTP-Schicht. Global Accelerator kündigt zwei statische Anycast-IP-Adressen aus dem AWS-Edge-Netzwerk an und leitet TCP/UDP-Flows zu fehlerfreien regionalen Endpunkten (Network Load Balancers, Application Load Balancers, EC2-Instanzen oder Elastic IPs). Da Global Accelerator auf L3/L4 arbeitet, bewahrt er die End-to-End-TLS-Verschlüsselung, wenn er für TCP-Pass-Through konfiguriert ist, und verbessert das globale Routing, indem er das interne AWS-Backbone für die „letzte Meile“ zu den regionalen Endpunkten nutzt. Für Nicht-HTTP-Protokolle oder wenn eine echte End-to-End-Verschlüsselung und Mutual TLS (mTLS) zwischen Client und Backend erhalten bleiben müssen, ist ein TCP-Pass-Through-Pfad, bei dem ein Global Accelerator einem Network Load Balancer (NLB) vorgeschaltet ist, das kanonische Muster: NLBs arbeiten auf L4, skalieren auf Millionen von Verbindungen und können IP-Ziele für Pods oder Nodes in Amazon EKS registrieren.
Lambda@Edge-Funktionen sind mit CloudFront-Verhaltensweisen (Behaviors) verknüpft und müssen bereitgestellt (
undefined
mit
undefined
) und in den
undefined
der Distribution für die Trigger
undefined
,
undefined
,
undefined
und
undefined
zugeordnet werden. Da Lambda@Edge in mehrere Edge-Regionen repliziert wird, sind Versionen und die Semantik der Veröffentlichung wichtig; verwenden Sie versionierte Lambda-Objekte und verwalten Sie Deployments sorgfältig, um inkonsistentes Verhalten bei Updates zu vermeiden.
Wichtige Services und Konfiguration
Die Konfiguration einer CloudFront-Distribution basiert auf drei eng miteinander verknüpften Objekten: der Distribution selbst (
undefined
/
undefined
),
undefined
-Objekten, die den Cache-Schlüssel und die TTLs bestimmen (
undefined
), und
undefined
-Objekten, die bestimmen, welche Header/Cookies/Query-Strings an den Origin gesendet werden (
undefined
). Für private S3-Inhalte verwenden Sie
undefined
oder die ältere Origin Access Identity und schützen Sie Zugriffe zusätzlich mit signierten URLs / signierten Cookies unter Verwendung von
undefined
und
undefined
; das SDK oder die
undefined
-Utilities generieren die signierte URL oder das Richtliniendokument und die RSA-Signatur. Invalidierungsoperationen werden mit
undefined
durchgeführt, um zwischengespeicherte Objekte selektiv zu löschen (Purge).
Die Konfiguration von Global Accelerator wird über die API-Aufrufe
undefined
,
undefined
und
undefined
erstellt. Der Listener kann
undefined
für gRPC oder ein beliebiger TCP-Port sein und leitet Flows an Endpunktgruppen weiter, die auf einen regionalen NLB oder ALB verweisen. Wenn Global Accelerator für TCP-Pass-Through verwendet wird, um End-to-End-TLS und mTLS zu erhalten, kombinieren Sie ihn mit einem Network Load Balancer, der TCP-Listener auf Port 443 und Zielgruppen hat, die Pod-IPs (Zieltyp
undefined
) oder Node-Ports registrieren. In Kubernetes EKS wird dies typischerweise durch die Erstellung eines
undefined
vom Typ
undefined
mit Annotationen wie
undefined
und
undefined
erreicht, oder durch die Verwendung des AWS Load Balancer Controller, um einen NLB mit dem Zieltyp
undefined
zu erstellen. Erhalten Sie die Quell-IP des Clients für das Logging, indem Sie
undefined
für den Service festlegen oder NLB-Passthrough verwenden, das die ursprüngliche Quell-IP beibehält.
Die Durchsetzung auf Netzwerkebene zwischen Global Accelerator und regionalen Endpunkten verwendet von AWS verwaltete Präfixlisten, um den administrativen Aufwand zu reduzieren. Der AWS-CLI-Aufruf
undefined
listet verwaltete Präfixlisten auf; die mit dem Namen
undefined
kann in Sicherheitsgruppenregeln (
undefined
mit
undefined
) referenziert werden, um nur von einem Accelerator stammenden Verkehr zu einem ALB/NLB zu erlauben. Wo ein ALB die TLS-Verbindung beendet, verwenden Sie
undefined
-Header für das Logging der Client-IP; bei der Verwendung von NLB-Passthrough mit Global Accelerator bleiben die Client-IPs nativ erhalten, und die Backends müssen die TLS-Terminierung/mTLS handhaben.
Entwurfsmuster und Kompromisse
Wenn die Anforderung Content-Caching plus Edge-Computing und HTTP-Antworten mit geringer Latenz ist, ist CloudFront das richtige Werkzeug. CloudFront sollte TLS am Edge beenden, wenn die Vertraulichkeit des Origins nicht erforderlich ist; verwenden Sie CachePolicy und OriginRequestPolicy, um Origin-Anfragen zu minimieren, indem Sie Header und Cookies aus dem Cache-Schlüssel ausschließen, wo dies sicher ist. Für dynamische Personalisierung, die dennoch vom Caching profitiert, verwenden Sie die Normalisierung des Cache-Schlüssels (Variieren nach einem minimalen Satz von Headern oder signierten Cookies) und entwerfen Sie die Cache-Invalidierung über versionierte Objektschlüssel anstelle von häufigen CreateInvalidation-Aufrufen.
Für Protokolle, die End-to-End-TLS erfordern, sowie für HTTP/2- und gRPC-Flows, die erst am Backend entschlüsselt werden dürfen (für mTLS), schalten Sie einen TCP/L4-Pfad mit Global Accelerator + NLB mit TLS-Passthrough vor. Der Kompromiss ist der Verlust der HTTP-Caching- und Edge-Computing-Fähigkeiten von CloudFront; jedoch bietet Global Accelerator statische Anycast-IPs, verbessertes Routing und regionales Failover. ALB unterstützt HTTP/2 und gRPC, wenn der ALB TLS terminiert, was anwendungsschichtbasiertes Routing (Host-/Pfad-basiert) und WAF-Integration ermöglicht, aber die Terminierung am ALB unterbricht End-to-End-mTLS und verlagert die Zertifikatsverwaltung auf den Load Balancer. Für massiv parallele Verbindungen skalieren NLBs auf L4 besser – NLBs sind für die Verbindungsrate optimiert und erhalten die Quell-IP, während ALBs für HTTP-Level-Routing und Funktionen wie Listener-Regeln für Host-/Pfad-Level-Routing und die Integration mit Cognito/OIDC ausgelegt sind.
Sicherheitskontrollen und regionale Isolationsmuster erfordern eine sorgfältige Auswahl zwischen Shared VPC Peering, Transit Gateway, PrivateLink und Load Balancer Endpunkten. PrivateLink bietet granulare Zugriffskontrollen auf Service-Ebene und skaliert gut für viele Konsumenten, da jeder Konsument einen Interface-Endpunkt in seiner VPC erstellt. Transit Gateway eignet sich für die Zentralisierung mit hoher Bandbreite, es fehlen ihm jedoch die granularen Kontrollen pro Service und die Sichtbarkeit auf SNI/Host-Ebene, die ein PrivateLink-Endpunkt bietet. Das Design muss Routing-Limits, kontoübergreifende Berechtigungen und die Möglichkeit, Sicherheitsgruppen an der Service-Grenze anzuwenden, berücksichtigen.
Häufige Fallstricke und Entscheidungskriterien
Ein häufiger Fehler ist die falsche Mischung von Cache-Kontrollen: Wenn man zulässt, dass vom Origin gesetzte Cache-Control-Header das Edge-Caching steuern, während gleichzeitig CloudFront-Cache-Richtlinien gelten, können unerwartete TTLs entstehen; bevorzugen Sie explizite CachePolicy-Objekte und verlassen Sie sich nicht ausschließlich auf Origin-Header, es sei denn, dies geschieht absichtlich. Eine weitere Falle ist die Wahl eines ALB, wenn End-to-End-TLS oder Millionen von gleichzeitigen TCP-Verbindungen erforderlich sind; ALB-terminiertes TLS verhindert mTLS und kann bei sehr hoher Verbindungsgleichzeitigkeit zum Engpass werden. Sicherheitskonfigurationen, die den Zugriff auf einen internetseitigen ALB einschränken sollen, vergessen oft, den Zugriff über die Global Accelerator-Präfixliste oder eine WAF-Regel zu sperren; ohne explizite Allow-Regeln bleibt der ALB über seinen öffentlichen DNS erreichbar. Schließlich können Lambda@Edge-Deployments, die keine versionierten Lambda-Funktionen verwenden, während der Rollouts zu inkonsistentem Verhalten führen, da die Zuordnung in der Distribution an eine bestimmte veröffentlichte Version gebunden ist.
Praktisches Problem: Anwendungsfallszenario
Unternehmen: AcmeTelemetrics – Herausforderung: Eine globale Flotte von IoT-Verkaufsautomaten verwendet gRPC über TCP:443 zu einem Backend in us-east-1, das auf Amazon EKS läuft; die Anforderung ist End-to-End Mutual TLS (mTLS), sodass der Datenverkehr während der Übertragung niemals entschlüsselt wird, Tausende von gleichzeitigen Verbindungen unterstützt werden und statische IPs in die Automaten programmiert werden müssen.
Ansatz:
- Erstellen Sie einen Global Accelerator (aws globalaccelerator create-accelerator) mit zwei statischen Anycast-IPs und einem TCP-Listener auf Port 443 (create-listener). Konfigurieren Sie eine Endpunktgruppe, die auf einen regionalen Network Load Balancer in us-east-1 zielt (create-endpoint-group).
- Stellen Sie einen NLB in us-east-1 mit einem TCP-Listener auf 443 und einer Zielgruppe vom Typ ip bereit. Erstellen Sie in Kubernetes einen Service vom Typ LoadBalancer mit den Annotationen service.beta.kubernetes.io/aws-load-balancer-type: “nlb” und service.beta.kubernetes.io/aws-load-balancer-target-type: “ip”, setzen Sie externalTrafficPolicy: Local und registrieren Sie Pod-IPs als Ziele, damit TLS direkt an die Pods durchgeleitet wird.
- Deployen Sie die gRPC-Server in EKS und terminieren Sie TLS/mTLS in den Pod-Prozessen. Speichern Sie Zertifikate und Vertrauensmaterial in Kubernetes Secrets; konfigurieren Sie den Server so, dass er für Mutual TLS eine Client-Zertifikatsüberprüfung erfordert.
- Sperren Sie den direkten Zugriff auf den NLB, sodass nur der Global Accelerator ihn erreichen kann, indem Sie die Sicherheitsgruppe des NLB aktualisieren, um eingehenden Verkehr nur von der von AWS verwalteten Global Accelerator-Präfixliste zuzulassen (zu finden über aws ec2 describe-managed-prefix-lists und diese Präfixliste in den Regeln der Sicherheitsgruppe referenzieren). Dies verhindert, dass die Automaten den Accelerator umgehen und direkt auf den NLB zugreifen.
- Überwachen Sie die Verbindungsgleichzeitigkeit und Skalierung durch die Konfiguration des Kubernetes HorizontalPodAutoscaler und des Cluster Autoscaler. Stellen Sie sicher, dass der Slow Start und die Deregistrierungsverzögerung der NLB-Zielgruppe für ein sauberes Scale-In optimiert sind (modify-target-group-attributes). Verwenden Sie CloudWatch-Metriken von Global Accelerator, NLB und EKS, um Verbindungsanzahlen und den Zustand zu beobachten.
AWS-Begründung: Global Accelerator stellt die von den Verkaufsautomaten benötigten statischen Anycast-IPs bereit und leitet TCP-Flows über das AWS-Backbone zum regionalen NLB, was die Zuverlässigkeit und Latenz verbessert. Der NLB erhält die ursprüngliche TCP-Verbindung und Quell-IP des Clients und unterstützt massiv parallele Verbindungen, was es den Pods ermöglicht, die mTLS-Terminierung ohne zwischengeschaltete TLS-Terminierung durchzuführen. Die Verwendung der von Global Accelerator verwalteten Präfixliste in den Regeln der Sicherheitsgruppe verhindert eine direkte Umgehung des Accelerators und erzwingt, dass der Verkehr nur über die Anycast-IPs ankommt. Diese Kombination erfüllt die Anforderungen an End-to-End-Verschlüsselung, mTLS, hohe Gleichzeitigkeit, statische IPs und Autoscaling in EKS.
← Netzwerksicherheit und Compliance · Alle Domänen · Netzwerk-Performance und Monitoring →
Diese Fragen üben → · Zeitlich begrenzte Übung auf 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.
Bestehe deine Prüfung →