AWS CloudFront Nedir?

Amazon CloudFront, statik ve dinamik içeriğinizi yüksek hızlı performans, güvenlik ve geliştiricilerin kullanım kolaylığı ile hızlı ve güvenilir bir şekilde dağıtmanıza yardımcı olan bir içerik teslim ağı (CDN) hizmetidir.

Bu yazıda statik bir websitesini Amazon CloudFront’ta yayınlayacağız.

Öncelikle S3 Storage üzerinde bir bucket oluşturun.

Bucket’a isim verin ve Region’ı seçin.
ACLs’i disable edin.

Public Access vermek için, block access seçeneklerini kaldırın. (Public Access verilmezse, içeriğe erişmek isteyen dış kullanıcılar Access Denied hatası alacaktır.

Websitenizde yaptığınız değişiklikleri versionlamak isterseniz Enable edin, ben disable şekilde ilerliyorum.

Bucket oluşturuldu. Access kısmına baktığımızda Object can be public yazmakta. Onu tamamen public’e çevirin.

Bucket’a public vermek için Permissions kısmına gelelim Edit diyip aşağıdaki policy’i yazın.


{
    "Version": "2012-10-17",
    "Id": "Policy1679906172645",
    "Statement": [
        {
            "Sid": "Stmt1679906164293",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::cdntestingg/*"
        }
    ]
}

Görüldüğü üzere Bucket tamamen Public’e döndü.

Şimdi websitemizin kaynak kodlarını, bucket’a upload edin.

Sıra S3 Bucket’taki websitenin dosyalarını CloudFront’ta yayınlamaya.

Origin Domain kısmından oluşturduğumuz Bucket’ı seçin.

Origin Shield’ı kapalı tutup, bu ayarlarla ilerliyorum.

Cache Policy’i CachingOptimized seçin.

WAF (Web Application Firewall) oluşturmayacağımız için disable edin.
Alternative domain kısmına domaininizin www ile başlayan şeklinide ekleyin.
Örneğin;
sercancelenk.com
www.sercancelenk.com

Default root object’e index.html değerini girin ve dağıtımı oluşturun.

Dağıtım oluşturuldu, deploy aşamasında biraz bekletmektedir.
Distrubution domain name’i deploy tamamlandıktan sonra domainimize A kaydı olarak ekleyeceğiz.

Deploy tamamlandığında Distrubition domain name’e gittiğimizde, karşımıza oluşturduğumuz index dosyası çıkmakta.

Sıra domainimize A kaydı eklemekte. Route 53 servisinde Hosted Zones kısmından domaini bulun.

Create Record kısmına tıklayın.

Önce alias seçeneğini aktifleştirin.
Record Type’ı A kaydı yapın.
Route traffic’i CloudFront distrubution seçin.

Dağıtımı hangi Region’da yaptıysanız onu seçtikten sonra Endpoint URL otomatik olarak gözükecektir.
Create Records diyip kayıtı oluşturun.

Yönlendirdiğiniz domaine gittiğinizde index’in sorunsuz çalıştığı gözükecektir.