AWS Türkçe Blog

Yeni – Amazon CloudFront için HTTP/3 Desteği

Orijinal makale: Link (Channy Yun, AWS Principal Developer Advocate)

Amazon CloudFront, kullanıcılara coğrafi olarak daha yakın olan ve bilgisayarlarına çok daha hızlı ulaşan, birbirine bağlı sunuculardan oluşan bir içerik dağıtım ağı (content delivery network – CDN) hizmetidir. Amazon CloudFront, otomatik ağ eşleme ve akıllı yönlendirme ile küresel olarak dağılmış 410’dan fazla Varlık Noktası (PoP) aracılığıyla veri sağlayarak gecikmeyi azaltır.

Amazon CloudFront ile içerik, API istekleri ve yanıtları veya uygulamalar, kullanıcı istemcisi ile CloudFront arasındaki iletişimi şifrelemek ve güvenliğini sağlamak için en son Transport Layer Security (TLS) sürümü üzerinden Hypertext Transfer Protocol (HTTP) sürüm 1.1 ve 2.0 üzerinden teslim edilebilir.

Bugün Amazon CloudFront için HTTP sürüm 3.0 (HTTP/3) desteği ekliyoruz. HTTP/3, mevcut transmission control protocol (TCP), TLS ve HTTP/2’nin özelliklerini birleştiren ve geliştiren, kullanıcı datagram protokolü tabanlı, akış çoğullamalı ve güvenli aktarım protokolü olan QUIC‘i kullanır. Artık, dünya çapındaki tüm uç konumlardaki tüm yeni ve mevcut CloudFront dağıtımlarında son kullanıcı bağlantıları için HTTP/3’ü etkinleştirebilirsiniz ve bu özelliği kullanmak için ek bir ücret ödemezsiniz.

HTTP/3 nedir?
HTTP/3, QUIC kullanır ve TCP’nin birçok sınırlamasının üstesinden gelir ve bu faydaları HTTP’ye getirir. Var olan HTTP/2’yi TCP ve TLS üzerinden kullanırken, TCP’nin bir istemci ve sunucu arasında bir oturum oluşturmak için bir el sıkışmaya ihtiyacı vardır ve ayrıca TLS’in, oturumun güvenli olduğundan emin olmak için kendi el sıkışmasına ihtiyacı vardır. Her el sıkışma, istemci ve sunucu arasında tam bir gidiş-dönüş yapmak zorundadır; bu, istemci ve sunucu ağ açısından birbirinden uzak olduğunda uzun zaman alabilir. Ancak QUIC, güvenli bir oturum oluşturmak için yalnızca tek bir el sıkışmaya ihtiyaç duyar.

Ayrıca TCP, güvenlik duvarları ve ağ adresi çeviri (network address translation – NAT) cihazları gibi sayısız farklı orta kutu tarafından anlaşılır ve yönetilir. QUIC, bir kurumsal veya genel ağdaki paket akışlarına izin vermek için UDP’yi temel olarak kullanır ve orta kutuların ayrıntılarını denetleyememesini veya değiştirememesini sağlayan meta veriler de dahil olmak üzere tamamen şifrelenir.

HTTP/3 akışları, istekler ve yanıtlar arasındaki satır başı engellemeyi (head-of-line blocking) ortadan kaldırmak için bağımsız olarak çoğullanır. Bu mümkündür, çünkü akış çoğullaması TCP üzerinden HTTP/2 gibi uygulama katmanının aksine aktarım katmanında gerçekleşir. Bu, web uygulamalarının özellikle yavaş ağlar ve gecikmeye duyarlı bağlantılar üzerinden daha hızlı çalışmasını sağlar.

CloudFront’ta HTTP/3’ün Avantajları
Müşterilerimiz her zaman son kullanıcılar için web’de daha hızlı, daha duyarlı ve güvenli bir deneyim sağlamak ister. HTTP/3, tüm CloudFront müşterilerine daha hızlı bağlantı süreleri, akış çoğullama, istemci tarafı bağlantı geçişi ve hata oranlarını azaltmak için el sıkışma sürecinde daha az gidiş dönüş şeklinde avantajlar sağlar.

UDP üzerinden QUIC bağlantıları, kullanıcıların herhangi bir kesintiye veya etkiye sahip olmaması için IP adresinden/bağlantı noktası gruplarından bağımsız bir bağlantı kimliğiyle bağlantının yeniden kullanımını destekler. Ağ bağlantısının düşük olduğu ülkelerde faaliyet gösteren müşteriler, uygulamalarında iyileştirilmiş performans göreceklerdir.

CloudFront’un HTTP/3 desteği, AWS şifreleme açık kaynak kitaplıklarımıza eklenen QUIC protokolünün açık kaynaklı bir Rust uygulaması olan s2n-quic‘in üzerine inşa edilmiş gelişmiş güvenlik sağlar ve hem verimlilik hem de performansa büyük önem verir.

CloudFront dağıtımlarında HTTP/3’ü etkinleştirirseniz, kullanıcılar CloudFront uç konumlarına HTTP/3 görüntüleyici isteğinde bulunabilir. Uç konumu geçtikten sonra, AWS Cloud içinde son derece güvenilir ağlarımız var ve CloudFront, kaynak (origin) getirme işlemleri için HTTP/1.1 kullanmaya devam edecek. Dolayısıyla içeriğinizi HTTP/3 üzerinden erişilebilir kılmak için sunucu tarafında herhangi bir değişiklik yapmanıza gerek yoktur.

HTTP istekleri yapmak için bir HTTP istemci kitaplığı gerektirenler gibi bazı uygulama türleri için, müşterilerin HTTP istemci kitaplığını HTTP/3’ü destekleyen bir sürüme güncellemeleri gerekebilir. Ancak, herhangi bir operasyonel nedenden dolayı istemciler bir QUIC bağlantısı kuramazlarsa, HTTP/1.1 veya HTTP/2 gibi desteklenen başka bir protokole geri dönebilirler.

HTTP/3 Nasıl Etkinleştirilir
HTTP/3 bağlantısını etkinleştirmek için dağıtım yapılandırmasını CloudFront konsolu aracılığıyla düzenleyebilirsiniz. Mevcut bir dağıtımda Supported HTTP versions kısmında HTTP/3‘ü seçebilir veya kaynakta herhangi bir değişiklik yapmadan yeni bir dağıtım oluşturabilirsiniz. UpdateDistribution API‘sini veya CloudFormation şablonunu kullanabilirsiniz.

Dağıtımınızı (distribution) dağıttıktan sonra Google Chrome’un en son sürümü, Mozilla Firefox ve Microsoft Edge ve Apple Safari gibi HTTP/3’ü destekleyen bir tarayıcıya HTTP/3’ü manuel olarak açıp bağlanabilirsiniz. Web tarayıcı desteği hakkında daha fazla bilgi edinmek için Can I Use – HTTP/3 Support sayfasına bakın.

Tarayıcınızdaki web geliştirici araçlarından, CloudFront’tan bir sayfa yüklendiğinde yapılan HTTP/3 isteklerini görebilirsiniz. Aşağıdaki resim Mozilla Firefox’un bir örneğidir.

Ayrıca Curl’e HTTP/3 desteği ekleyebilir ve komut satırından test edebilirsiniz:

$ curl --http3 -i https://d1e0fmnut9xxxxx.cloudfront.net/speed.html
HTTP/3 200
content-type: text/html
content-length: 9286
date: Fri, 05 Aug 2022 15:49:52 GMT
last-modified: Thu, 28 Jul 2022 00:50:38 GMT
etag: "d928997023f6479537940324aeddabb3"
x-amz-version-id: mdUmFuUfVaSHPseoVPRoOKGuUkzWeUhK
accept-ranges: bytes
server: AmazonS3
vary: Origin
x-cache: Miss from cloudfront
via: 1.1 6e4f43c5af08f740d02d21f990dfbe80.cloudfront.net (CloudFront)
x-amz-cf-pop: ICN54-C2
alt-svc: h3=":443"; ma=86400
x-amz-cf-id: 6fy8rrUrtqDMrgoc7iJ73kzzXzHz7LQDg73R0lez7_nEXa3h9uAlCQ==
Bash

Müşteri Hikayeleri
Snap, Zillow, AC3/Movember, Audible, Skyscanner dahil olmak üzere birçok AWS müşterisi, CloudFront dağıtımlarında HTTP/3’ü zaten etkinleştirmiştir. İşte onlardan alıntılardan bazıları:

Snap Inc, dünya çapındaki topluluğuna yakın arkadaşlarla bağlantı kurmanın hızlı ve eğlenceli bir yolunu sunan Snapchat uygulamasını sunan bir sosyal medya şirketidir. AWS’te Snap, önceki mimarisine göre yüzde 20 daha az gecikmeyle günde 5,4 milyardan fazla Snap gönderen 306 milyondan fazla Snapchat kullanıcısını destekliyor.

Snapchat Yazılım Mühendisliği Müdürü Mahmoud Ragab şunları söyledi:

“Snapchat, dünya çapında milyonlarca insanın arkadaşlarıyla anları paylaşmasına yardımcı oluyor. Snapchat’te iletişim kurmanın en hızlı yolu olmaya çalışıyoruz. Bu nedenle, Cloudfront’ta QUIC’den yararlanarak hızlı, yüksek performanslı, düşük gecikmeli içerik teslimi için Amazon Cloudfront ile ortaklık kuruyoruz.

Özellikle kayıp sinyalli ve kesintili bağlantıya sahip ağlarda, içerik gönderirken ve alırken önemli avantajlar sunar. QUIC tarafından sunulan sıfır gidiş-dönüş zamanlı (0-RTT) bağlantı kurulumu ve iyileştirilmiş tıkanıklık kontrolü gibi iyileştirmeler, genel hata oranlarını düşürürken ilk bayta kadar geçen sürede (TTFB) ortalama %10’luk bir azalma sağlar. Daha düşük ağ gecikmeleri ve hataları, Snapchat’i dünyanın her yerindeki insanlar için daha iyi hale getirir.

QUIC’e erken erişim sayesinde, denemeler yapabildik ve sunucu tarafı uygulamasını hızlı bir şekilde yineleyebildik ve iyileştirebildik ve istemci ile sunucu arasındaki entegrasyonu optimize ettik. QUIC daha geniş çapta kullanılabilir hale getirildikçe her iki şirket de birlikte işbirliği yapmaya devam edecek.”

Zillow, müşterilerine şeffaflık ve neredeyse kesintisiz uçtan uca hizmet ile satış, satın alma, kiralama ve finansman için isteğe bağlı bir deneyim sunan bir gayrimenkul teknolojisi şirketidir. 2015’ten beri Zillow, Amazon S3 ve Amazon CloudFront’u kullanarak görüntüleme sisteminin kullanılabilirliğini artırdı.

Zillow Chief Cloud Architect Craig Link şunları söyledi:

“Amazon CloudFront için HTTP/3 desteğinin kullanıma sunulmasından heyecan duyuyoruz. CloudFront’ta HTTP/3’ü etkinleştirmek sorunsuz bir geçiş oldu ve sentetik test ve geçici kullanımımız sorunsuz çalışmaya devam etti.”

AC3, Avustralya merkezli bir AWS Yönetilen Hizmetler iş ortağıdır ve erkek sağlığı alanında önde gelen hayır kurumlarından biri olan müşterimiz Movember Foundation’ı desteklemiştir. 21 ülkede bağışları, verileri, etkinlikleri ve yerelleştirilmiş web sitelerini yöneten uluslararası bir hayır kurumu işletmek bazı teknik zorluklar doğurabilir. Bulutta doğan Movember, yeni çalışma modellerini benimsemek, esnek bir IT platformu sağlamak ve daha hızlı yenilik yapmak için AWS teknolojisinden yararlandı.

AC3’de Head of Hyperscale Cloud Greg Cockburn şunları söyledi:

“AC3, web ve API ön uçlarına hizmet veren CloudFront dağıtımlarında HTTP3’ü etkinleştiren uzun süreli iş ortağı Movember ile çalışmaktan heyecan duyuyor ve ilk sonuçlarda görülen performans iyileştirmeleri tarafından teşvik ediliyor.”

Şimdi Kullanılabilir
Amazon CloudFront için HTTP/3 desteği, artık bu özelliğin kullanımı için ek ücret olmaksızın dünya çapındaki tüm 410+ CloudFront uç konumlarında sunulmaktadır. Daha fazla bilgi edinmek için Amazon CloudFront’un SSS ve Geliştirici Kılavuzu‘na bakın. Lütfen geri bildiriminizi AWS re:Post for Amazon CloudFront‘a veya her zamanki AWS destek bağlantılarınız aracılığıyla gönderin.