Amazon CloudFront Eğitimleri: Amazon S3 için Dinamik İçerik Dağıtımı Ayarlama

Amazon S3 için Amazon CloudFront dağıtımı ayarlama

Amazon CloudFront, web içeriğinizin dağıtımını hızlandırmak ve kaynak sunucularınızdaki yükü azaltmak için Amazon Basit Depolama Hizmeti (Amazon S3) ile sorunsuz bir şekilde çalışır. Amazon S3, verileri bulutta depolamak ve web içeriği olarak teslim etmek isteyenler için mükemmel bir seçimdir. İşlevsellik sunmak veya dinamik içerik teslim etmek istiyorsanız Amazon Esnek İşlem Bulutu (Amazon EC2) için Amazon CloudFront dağıtımı ayarlama eğitimini inceleyin.

Amazon CloudFront CDN dağıtımını nasıl ayarlayacağınızı öğrenmek için AWS TechTips tanıtım videosunu izleyin

Amazon S3 ile Amazon CloudFront dağıtımı ayarlamanın faydaları nelerdir?

Amazon CloudFront içerik teslim ağı (CDN) dağıtımı, S3 kullanıcılarına birçok avantaj sağlar.

Hızlı veri aktarım hızları

CloudFront, içeriğinizi dünyanın dört bir yanındaki izleyicilere hızlı bir şekilde sunmanıza olanak tanır. Birçok CloudFront uç konumu, içeriğinizi önbelleğe alır ve kullanıcılarınıza daha yakın bir yerde teslim eder, böylece gecikmeyi azaltır ve kaynak sunucunuzun yükünü boşaltır.

Gelişmiş güvenlik ve performans

CloudFront ayrıca S3 bucket'ınıza erişimi kısıtlar. Yalnızca CloudFront uç noktalarının içeriğinize erişim sağlamasına izin verdiğinizde, uygulamalarınız daha güvenli ve duyarlı olacaktır.

Uygun maliyetli veri aktarımları

CloudFront fiyatlandırması, teslimatınızı bütçenize göre özelleştirmenizi sağlar. AWS; S3 ve CloudFront gibi AWS tarafından barındırılan kaynaklar arasındaki veri aktarımları için ücret talep etmez, bu da kaynak getirme işlemlerini uygun maliyetli bir seçenek hâline getirir.

CloudFront ve S3 ile dinamik içerik yükleme hızınızı artırma

1. Adım: AWS Konsolu'na gidin

Başlamak için AWS Yönetim Konsolu'nda oturum açın ve hizmet listesinden Amazon S3'ü seçin. 

2. Adım: Amazon S3 bucket'ı oluşturun

Buradan yapabilecekleriniz:

  • Hâlihazırda S3 bucket'ınız yoksa Bucket oluştur'u seçerek bir tane oluşturabilirsiniz.
  • DNS uyumlu bir bucket adı belirtebilirsiniz.
  • Bucket'ınızın yerleştirilmesini istediğiniz bölgeyi seçebilirsiniz.

Ardından bucket'ınızı oluşturabilirsiniz. Konsolu veya S3 API'lerini kullanarak, dilerseniz bucket'ınıza daha fazla dosya ekleyebilir ya da yeni bucket'lar oluşturabilirsiniz. S3 bucket'ını ilk kez oluşturduğunuzda, DNS adı değişikliğinin aktarılması biraz zaman alır (genellikle 15 dakikaya kadar sürer).

3. Adım: CloudFront dağıtımı oluşturun

Ardından, AWS konsolundaki hizmet listesinin Ağ ve İçerik Teslimi bölümünden CloudFront'a gidin. CloudFront'u zaten açtıysanız buna, daha hızlı erişim için geçmişinizden de erişebilirsiniz. Buradan, Dağıtım Oluştur'a tıklayarak yeni bir web dağıtımı oluşturabilirsiniz.  

4. Adım: Dağıtım ayarlarınızı belirleyin

Şimdi dağıtım ayarlarınızı girmeye başlayabilirsiniz. Bu işleme, Kaynak Etki Alanı Adı alanında oluşturduğunuz S3 etki alanını belirterek başlarsınız.  

5. Adım: Kaynağınızı yapılandırın

Kaynak Etki Alanı Adı bilginizi girin. S3 bucket'ını aynı AWS hesabında oluşturduysanız alan içindeki açılır listede görünmelidir. Farklı bir hesaptaysa CloudFront erişim izinleri vermek için bucket ayarlarınızı kontrol edin.

Erişim izinleri vermek, CloudFront'un bucket'ınızdaki nesneleri okumasını sağlar. Tüm nesnelerinizi bir alt klasöre koyarsanız bir başlangıç yolu da belirtebilirsiniz.

6. Adım: Kaynak Erişim Kimliğini yapılandırın

Buradan Amazon S3 kaynağınıza erişimi kısıtlayabilirsiniz. Evet'i seçerseniz sistem sizden bir Kaynak Erişim Kimliği oluşturmanızı veya mevcut bir kimlik seçmenizi ister. Bu, CloudFront'un bucket'ınızdaki nesneleri okumasını sağlar. CloudFront'un bucket politikasını sizin için güncellemesine de izin verebilirsiniz.

Erişimi kısıtlamamayı seçerseniz kullanıcılar CloudFront'unuzu atlayabilir ve içeriğinize doğrudan S3 bucket URL'si üzerinden erişebilir. Herhangi bir özel veya hassas içerik için doğru erişim kısıtlamalarını ayarlamak önemlidir.

Bu bölümde, tüm nesnelerinizi bir alt klasörde depolarsanız bir Kaynak Yolu da belirtebilirsiniz. CloudFront'un her istekte kaynağa ileteceği belirli bir değere sahip bir Kaynak Özel Başlığı sağlayabilirsiniz. Bu, özel kaynaklar için kullanışlıdır, çünkü CloudFront'tan başka bir istemciye kıyasla hangi isteğin geldiğini gösterir.

7. Adım: Varsayılan önbellek davranışını yapılandırın

Daha sonra Varsayılan Önbellek Davranış Ayarları altında çeşitli seçeneklere ulaşabilirsiniz.

Görüntüleyici Protokol Politikası, HTTP ve HTTPS protokollerini nasıl kullanacağınızı seçmenize olanak tanır. Örneğin, her iki protokolü kullanarak istekleri desteklemek için HTTP isteklerini HTTPS'ye yönlendirmeyi seçebilirsiniz. Yalnızca HTTPS'yi desteklemeyi de belirtebilirsiniz, bu durumda HTTP trafiği düşer. Bu, en iyi web güvenliği uygulamalarıyla uyumlu olmanızı sağlar.

CloudFront, hangi HTTP yöntemlerini kabul etmesini istediğinizi belirlemenize izin verir. Varsayılan ayar GET, HEAD'dir. Diğer seçeneklerden (GET, HEAD, OPTIONS veya GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE) birini seçtiğinizde CloudFront'un seçenekler yöntemini önbelleğe nasıl aldığını yapılandırmanıza olanak tanır.

Daha sonra hangi HTTP başlıklarını kaynağınıza iletmek istediğinizi belirtebilirsiniz. Başlıklara genellikle Amazon S3 kaynağınız için ilgili istek ve yanıt davranışına göre izin vermeniz önerilir. Özellikle, kaynağınız hangi nesnenin döndürüleceğine karar vermek için belirli HTTP başlıklarına bakıyorsa bunlara izin vermelisiniz. Tüm HTTP başlıklarını iletirseniz CloudFront aslında önbelleğe alma katmanlarını atlayacak ve nesneyi önbelleğe almaya çalışmayacaktır.

8. Adım: TTL'lerinizi yapılandırın

Bu bölümde, içeriğin süresi dolmadan önce önbellekte ne kadar kalacağını yöneten Yaşam Süresi'ni (TTL) belirleyebilirsiniz. Varsayılan olarak, Kaynak Önbellek Başlıklarını Kullan seçilir. Alternatif olarak, CloudFront önbelleğinizde depolanacak nesnelerin üst ve alt zaman sınırlarını özelleştirebilirsiniz.

Bu ayarları düzenlemeyi seçerseniz saniye cinsinden minimum ve maksimum TTL süresini girmeniz istenir. Ardından, başlığınız minimum veya maksimum değerinizin dışında bir değer döndürürse CloudFront minimum ya da maksimum TTL'nizi kullanır. Kaynağınızdan döndürülen değer bu sınırlar içindeyse CloudFront bu değeri kullanır.

Kaynağınız önbellek denetimi başlığı döndürmezse bunun yerine varsayılan TTL kullanılır. Örnek videomuzda, varsayılan değer 86.400 saniyeye ayarlanmıştır, bu da 24 saate eş değerdir.

9. Adım: Ek özellikleri yapılandırın

Bu bölümde, içeriği çerezlere veya sorgu dizesi parametrelerine göre önbelleğe almayı seçebilirsiniz.

HTTP başlıklarında olduğu gibi, yalnızca kaynağınızla ilgili çerezlere veya sorgu dizesi değerlerine izin vermenizi öneririz. Bunları iletmeyi de seçebilirsiniz. Bu durumda CDN bunları önbelleğe almaya çalışacaktır. Tümünü iletmeyi seçerseniz dikkatli olun. CloudFront her şeyi iletiyorsa bu durum önbellek eşleşme oranınızı büyük ölçüde azaltabilir. Sonuç olarak, sorguların ve çerez değerlerinin farklı olası varyasyonları nedeniyle birden çok kez önbelleğe alınan çok sayıda nesne olabilir.

Ardından şu alanlarda daha fazla seçeneğiniz olacaktır:

Dağıtım Ayarları altında CloudFront ağının hangi bölümlerini kullanmak istediğinizi belirtebilirsiniz. Varsayılan olarak, CloudFront en iyi performans için tüm uç konumlarını kullanır. Bu, içeriğinizin dünya çapında mümkün olduğunca hızlı bir şekilde sunulmasına yardımcı olacaktır.

Yalnızca ABD, Kanada ve Avrupa gibi belirli bölgelerde izleyici bekliyorsanız yalnızca bu bölgeleri belirterek daha düşük fiyat sınıfından yararlanabilirsiniz. Bu, bu bölgelerin dışındaki izleyicilerin içeriğinize erişemeyeceği anlamına gelmez. CloudFront onları yalnızca en yakın uç konumlarına yönlendirir. AWS Web Uygulaması Güvenlik Duvarı'nı (AWS WAF) CloudFront ile kullanacaksanız bu ayarları buradan da yapılandırabilirsiniz.

Dağıtımınızı kaydetmeden önce Güvenli Yuva Katmanı (SSL) sertifikanızı yönetmeniz önemlidir. Burada iki seçenek vardır:

  • Varsayılan CloudFront Sertifikası'nı kullanın.
  • AWS Sertifika Yöneticisi'nden (ACM) Özel SSL Sertifikası yükleyin veya isteyin ve CloudFront dağıtımınızla ilişkilendirin. Bu, özel bir etki alanı kullanıyorsanız uygundur.

Son olarak, aşağıdakileri belirtmek için kalan ayarları kullanabilirsiniz:

  • Hangi Desteklenen HTTP Sürümlerini kullanmak istiyorsunuz.
  • Günlük Kaydı kullanıp kullanmayacağınız ve CloudFront'un herhangi bir erişim günlüğünü depolamak üzere Günlükler için hangi Bucket'ı kullanması gerektiği.
  • Çerez Günlük Kaydının etkin olup olmadığı.

Buradan bir açıklama girebilir ve dağıtımı oluşturabilirsiniz. Dağıtımınız kaydedildikten sonra dünya çapında dağıtılması yaklaşık 15 dakika sürer.

10. Adım: CloudFront dağıtımınızı test edin

Dağıtım hazır olduğunda, ayarlarınızı gözden geçirmek için üzerine tıklayabilirsiniz. İlk ekranda size birkaç sekme ve belirttiğiniz yapılandırma ayarları gösterilir. Buradan, gerekirse ek kaynaklar ve çoklu önbellek davranışları ekleyebilirsiniz.

CloudFront ayrıca, Müşteri Hata Yanıtı Oluştur'u seçerek özel hata sayfaları oluşturmanıza veya hata yanıtlarının önbellekte ne kadar süre kalacağını değiştirmenize olanak tanır. Bu ayarları her HTTP hata kodu için uyarlayabilirsiniz. Her 403 hatası için tekrar denemek istediğinizi varsayalım. Bu durumda, 0 saniyelik Minimum TTL belirtebilirsiniz. CloudFront, varsayılan olarak kaynaktaki yükün bir kısmını hafifletmek için her şeyi 300 saniye boyunca önbelleğe alır. İsterseniz her hata kodu için özel hata yanıtları da oluşturabilirsiniz.

Belirli konumlardaki izleyicilerin içeriğinizi görmesine izin vermek veya engellemek için Kısıtlamalar sekmesinden Coğrafi Kısıtlamaları Etkinleştir'i seçebilirsiniz. Geçersiz Kılma sekmesi, CloudFront uç önbelleklerinden özel nesneleri kaldırmanıza izin verir. Son olarak, dağıtımlarınızı düzenlemenize ve tanımlamanıza yardımcı olan özel etiketler uygulamak için Etiket sekmesini kullanabilirsiniz.

Tamamlandığında, dağıtımınızın çalıştığını görmek için etki alanını kopyalayın ve tarayıcınıza yapıştırın. Ayrıca bir Amazon EC2 web bulut sunucusu ile CloudFront kullanarak uygulamanızın dinamik içeriğini nasıl teslim edeceğinizi öğrenebilirsiniz.

CloudFront'u kullanmaya başlamanıza yardımcı olacak Amazon CloudFormation şablonu

Amazon CloudFormation şablonu, CloudFront'u kullanmaya başlamanıza da yardımcı olacaktır. Bu şablon, statik dosyalarınızı uygun ölçekte depolamak için bir S3 bucket'ı başlatır ve ardından bu içeriği CloudFront CDN üzerinden kullanıcılarınıza teslim eder.

Daha fazla bilgi için Amazon S3 + Amazon CloudFront: Bulutta Eşleştirme başlıklı blog yazısını okuyun ve CloudFormation şablonunu edinin.

CloudFront ile İçerik Teslimatı ile ilgili ek kaynaklar

CloudFront'u kullanmaya nasıl başlayacağınızdan emin değil misiniz? İçerik teslim ağlarını kullanmaya başlama kılavuzumuza bakın veya Amazon Web Services İçerik Teslim Ağı Belgeleri merkezine gidin.

Premium Destek Bilgi Merkezimizde CloudFront dağıtımınızı S3 üzerinde yönetmekle ilgili şu kaynaklara göz atın:

Amazon CloudFront ile ilgili daha fazla kaynak keşfedin

Kaynakların yer aldığı sayfayı ziyaret edin
Oluşturmaya hazır mısınız?
Amazon CloudFront'u ücretsiz kullanmaya başlayın
Başka sorunuz mu var?
Bize ulaşın