CloudFront-Distributionen und Origins
Erstellen Sie eine CloudFront-Distribution, konfigurieren Sie S3- und benutzerdefinierte HTTP-Origin-Server und verstehen Sie Origin Access Control für die S3-Sicherheit.
CloudFront-Distributionen und Origins ist eine kostenlose AWS Solutions Architect-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des AWS Solutions Architect-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der AWS Solutions Architect-Kurs umfasst insgesamt 4 Lektionen.
Was ist Amazon CloudFront?
Amazon CloudFront ist das globale Content Delivery Network (CDN) von AWS, das Inhalte von Edge-Standorten in mehr als 400 Städten in über 90 Ländern zwischenspeichert und ausliefert. Wenn ein Benutzer Inhalte anfordert, liefert CloudFront sie vom nächstgelegenen Edge-Standort aus. Dadurch wird die Latenz im Vergleich zum Abruf vom Ursprungsserver erheblich reduziert.
CloudFront ist nicht nur für statische Dateien geeignet, sondern beschleunigt auch dynamische Inhalte, APIs und Videostreaming. Es lässt sich in andere AWS-Services wie S3, ALB, Lambda@Edge, WAF und Shield integrieren und ist damit die standardmäßige Distributionsebene moderner AWS-Architekturen.
CloudFront-Distributionen
Eine CloudFront-Distribution ist die zentrale Konfigurationseinheit. Sie definiert: einen oder mehrere Ursprünge (Speicherorte der Inhalte), Cache-Verhaltensweisen (wie verschiedene URL-Pfade zwischengespeichert werden), Sicherheitseinstellungen und Preisstufen. Sie greifen über den Domänennamen der Distribution (z. B. d1234abcdef.cloudfront.net) oder eine benutzerdefinierte Domäne (z. B. cdn.example.com) mithilfe eines CNAME- oder ALIAS-Datensatzes auf Ihre Inhalte zu.
Nach der Erstellung benötigen Distributionen 10–15 Minuten, um weltweit an allen Edge-Standorten bereitgestellt zu werden. Änderungen an einer bestehenden Distribution benötigen ebenfalls mehrere Minuten für die Verteilung. Historisch gab es zwei Distributionstypen, heute verwenden jedoch alle Distributionen eine einheitliche Konfigurationsoberfläche.
# Create a CloudFront distribution backed by S3
aws cloudfront create-distribution \
--distribution-config '{
"Origins": {
"Quantity": 1,
"Items": [{
"Id": "S3Origin",
"DomainName": "my-bucket.s3.amazonaws.com",
"S3OriginConfig": {"OriginAccessIdentity": ""}
}]
},
"DefaultCacheBehavior": {
"TargetOriginId": "S3Origin",
"ViewerProtocolPolicy": "redirect-to-https",
"CachePolicyId": "658327ea-f89d-4fab-a63d-7e88639e58f6"
},
"Enabled": true,
"Comment": "My S3 distribution",
"CallerReference": "2026-06-20-unique"
}'S3 als CloudFront-Ursprung
Die Verwendung eines S3-Buckets als CloudFront-Ursprung ist eines der häufigsten Muster. CloudFront ruft Objekte aus S3 ab, speichert sie an Edge-Standorten zwischen und liefert nachfolgende Anfragen aus dem Cache aus, ohne erneut auf S3 zuzugreifen. Dadurch werden die Kosten für S3-Anfragen gesenkt, die Latenz für globale Benutzer verbessert und die von S3 bereitgestellte Bandbreite entlastet.
Um eine von S3 unterstützte Website bereitzustellen, müssen Sie den Bucket nicht öffentlich machen. Verwenden Sie stattdessen Origin Access Control (OAC) – den modernen Ersatz für Origin Access Identity (OAI). OAC gewährt nur der CloudFront-Distribution die Berechtigung, aus dem Bucket zu lesen. Dadurch bleibt S3 privat, während CloudFront die Inhalte öffentlich bereitstellt.
# S3 bucket policy granting OAC access to CloudFront
{
'Version': '2012-10-17',
'Statement': [{
'Effect': 'Allow',
'Principal': {
'Service': 'cloudfront.amazonaws.com'
},
'Action': 's3:GetObject',
'Resource': 'arn:aws:s3:::my-bucket/*',
'Condition': {
'StringEquals': {
'AWS:SourceArn': 'arn:aws:cloudfront::123456789:distribution/EDFDVBD6EXAMPLE'
}
}
}]
}Benutzerdefinierte HTTP-/HTTPS-Ursprünge
CloudFront unterstützt auch benutzerdefinierte Ursprünge: beliebige über das Internet erreichbare HTTP- oder HTTPS-Server, darunter EC2-Instances, Application Load Balancer, API-Gateway-Endpunkte und lokale Server. Benutzerdefinierte Ursprünge ermöglichen das Zwischenspeichern und Beschleunigen dynamischer Anwendungen und APIs, nicht nur statischer Dateien.
Wenn Sie einen ALB als benutzerdefinierten Ursprung verwenden, konfigurieren Sie die Sicherheitsgruppe des ALB so, dass sie nur Verbindungen aus den CloudFront-IP-Bereichen akzeptiert. Dadurch wird der gesamte externe Datenverkehr durch CloudFront geleitet. So können WAF-Regeln und die TLS-Terminierung am Edge genutzt werden, während der ALB innerhalb von AWS bleibt.
Origin Access Control (OAC) im Vergleich zu OAI
Origin Access Identity (OAI) war die ursprüngliche Methode, um den Zugriff eines CloudFront-Service auf einen S3-Bucket zu beschränken. Dabei handelt es sich um eine spezielle CloudFront-Benutzeridentität, der in der S3-Bucket-Richtlinie Berechtigungen erteilt werden. OAI funktioniert weiterhin, gilt jedoch als veraltet.
Origin Access Control (OAC) ist der moderne Ersatz. OAC unterstützt alle S3-Bucket-Typen (einschließlich S3 in AWS-China-Regionen und mit SSE-KMS verschlüsselter Buckets), verwendet IAM-Service-Principals für eine granularere Kontrolle und signiert Anfragen an S3 automatisch mit SigV4. Verwenden Sie für neue Distributionen immer OAC anstelle von OAI.
Protokollrichtlinie für Betrachter
Die Protokollrichtlinie für Betrachter steuert, wie CloudFront Verbindungen zwischen Benutzern (Betrachtern) und dem Edge-Standort verarbeitet:
- HTTP und HTTPS: Beide Protokolle zulassen; für vertrauliche Inhalte nicht empfohlen
- HTTP zu HTTPS umleiten: HTTP-Anfragen transparent an HTTPS umleiten; die häufigste Einstellung
- Nur HTTPS: HTTP-Verbindungen vollständig ablehnen; für eine strikte Durchsetzung von TLS verwenden
Die Protokollrichtlinie für den Ursprung steuert unabhängig davon, wie CloudFront mit Ihrem Ursprung kommuniziert: nur HTTP, nur HTTPS oder Übereinstimmung mit dem Betrachter. Bei S3-Ursprüngen mit OAC verwendet CloudFront immer HTTPS.
Benutzerdefinierte Domains und SSL/TLS-Zertifikate
Um Inhalte unter cdn.example.com statt unter der CloudFront-Domain bereitzustellen, konfigurieren Sie in der Distribution einen alternativen Domainnamen (CNAME) und verknüpfen ein SSL/TLS-Zertifikat aus dem AWS Certificate Manager (ACM). Das ACM-Zertifikat muss sich in der Region us-east-1 befinden (unabhängig davon, wo Ihre Distribution Datenverkehr bedient), da CloudFront ein globaler Service ist, der von us-east-1 aus verwaltet wird.
Erstellen Sie den Route-53-Eintrag als ALIAS-Eintrag, der auf den Domainnamen der CloudFront-Distribution verweist. CloudFront stellt Ihr Zertifikat automatisch für passende SNI-Anfragen bereit.
# Request a certificate in us-east-1 for CloudFront
aws acm request-certificate \
--domain-name cdn.example.com \
--validation-method DNS \
--region us-east-1Preisklassen
Die Preisklasse von CloudFront legt fest, welche Edge-Standorte für die Bereitstellung Ihrer Distribution verwendet werden. Höhere Preisklassen schließen teurere Edge-Standorte ein (in der Regel in Regionen mit höheren Bandbreitenkosten):
- Price Class 100: nur Nordamerika und Europa (niedrigste Kosten)
- Price Class 200: Nordamerika, Europa, Asien, Naher Osten und Afrika
- Price Class All: alle Edge-Standorte weltweit (beste Performance, höchste Kosten)
Verwenden Sie Price Class 100 für interne Tools oder Zielgruppen, die auf Nordamerika und Europa beschränkt sind. Verwenden Sie Price Class All für Anwendungen für Verbraucher mit tatsächlich globaler Zielgruppe.
Origin-Gruppen und Failover
Origin-Gruppen ermöglichen das Origin-Failover von CloudFront. Sie definieren in einer Gruppe einen primären und einen sekundären Origin. Gibt der primäre Origin einen bestimmten HTTP-Fehlercode zurück (z. B. 500, 502, 503 oder 504), wiederholt CloudFront die Anfrage automatisch beim sekundären Origin.
Origin-Failover eignet sich für die Notfallwiederherstellung: Verwenden Sie einen primären S3-Bucket in us-east-1 und ein repliziertes Backup in us-west-2 als sekundären Origin. Bei einem S3-Ausfall führt CloudFront transparent ein Failover durch, ohne dass DNS-Änderungen erforderlich sind. Dieses Muster ergänzt die S3 Cross-Region Replication.
CloudFront-Zugriffsprotokolle
CloudFront kann Zugriffsprotokolle an einen S3-Bucket übermitteln. Darin werden Details zu jeder Viewer-Anfrage aufgezeichnet: Zeitstempel, Edge-Standort, Statuscode, übertragene Bytes, Cache-Treffer oder -Fehler, User-Agent und weitere Informationen. Die Protokolle werden alle paar Minuten stapelweise übermittelt.
Verwenden Sie Zugriffsprotokolle, um Datenverkehrsmuster zu analysieren, stark nachgefragte Inhalte zu identifizieren, sicherheitsrelevante Felder (IP-Adresse, Referrer, User-Agent) zu überprüfen und Cache-Trefferquoten zu messen. Das Feld x-edge-result-type gibt an, ob die Anfrage am Edge ein Hit, Miss oder RefreshHit war.
# Enable access logging on a distribution
aws cloudfront update-distribution \
--id EDFDVBD6EXAMPLE \
--distribution-config '{
...existing config...
"Logging": {
"Enabled": true,
"Bucket": "my-logs-bucket.s3.amazonaws.com",
"Prefix": "cloudfront-logs/",
"IncludeCookies": false
}
}' \
--if-match ETVPDKIKX0DEREdge-Standorte im Vergleich zu regionalen Edge-Caches
CloudFront verfügt über eine zweistufige Caching-Infrastruktur:
- Edge-Standorte: weltweit Hunderte von PoPs in der Nähe der Endnutzer; stellen gecachte Inhalte mit minimaler Latenz bereit
- Regional Edge Caches (RECs): 13 größere Caches mit längerer Lebensdauer zwischen Edge-Standorten und Origins; stellen Inhalte bereit, die nicht beliebt genug sind, um in den kleinen Caches der Edge-Standorte zu bleiben
Wenn eine Anfrage im Cache des Edge-Standorts nicht gefunden wird, prüft CloudFront den REC, bevor die Anfrage bis zum Origin weitergeleitet wird. RECs arbeiten transparent – Sie konfigurieren sie nicht direkt –, verbessern jedoch die Cache-Trefferquoten für weniger häufig angeforderte Inhalte erheblich und reduzieren die Last auf dem Origin.
Schnelltest
Testen Sie Ihr Verständnis der AWS-Solutions-Architect-Konzepte (SAA-C03) aus dieser Lektion.
Lektionszusammenfassung
In dieser Lektion haben Sie gelernt: CloudFront-Distributionen cachen Inhalte weltweit an Edge-Standorten, OAC hält S3-Buckets privat und ermöglicht CloudFront dennoch den Zugriff und benutzerdefinierte Origins unterstützen ALBs, API Gateway und beliebige HTTP-Server. ACM-Zertifikate für CloudFront müssen in us-east-1 bereitgestellt werden. Als Nächstes sehen wir uns Cache-Verhalten und TTL-Einstellungen an.
Häufig gestellte Fragen
Ist die Lektion „CloudFront-Distributionen und Origins“ kostenlos?
Ja — der vollständige Text von „CloudFront-Distributionen und Origins“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des AWS Solutions Architect-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der AWS Solutions Architect-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „CloudFront-Distributionen und Origins“?
Erstellen Sie eine CloudFront-Distribution, konfigurieren Sie S3- und benutzerdefinierte HTTP-Origin-Server und verstehen Sie Origin Access Control für die S3-Sicherheit. Du übst AWS Solutions Architect mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um AWS Solutions Architect zu starten?
Keine Vorkenntnisse erforderlich. AWS Solutions Architect auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „CloudFront-Distributionen und Origins“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser AWS Solutions Architect-Lektion Code schreiben und ausführen?
Ja. Jede AWS Solutions Architect-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- CloudFront-Distributionen und Origins
- Cache-Verhalten und TTL-Einstellungen
- Signierte URLs, signierte Cookies und Geoblocking
- CloudFront mit WAF und Lambda@Edge