CloudFront Dağıtımları ve Kaynaklar
Bir CloudFront dağıtımı oluşturacak, S3 ve özel HTTP kaynaklarını yapılandıracak ve S3 güvenliği için Kaynak Erişim Denetimi'ni anlayacaksınız.
CloudFront Dağıtımları ve Kaynaklar, CoddyKit'te ücretsiz bir Cloud & IT Cert Prep dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cloud & IT Cert Prep öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cloud & IT Cert Prep kursu toplamda 4 dersten oluşur.
Amazon CloudFront Nedir?
Amazon CloudFront, içeriği 90'dan fazla ülkedeki 400'den fazla şehre dağılmış edge locations üzerinden önbelleğe alan ve sunan, AWS'nin küresel İçerik Dağıtım Ağı'dır (CDN). Bir kullanıcı içerik istediğinde CloudFront, içeriği en yakın edge location'dan sunar. Böylece içeriğin origin sunucusundan alınmasına kıyasla gecikme önemli ölçüde azalır.
CloudFront yalnızca statik dosyalar için kullanılmaz; dinamik içeriği, API'leri ve video akışını da hızlandırır. S3, ALB, Lambda@Edge, WAF ve Shield gibi diğer AWS hizmetleriyle entegre olarak modern AWS mimarileri için standart dağıtım katmanı görevi görür.
CloudFront Dağıtımları
Bir CloudFront dağıtımı, temel yapılandırma birimidir. Dağıtım; bir veya daha fazla origin'i (içeriğin bulunduğu yerleri), önbellek davranışlarını (farklı URL yollarının nasıl önbelleğe alınacağını), güvenlik ayarlarını ve fiyatlandırma katmanlarını tanımlar. İçeriğinize dağıtımın alan adıyla (ör. d1234abcdef.cloudfront.net) veya CNAME ya da ALIAS kaydı kullanan özel bir alan adıyla (ör. cdn.example.com) erişirsiniz.
Oluşturulduktan sonra dağıtımların tüm edge locations genelinde dağıtılması 10–15 dakika sürer. Mevcut bir dağıtımda yapılan değişikliklerin yayılması da birkaç dakika alır. Geçmişte iki dağıtım türü vardı; ancak günümüzde tüm dağıtımlar birleşik yapılandırma arayüzünü kullanır.
# 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"
}'CloudFront Origin'i Olarak S3
Bir S3 bucket'ını CloudFront origin'i olarak kullanmak en yaygın yaklaşımlardan biridir. CloudFront, nesneleri S3'ten alır, edge locations üzerinde önbelleğe alır ve sonraki istekleri S3'e yeniden gitmeden önbellekten sunar. Bu, S3 istek maliyetlerini azaltır, küresel kullanıcılar için gecikmeyi iyileştirir ve S3'ün bant genişliği kullanımını azaltır.
S3 destekli bir site sunmak için bucket'ı genel erişime açmanız gerekmez. Bunun yerine Origin Access Control (OAC) kullanın; bu, Origin Access Identity'nin (OAI) modern alternatifidir. OAC, yalnızca CloudFront dağıtımına bucket'tan okuma izni verir. Böylece S3 özel kalırken CloudFront içeriği genel erişime açık şekilde sunar.
# 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'
}
}
}]
}Özel HTTP/HTTPS Origin'leri
CloudFront, özel origin'leri de destekler: EC2 örnekleri, Application Load Balancer'lar, API Gateway uç noktaları ve şirket içi sunucular dâhil olmak üzere internetten erişilebilen tüm HTTP veya HTTPS sunucuları. Özel origin'ler, CloudFront'un yalnızca statik dosyaları değil, dinamik uygulamaları ve API'leri de önbelleğe alıp hızlandırmasını sağlar.
Bir ALB'yi özel origin olarak kullanırken ALB'yi, güvenlik grubunda yalnızca CloudFront IP aralıklarından gelen bağlantıları kabul edecek şekilde yapılandırın. Bu, tüm dış trafiği CloudFront üzerinden geçmeye zorlar; WAF kurallarının ve TLS sonlandırmasının edge üzerinde etkinleştirilmesini sağlarken ALB'yi AWS içinde tutar.
Origin Access Control (OAC) ile OAI Karşılaştırması
Origin Access Identity (OAI), S3 bucket erişimini CloudFront ile kısıtlamanın ilk yöntemiydi. S3 bucket ilkesinde izin verilen özel bir CloudFront kullanıcı kimliğidir. OAI hâlâ çalışsa da eski bir yöntem olarak kabul edilir.
Origin Access Control (OAC), bunun modern alternatifidir. OAC, tüm S3 bucket türlerini (AWS China Region'larındaki S3 ve SSE-KMS ile şifrelenmiş bucket'lar dâhil) destekler, daha ayrıntılı denetim için IAM hizmet sorumlularını kullanır ve S3'e yönelik istekleri SigV4 kullanarak otomatik olarak imzalar. Yeni dağıtımlarda her zaman OAI yerine OAC kullanın.
Görüntüleyici Protokol İlkesi
Viewer Protocol Policy, CloudFront'un kullanıcılar (görüntüleyiciler) ile edge location arasındaki bağlantıları nasıl ele alacağını denetler:
- HTTP and HTTPS: her ikisine de izin verir; hassas içerik için önerilmez
- Redirect HTTP to HTTPS: HTTP isteklerini şeffaf biçimde HTTPS'ye yönlendirir; en yaygın ayardır
- HTTPS Only: HTTP bağlantılarını tamamen reddeder; katı TLS zorlaması için kullanılır
Ayrı olarak Origin Protocol Policy, CloudFront'un origin'inizle nasıl iletişim kuracağını denetler: yalnızca HTTP, yalnızca HTTPS veya görüntüleyiciyle eşleşen protokol. OAC kullanan S3 origin'lerinde CloudFront her zaman HTTPS kullanır.
Özel Alan Adları ve SSL/TLS Sertifikaları
CloudFront alan adı yerine cdn.example.com adresinden içerik sunmak için dağıtımda bir Alternatif Alan Adı (CNAME) yapılandırır ve AWS Certificate Manager'dan (ACM) bir SSL/TLS sertifikası eklersiniz. Dağıtımınız trafiği nereden sunarsa sunsun, ACM sertifikası us-east-1 Bölgesi'nde olmalıdır; bunun nedeni CloudFront'un us-east-1 üzerinden yönetilen küresel bir hizmet olmasıdır.
Route 53 kaydını, CloudFront dağıtım alan adına işaret eden bir ALIAS kaydı olarak oluşturun. CloudFront, eşleşen SNI isteklerine sertifikanızı otomatik olarak sunar.
# Request a certificate in us-east-1 for CloudFront
aws acm request-certificate \
--domain-name cdn.example.com \
--validation-method DNS \
--region us-east-1Fiyat Sınıfları
CloudFront'un Fiyat Sınıfı, dağıtımınızı sunmak için hangi uç konumların kullanılacağını denetler. Daha yüksek fiyat sınıfları, daha pahalı uç konumları içerir (genellikle bant genişliği maliyetlerinin daha yüksek olduğu bölgelerde):
- Fiyat Sınıfı 100: Yalnızca Kuzey Amerika ve Avrupa (en düşük maliyet)
- Fiyat Sınıfı 200: Kuzey Amerika, Avrupa, Asya, Orta Doğu, Afrika
- Tüm Fiyat Sınıfları: dünya genelindeki tüm uç konumlar (en iyi performans, en yüksek maliyet)
İç araçlar veya kitlesi Kuzey Amerika ve Avrupa ile sınırlı uygulamalar için Fiyat Sınıfı 100'ü kullanın. Gerçek anlamda küresel tüketici uygulamaları için Tüm Fiyat Sınıfları'nı kullanın.
Kaynak Grupları ve Yük Devretme
Kaynak grupları, CloudFront kaynakları arasında yük devretmeyi etkinleştirir. Bir grup içinde bir birincil kaynak ve bir ikincil kaynak tanımlarsınız. Birincil kaynak belirli bir HTTP hata kodu (ör. 500, 502, 503, 504) döndürürse CloudFront isteği otomatik olarak ikincil kaynağa yeniden gönderir.
Kaynaklar arasında yük devretme, olağanüstü durum kurtarma için kullanışlıdır: us-east-1'de birincil bir S3 Bucket, us-west-2'de ise ikincil kaynak olarak çoğaltılmış bir yedek tutun. CloudFront, DNS değişiklikleri gerektirmeden bir S3 kesintisi sırasında işlemleri sorunsuz biçimde ikincil kaynağa aktarır. Bu yaklaşım, S3 Cross-Region Replication özelliğini tamamlar.
CloudFront Erişim Günlükleri
CloudFront, erişim günlüklerini bir S3 Bucket'a göndererek her görüntüleyici isteğiyle ilgili zaman damgası, uç konum, durum kodu, aktarılan bayt sayısı, önbellek isabeti/kaçırması, kullanıcı aracısı ve daha fazlası gibi ayrıntıları kaydedebilir. Günlükler birkaç dakikada bir toplu olarak gönderilir.
Trafik eğilimlerini analiz etmek, yoğun içerikleri belirlemek, güvenlikle ilgili alanları (IP, yönlendiren, kullanıcı aracısı) denetlemek ve önbellek isabet oranlarını ölçmek için erişim günlüklerini kullanın. x-edge-result-type alanı, isteğin uç konumda Hit, Miss veya RefreshHit olup olmadığını gösterir.
# 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 ETVPDKIKX0DERUç Konumlar ve Bölgesel Uç Önbellekleri
CloudFront'un iki katmanlı bir önbellekleme altyapısı vardır:
- Uç konumlar: son kullanıcılara yakın, dünya genelindeki yüzlerce PoPs; önbelleğe alınmış içeriği en düşük gecikmeyle sunar
- Bölgesel Uç Önbellekleri (REC'ler): uç konumlar ile kaynaklar arasında bulunan, daha büyük ve daha uzun süre yaşayan 13 önbellek; küçük uç konumu önbelleklerinde kalamayacak kadar az popüler olan içeriği sunar
Bir istek uç konumu önbelleğinde bulunamazsa CloudFront, kaynağa kadar gitmeden önce REC'ü kontrol eder. REC'ler şeffaftır; bunları doğrudan yapılandırmazsınız. Ancak uzun kuyruktaki içeriklerin önbellek isabet oranlarını önemli ölçüde artırır ve kaynak yükünü azaltırlar.
Hızlı Kontrol
Bu dersteki AWS Solutions Architect (SAA-C03) kavramlarını anlayıp anlamadığınızı test edin.
Ders Özeti
Bu derste şunları öğrendiniz: CloudFront dağıtımları, içeriği dünya genelindeki uç konumlarda önbelleğe alır, OAC, CloudFront erişimine izin verirken S3 Bucket'larını gizli tutar ve özel kaynaklar ALB'leri, API Gateway'i ve herhangi bir HTTP sunucusunu destekler. CloudFront için ACM sertifikaları us-east-1'de sağlanmalıdır. Sırada önbellek davranışlarını ve TTL ayarlarını inceleyeceğiz.
Sıkça Sorulan Sorular
“CloudFront Dağıtımları ve Kaynaklar” dersi ücretsiz mi?
Evet — “CloudFront Dağıtımları ve Kaynaklar” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cloud & IT Cert Prep kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cloud & IT Cert Prep kursu toplamda 4 dersten oluşur.
“CloudFront Dağıtımları ve Kaynaklar” dersinde ne öğreneceğim?
Bir CloudFront dağıtımı oluşturacak, S3 ve özel HTTP kaynaklarını yapılandıracak ve S3 güvenliği için Kaynak Erişim Denetimi'ni anlayacaksınız. Cloud & IT Cert Prep ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Cloud & IT Cert Prep öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Cloud & IT Cert Prep, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“CloudFront Dağıtımları ve Kaynaklar” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Cloud & IT Cert Prep dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Cloud & IT Cert Prep dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- CloudFront Dağıtımları ve Kaynaklar
- Önbellek Davranışları ve TTL Ayarları
- İmzalı URL'ler, İmzalı Çerezler ve Coğrafi Kısıtlama
- WAF ve Lambda@Edge ile CloudFront