“CDN dosya depolama” ne demek
Çoğu CDN Pull modunda çalışır: edge sizin mevcut origin sunucunuzu korur ve ziyaretçiler istedikçe içeriği oradan çeker (pull). Zaten bir web siteniz varsa bu harikadır. Ama sunacağınız yalnızca dosyalarsa — bir logo, bir PDF, bir indirme dosyası, bir video, bir uygulamanın derlenmiş dosyaları — bunlar için bir origin sunucusu kurup bakımını yapmak gereğinden fazladır.
CDN dosya depolama bunun tam tersidir. CDN’i kendi sunucunuza yönlendirmek yerine dosyaları doğrudan CDN’in kendisinde saklar ve edge’den sunarsınız. Origin, CDN’in kendisidir. Çalıştıracağınız, yama geçeceğiniz ya da ölçekleyeceğiniz bir sunucu yoktur: bir dosya yüklersiniz, bir URL alırsınız ve her ziyaretçi dosyayı kendisine yakın bir edge konumundan HTTPS üzerinden alır. İnsanların “CDN’den dosya sunma” ya da “CDN origin storage” derken kastettiği budur — dosyayı CDN tutar ve dağıtır.
A Yolu — panelden yükleyin (CLI yok)
En basit yol doğrudan cdn.com.tr panelinden geçer. Hesabınızın Dosyalar alanını açın, sunmak istediğiniz dosyaları yükleyin ve tıpkı normal bir dosya yöneticisi gibi klasörler halinde düzenleyin. Kurulacak ya da yapılandırılacak hiçbir şey yok — yükleme hesabınızın CDN depolamasına iner.
Bir dosya yüklendiğinde URL’si üzerinden CDN aracılığıyla sunulur, edge’de önbelleğe alınır ve otomatik SSL ile kapsanır; böylece link baştan HTTPS olur. Bir avuç dosyanız olduğunda, dosyaları görsel olarak görüp yönetmek istediğinizde ya da terminalde yaşayan biri değilseniz doğru yol budur. Toplu yükleme, tekrarlanabilir adımlar veya otomasyon için aşağıdaki CLI daha hızlıdır.
B Yolu — cdnctl CLI (scp gibi çalışır)
cdnctl, cdn.com.tr için operatör komut satırı aracıdır ve dosya yüklemeyi tıpkı scp gibi hissettirir. Önce bir kez giriş yapıp hesabınızı seçin ki her komut dosyaları nereye koyacağını bilsin: cdnctl login --email siz@ornek.com --password ... çalıştırın (ya da API token kullanıyorsanız cdnctl configure --endpoint https://cdn.com.tr --token <token>), ardından varsayılan hesabı ayarlamak için cdnctl accounts use <account_uuid> yazın. Bundan sonra hesap kapsamlı komutlar kendiliğinden çalışır.
Yüklemek için cp’yi tam olarak scp gibi kullanın — önce yerel yol, sonra uzak yol: cdnctl cp ./logo.png images/logo.png tek bir dosyayı CDN depolamanızda images/logo.png konumuna koyar. Bütün bir dizini göndermek için -r ekleyin: cdnctl cp -r ./dist assets/, ./dist altındaki her dosyayı assets/ içine yükler. Zaten var olan dosyaların üzerine yazmak için --force verin. Varsayılan hesap ayarlamadıysanız hedefi satır içinde account_uuid:uzakyol biçiminde de belirtebilirsiniz.
Açık alt komutları tercih ediyorsanız files grubu aynı işleri yapar ve betiklerde ayrıştırabileceğiniz JSON basar: cdnctl files put --file ./logo.png --target-path images/logo.png [--force] bir dosya yükler, cdnctl files ls [--path <path>] depolananları listeler, cdnctl files mkdir --path <path> bir klasör oluşturur ve cdnctl files rm --path <path> --yes bir şeyi siler. Panelle aynı depolama — sadece terminalden yönetilir.
Ne zaman S3 uyumlu object storage kullanmalı
Dosya depolama, statik dosyaları ve medyayı CDN üzerinden barındırıp sunmanın en basit yoludur. Daha fazlasına ihtiyaç duyduğunuzda — bucket’lar, access key’ler ya da mevcut S3 araçlarıyla programatik yükleme — Ceph RGW ile desteklenen S3 uyumlu object storage’a geçin.
cdnctl ile bir bucket’ı cdnctl object-storage buckets create --account <uuid> --name <bucket> ile oluşturur, cdnctl object-storage buckets list --account <uuid> ile listeler ve cdnctl object-storage access-keys create --bucket <bucket_uuid> ile S3 access ve secret key üretirsiniz. Oradan herhangi bir S3 uyumlu istemci veya SDK bucket’ı okuyup yazabilir. Bir bucket’ı doğrudan bir container app’e bağlayıp environment değişkenleri olarak da verebilirsiniz — cdnctl object-storage bindings create ... --env-prefix S3 — ki bu bir uygulamaya kendi depolamasını vermenin temiz yoludur. Kural şu: dosyaları CDN üzerinden barındırıp sunmak için dosya depolama; bucket, key, programatik/S3 erişimi ya da bir uygulamayı destekleyen depolama istediğinizde object storage.
Sunum, önbellek ve purge
CDN üzerinde sakladığınız dosyalar edge’den sunulur ve orada önbelleğe alınır; böylece tekrar eden istekler tek bir origin’e geri gitmek yerine ziyaretçiye yakın bir konumdan yanıtlanır. Sunulan her URL otomatik HTTPS alır, dolayısıyla sertifika yönetmeden linkleriniz güvenli olur.
Edge önbelleğiyle akılda tutulacak bir şey var: bir dosyanın üzerine yeni bir sürüm yazdığınızda, eski kopya bir süre daha edge’de önbellekte kalabilir. Bir dosyayı değiştirip değişikliğin anında yayında olması gerekiyorsa onu purge edin (panelden veya API’den) ki edge taze kopyayı çeksin. Bu durumdan tamamen kaçınmanın yaygın bir yolu, dosya adına ya da yola bir sürüm eklemektir — logo.v2.png veya bir build hash’i altındaki assets — böylece yeni dosya yeni bir URL alır ve önbellekteki bir kopyayla asla çakışmaz.
cdnctl ile CI ve otomasyon
cdnctl bir token ile kimlik doğrulayan tek bir komut satırı aracı olduğundan CI/CD’ye rahatça oturur. Tipik bir build adımı bir kez kimlik doğrular (cdnctl configure --endpoint https://cdn.com.tr --token <token> ve cdnctl accounts use <uuid>), ardından yeni derlenen dosyaları gönderir: cdnctl cp -r ./dist assets/ --force. Pipeline’ınız artefaktları yükler, edge onları sunar ve dosyaları bir daha elle kopyalamazsınız.
Aynı yaklaşım yeni bir indirme dosyası yayımlamayı, bir pazarlama görselini değiştirmeyi ya da her commit’te bir statik sitenin çıktısını yayına almayı kapsar — hepsi betiklenebilir, hepsi tekrarlanabilir, ayakta tutulacak origin sunucusu yok.
İnsanlar CDN depolamadan neler sunuyor
Logoları, ürün fotoğraflarını, videoyu ve sesi CDN üzerinde barındırın ve edge’den hızlıca sunun — çalıştıracak medya sunucusu yok.
Kurulum dosyalarını, PDF’leri ve sürüm dosyalarını depolamaya koyun; talep altında ölçeklenen hızlı, HTTPS indirme linkleri verin.
Bir build’in JS, CSS ve görsellerini CI’dan cdnctl cp -r ile gönderin ve bütün statik paketi edge’den sunun.
CDN dosya depolama SSS
CDN’den dosya sunmak için kendi sunucuma ihtiyacım var mı?
Hayır. CDN dosya depolamada origin CDN’in kendisidir — dosyaları hesabınıza yüklersiniz ve edge’den sunulurlar. Çalıştıracağınız, yama geçeceğiniz ya da ölçekleyeceğiniz bir origin sunucusu yoktur.
Dosyaları nasıl yüklerim — panel mi komut satırı mı?
İkisi de aynı depolama üzerinde çalışır. Görsel, kodsuz yükleme için panelin Dosyalar alanını, betiklemek istediğinizde cdnctl CLI’yi kullanın. cdnctl cp tıpkı scp gibi çalışır: tek dosya için cdnctl cp ./logo.png images/logo.png, bütün bir klasör için cdnctl cp -r ./dist assets/.
Dosya depolama ile object storage arasındaki fark nedir?
Dosya depolama, statik dosyaları ve medyayı CDN üzerinden barındırıp sunmanın en basit yoludur. Object storage ise S3 uyumludur: bucket ve access key alır, standart S3 araçlarını kullanabilir ya da bir bucket’ı bir uygulamaya bağlayabilirsiniz. Dosya sunmak için dosya depolamayı; bucket, key veya programatik erişim gerektiğinde object storage’ı kullanın.
Bir dosyayı değiştirdim ama hâlâ eskisi görünüyor — neden?
Sunulan dosyalar edge’de önbelleğe alınır; bu yüzden üzerine yazılan bir dosya, önbellek güncellenene kadar eski kopyayı sunabilir. Üzerine yazdıktan sonra dosyayı purge edin ya da yeni sürümün yeni bir URL alması için dosya adına veya yola bir sürüm ekleyin.
Dosya URL’leri HTTPS üzerinden mi sunuluyor?
Evet. CDN aracılığıyla sunulan dosyalar otomatik SSL alır; yani URL’leri HTTPS olur ve yönetmeniz gereken bir sertifika yoktur.