Herkese Açık Bir Web Sitesi İçin Azure Depolama Kurulumu: Adım Adım Rehber
Azure Depolama, modern web siteleri için esneklik, ölçeklenebilirlik ve maliyet etkinliği sunan güçlü bir bulut çözümüdür. Özellikle statik web siteleri, tek sayfalık uygulamalar (SPA’lar) veya medya dosyaları gibi halka açık içerikleri barındırmak için idealdir. Bu kapsamlı rehberde, bir Azure Depolama hesabı oluşturmaktan, içeriğinizi yüklemeye ve özel bir alan adı yapılandırmaya kadar tüm adımları detaylı bir şekilde inceleyeceğiz. Amacımız, web sitenizi Azure üzerinde güvenli ve hızlı bir şekilde yayına almanızı sağlamaktır.
Azure Depolama Neden Halka Açık Web Siteleri İçin İdeal?
Herkese açık bir web sitesi barındırmak için Azure Depolama’yı tercih etmenizin birçok geçerli nedeni bulunmaktadır. Bu bölüm, Azure’un sunduğu temel avantajları ve bu avantajların web sitenizin performansına ve yönetimine nasıl katkıda bulunduğunu açıklayacaktır.
Ölçeklenebilirlik ve Yüksek Erişilebilirlik
Azure Depolama, talebe göre otomatik olarak ölçeklenebilen bir yapı sunar. Bu, web sitenizin trafiği arttığında bile performans kaybı yaşamadan sorunsuz bir şekilde hizmet vermeye devam edeceği anlamına gelir. Ayrıca, verileriniz birden fazla konumda yedeklenerek yüksek erişilebilirlik ve veri dayanıklılığı sağlanır. Herhangi bir bölgesel kesinti durumunda bile siteniz erişilebilir kalır.
Maliyet Etkinliği
Statik web siteleri için Azure Depolama, genellikle geleneksel sunucu barındırma çözümlerinden daha uygun maliyetlidir. Yalnızca kullandığınız depolama alanı ve veri transferi için ödeme yaparsınız, bu da özellikle düşük veya orta trafikli siteler için büyük bir avantajdır. Ek olarak, sunucu bakımı ve işletim maliyetleri gibi ek yüklerden kurtulursunuz.
Küresel Dağıtım ve CDN Entegrasyonu
Azure Depolama, dünya genelindeki Azure bölgelerinde dağıtılabilir. Bu sayede içeriğinizi kullanıcılarınıza coğrafi olarak daha yakın bir konumdan sunabilirsiniz, bu da yükleme sürelerini önemli ölçüde azaltır. Azure Content Delivery Network (CDN) ile entegrasyon sayesinde, içeriğiniz dünya çapında önbelleğe alınır ve kullanıcılara en hızlı şekilde ulaştırılır, böylece genel kullanıcı deneyimi iyileşir.
Güvenlik Özellikleri
Microsoft Azure, verilerinizi korumak için kapsamlı güvenlik önlemleri sunar. Depolama hesaplarınız için erişim anahtarları, paylaşılan erişim imzaları (SAS) ve rol tabanlı erişim kontrolü (RBAC) gibi özelliklerle yetkisiz erişimi engelleyebilirsiniz. Ayrıca, verileriniz varsayılan olarak şifrelenir ve Azure Güvenlik Duvarı ile ağ erişimini kısıtlayabilirsiniz.
Azure Depolama Hesabı Oluşturma
Web sitenizi barındırmak için ilk adım, bir Azure Depolama hesabı oluşturmaktır. Bu hesap, tüm depolama kaynaklarınız (blob’lar, dosyalar, kuyruklar, tablolar) için bir kapsayıcı görevi görür.
Azure Portalına Giriş
Öncelikle, bir Azure aboneliğiniz olduğundan emin olun ve Azure Portal’a (portal.azure.com) giriş yapın. Eğer bir aboneliğiniz yoksa, ücretsiz bir Azure hesabı oluşturabilirsiniz.
Depolama Hesabı Oluşturma Adımları
1. Azure Portal’da sol üstteki “Kaynak oluştur” (Create a resource) düğmesine tıklayın.
2. Arama kutusuna “Depolama hesabı” (Storage account) yazın ve çıkan sonuca tıklayın.
3. “Oluştur” (Create) düğmesine tıklayın.
4. Gerekli bilgileri doldurun:
* Abonelik (Subscription): Mevcut aboneliğinizi seçin.
* Kaynak grubu (Resource group): Yeni bir kaynak grubu oluşturun veya mevcut birini seçin. Kaynak grupları, ilgili Azure kaynaklarını düzenlemek için kullanılır.
* Depolama hesabı adı (Storage account name): Genel olarak benzersiz, küçük harf ve rakamlardan oluşan bir ad girin (örneğin, benimwebsitemdepolama).
* Bölge (Region): Kullanıcılarınıza en yakın coğrafi bölgeyi seçin.
* Performans (Performance): “Standart” (Standard) seçeneği çoğu statik web sitesi için yeterlidir. Yüksek performans gerektiren durumlar için “Premium” seçilebilir.
* Yedeklilik (Redundancy): Verilerinizin ne kadar kopyasının ve nerede saklanacağını belirler. “Yerel olarak yedekli depolama (LRS)” en uygun maliyetli seçenektir, ancak daha fazla dayanıklılık için “Bölgesel olarak yedekli depolama (ZRS)” veya “Coğrafi olarak yedekli depolama (GRS)” tercih edilebilir.
5. Diğer sekmelerdeki (Ağ, Veri koruma vb.) varsayılan ayarları çoğu zaman değiştirmeye gerek yoktur.
6. “Gözden geçir + oluştur” (Review + create) düğmesine tıklayın ve doğrulama başarılı olduktan sonra “Oluştur” (Create) düğmesine tıklayarak depolama hesabınızı oluşturun.
Temel Ayarlar ve Performans Katmanları
Depolama hesabı oluştururken seçtiğiniz performans katmanı (Standart veya Premium) ve yedeklilik seçeneği, hem maliyeti hem de sitenizin erişilebilirliğini doğrudan etkiler. Statik web siteleri için Standart performans ve LRS yedeklilik genellikle yeterlidir ve maliyet açısından en verimli çözümdür.
Yedeklilik Seçenekleri
Azure Depolama, verilerinizin korunması için çeşitli yedeklilik seçenekleri sunar:
* LRS (Locally-Redundant Storage): Verileriniz tek bir veri merkezi içinde üç kez kopyalanır. En düşük maliyetli seçenektir.
* ZRS (Zone-Redundant Storage): Verileriniz bir bölgedeki üç farklı kullanılabilirlik alanı arasında kopyalanır. Bölgesel kesintilere karşı koruma sağlar.
* GRS (Geo-Redundant Storage): Verileriniz birincil bölgede üç kez kopyalanır ve coğrafi olarak ayrı ikincil bir bölgeye de üç kez kopyalanır. En yüksek veri dayanıklılığı sunar.
* RA-GRS (Read-Access Geo-Redundant Storage): GRS’nin okuma erişimi olan versiyonudur, ikincil bölgeden okuma yapılmasına izin verir.
Blob Depolama Kapsayıcısı Yapılandırma
Depolama hesabınız oluştuktan sonra, web sitenizin dosyalarını (HTML, CSS, JS, resimler vb.) depolayacağınız bir Blob kapsayıcısı oluşturmanız gerekir.
Kapsayıcı Oluşturma
1. Azure Portal’da oluşturduğunuz depolama hesabına gidin.
2. Sol menüden “Veri depolama” (Data storage) altında “Kapsayıcılar” (Containers) seçeneğine tıklayın.
3. Üstteki “+ Kapsayıcı” (+ Container) düğmesine tıklayın.
4. Kapsayıcı için bir ad girin (örneğin, web-icerik). Bu ad, statik web sitesi özelliğini etkinleştirdiğinizde otomatik olarak $web olarak ayarlanacaktır.
5. “Genel erişim düzeyi” (Public access level) için “Anonim okuma erişimi” (Anonymous read access) veya “Blob” (Blob) seçeneğini belirleyin. Bu, web sitenizin içeriğinin herkes tarafından erişilebilir olmasını sağlar. Eğer statik web sitesi özelliğini kullanacaksanız, bu ayar otomatik olarak yönetilecektir.
Erişim Düzeylerini Ayarlama
Kapsayıcıların genel erişim düzeyleri şunlardır:
* Özel (Private): Kapsayıcıya ve blob’lara yalnızca depolama hesabı sahibi erişebilir.
* Blob (Blob): Blob’lara anonim okuma erişimi sağlar, ancak kapsayıcı içeriği listelenemez.
* Kapsayıcı (Container): Blob’lara ve kapsayıcı listesine anonim okuma erişimi sağlar.
Statik web sitesi özelliği etkinleştirildiğinde, $web kapsayıcısı otomatik olarak anonim okuma erişimine sahip olur.
Kapsayıcı Adlandırma Kuralları
Kapsayıcı adları küçük harflerden, rakamlardan ve kısa çizgilerden oluşmalı, 3 ile 63 karakter arasında olmalı ve bir harf veya rakamla başlamalıdır. Statik web sitesi özelliği için özel bir adlandırma kuralına gerek yoktur, çünkü Azure sizin için $web adında bir kapsayıcı oluşturacaktır.
Statik Web Sitesi Özelliğini Etkinleştirme
Azure Depolama, statik web sitelerini doğrudan barındırmak için yerleşik bir özelliğe sahiptir. Bu özellik, içeriğinizi sunmak için özel bir uç nokta (endpoint) sağlar.
Özelliği Aktif Hale Getirme
1. Depolama hesabınızın genel bakış sayfasında sol menüden “Veri yönetimi” (Data management) altında “Statik web sitesi” (Static website) seçeneğine tıklayın.
2. “Etkin” (Enabled) seçeneğini işaretleyin.
3. “Dizin belge adı” (Index document name) alanına web sitenizin ana sayfasının adını girin (örneğin, index.html).
4. “Hata belge yolu” (Error document path) alanına özel hata sayfanızın adını girin (örneğin, 404.html). Bu sayfa, bulunamayan sayfalar için gösterilecektir.
5. “Kaydet” (Save) düğmesine tıklayın.
Bu adımı tamamladığınızda, Azure otomatik olarak $web adında bir Blob kapsayıcısı oluşturacak ve web sitenizin birincil uç noktasını (Primary endpoint) sağlayacaktır. Bu uç nokta, sitenize erişmek için kullanacağınız URL olacaktır.
Dizin ve Hata Belgelerini Belirleme
index.html ve 404.html gibi dosya adlarını doğru bir şekilde belirtmek, sitenizin kullanıcı deneyimi için kritik öneme sahiptir. Kullanıcılar sitenize ana URL üzerinden eriştiğinde index.html dosyası otomatik olarak yüklenecek, bulunamayan bir sayfa istediklerinde ise 404.html gösterilecektir.
Birincil Uç Noktayı Anlama
Statik web sitesi özelliği etkinleştirildiğinde, Azure size https://.z20.web.core.windows.net/ gibi bir URL verecektir. Bu, sitenizin genel erişim noktasıdır. Bu URL’yi kullanarak web sitenize erişebilirsiniz.
İçeriği Yükleme ve Yönetme
Statik web sitesi özelliğini etkinleştirdikten ve $web kapsayıcınız oluştuktan sonra, web sitenizin dosyalarını bu kapsayıcıya yüklemeniz gerekir.
Azure Portal Üzerinden Yükleme
1. Depolama hesabınızda “Kapsayıcılar” (Containers) bölümüne gidin.
2. $web kapsayıcısına tıklayın.
3. Üstteki “Yükle” (Upload) düğmesine tıklayın.
4. Dosyalarınızı seçin veya sürükleyip bırakın.
5. “Yükle” (Upload) düğmesine tıklayarak dosyaları Azure’a aktarın.
Azure Storage Explorer Kullanımı
Azure Storage Explorer, Azure Depolama kaynaklarınızı yönetmek için ücretsiz, platformlar arası bir masaüstü uygulamasıdır.
1. Azure Storage Explorer’ı indirip yükleyin.
2. Azure hesabınızla oturum açın.
3. Sol menüden “Blob Kapsayıcıları” (Blob Containers) altında $web kapsayıcınızı bulun.
4. Dosyalarınızı sürükleyip $web kapsayıcısına bırakarak veya sağ tıklayıp “Yükle” (Upload) seçeneğini kullanarak yükleyebilirsiniz.
Azure CLI ile Otomatik Yükleme
Büyük miktarda dosya yüklemek veya dağıtım süreçlerini otomatikleştirmek için Azure CLI kullanışlıdır.
Öncelikle Azure CLI’ı yükleyin ve az login komutuyla oturum açın.
Aşağıdaki komutu kullanarak yerel bir klasördeki tüm dosyaları $web kapsayıcısına yükleyebilirsiniz:
az storage blob upload-batch \
--account-name \
--destination '$web' \
--source \
--overwrite
yerine depolama hesabınızın adını, yerine ise web sitenizin dosyalarının bulunduğu yerel klasörün yolunu yazın. --overwrite parametresi, aynı ada sahip mevcut dosyaların üzerine yazılmasını sağlar.
Sürüm Kontrolü ve Güncellemeler
Web sitenizi güncelledikçe, yeni dosyaları $web kapsayıcısına yüklemeniz yeterlidir. Azure Storage Explorer veya Azure CLI ile yapılan yüklemeler, mevcut dosyaların üzerine yazabilir. Daha gelişmiş sürüm kontrolü ve dağıtım süreçleri için Azure DevOps veya GitHub Actions gibi CI/CD araçlarını entegre edebilirsiniz.
Özel Alan Adı Yapılandırma
Web sitenizin profesyonel görünmesi ve akılda kalıcı olması için kendi özel alan adınızı (örneğin, www.ornek.com) kullanmanız önemlidir.
Alan Adı Kaydı ve DNS Ayarları
1. Bir alan adı kayıt şirketi (GoDaddy, Namecheap vb.) aracılığıyla özel alan adınızı kaydedin.
2. Alan adınızın DNS ayarlarını yönettiğiniz panele gidin.
3. Azure CDN (Content Delivery Network) kullanıyorsanız, özel alan adınızı CDN profiline bağlamanız gerekir. CDN kullanmıyorsanız, doğrudan depolama hesabınıza bağlayabilirsiniz.
4. CDN Kullanıyorsanız: CNAME kaydı oluşturun. Host/Ad kısmına www veya boş bırakarak ana alan adınızı yazın. Değer/Hedef kısmına Azure CDN uç noktanızın adını girin (örneğin, benimcdn.azureedge.net).
5. CDN Kullanmıyorsanız: CNAME kaydı oluşturun. Host/Ad kısmına www veya boş bırakarak ana alan adınızı yazın. Değer/Hedef kısmına Azure Depolama statik web sitesi uç noktanızın adını girin (örneğin, benimwebsitemdepolama.z20.web.core.windows.net).
DNS değişikliklerinin yayılması biraz zaman alabilir (genellikle birkaç dakika ile 48 saat arası).
Azure CDN Entegrasyonu (İsteğe Bağlı)
Özel alan adınızı Azure CDN ile entegre etmek, sitenizin performansını artırır ve SSL/TLS sertifikalarını yönetmeyi kolaylaştırır.
1. Azure Portal'da bir CDN profili oluşturun.
2. CDN uç noktası oluştururken kaynak türü olarak "Özel kaynak" (Custom origin) seçin ve statik web sitesi uç noktanızı (örneğin, benimwebsitemdepolama.z20.web.core.windows.net) kaynak ana bilgisayar adı olarak girin.
3. CDN uç noktanız oluştuktan sonra, "Özel etki alanı" (Custom domains) bölümüne gidin ve özel alan adınızı ekleyin. Azure, DNS kaydınızı doğrulamanızı isteyecektir.
SSL/TLS Sertifikası Kurulumu
HTTPS kullanarak sitenizin güvenliğini sağlamak günümüzde bir zorunluluktur.
* Azure CDN ile: CDN kullanıyorsanız, özel alan adınız için Azure CDN üzerinden ücretsiz SSL/TLS sertifikası sağlayabilirsiniz. CDN profilinizde özel alan adınızı yapılandırdıktan sonra, "Özel etki alanı" ayarlarında "HTTPS özel etki alanı" (Custom domain HTTPS) seçeneğini etkinleştirin ve "CDN tarafından yönetilen sertifika" (CDN managed certificate) seçeneğini seçin.
* CDN Kullanmıyorsanız: Azure Depolama'nın kendisi doğrudan özel alan adları için SSL/TLS sertifikası sağlamaz. Bu durumda, sitenizin önüne bir Azure Front Door veya başka bir ters proxy hizmeti (örneğin, Cloudflare) ekleyerek SSL'i yönetmeniz gerekir.
Güvenliği Artırma ve Performansı Optimize Etme
Web sitenizi yayınladıktan sonra, güvenliğini sağlamak ve performansını en üst düzeye çıkarmak için ek adımlar atabilirsiniz.
CORS Ayarları
Eğer web siteniz başka bir etki alanından kaynaklar (örneğin, API çağrıları) tüketiyorsa, Çapraz Kaynak Kaynak Paylaşımı (CORS) ayarlarını yapılandırmanız gerekebilir.
1. Depolama hesabınızda sol menüden "Ayarlar" (Settings) altında "Kaynak paylaşımı (CORS)" (Resource sharing (CORS)) seçeneğine tıklayın.
2. Blob hizmeti için CORS kurallarını yapılandırın. İzin verilen kaynakları, yöntemleri (GET, POST vb.) ve üst bilgileri belirleyebilirsiniz. Genellikle, web sitenizin etki alanını izin verilen kaynaklara eklemeniz yeterlidir.
Azure Güvenlik Duvarı ve Sanal Ağlar
Depolama hesabınıza erişimi daha da kısıtlamak için Azure Güvenlik Duvarı'nı veya Sanal Ağları kullanabilirsiniz. Bu, yalnızca belirli IP adreslerinden veya sanal ağlardan gelen isteklere izin vererek güvenliği artırır. Ancak, halka açık bir web sitesi için bu ayarların dikkatli yapılması gerekir, aksi takdirde kullanıcıların sitenize erişimi engellenebilir.
Azure CDN ile Performans İyileştirme
Yukarıda bahsedildiği gibi, Azure CDN entegrasyonu, içeriğinizi dünya genelindeki uç sunucularda önbelleğe alarak sitenizin yükleme sürelerini önemli ölçüde azaltır. Ayrıca, CDN, DDoS saldırılarına karşı temel bir koruma katmanı da sağlayabilir.
Erişim Politikaları ve SAS Tokenları
Eğer web sitenizdeki belirli kaynaklara geçici ve kısıtlı erişim sağlamanız gerekiyorsa, Paylaşılan Erişim İmzaları (SAS) tokenlarını kullanabilirsiniz. SAS tokenları, belirli bir süre için veya belirli izinlerle (okuma, yazma vb.) bir kaynağa erişim yetkisi verir. Bu, özellikle özel içeriği yönetirken veya kullanıcıların dosya yüklemesine izin verirken kullanışlıdır.
Sonuç
Azure Depolama ile halka açık bir web sitesi kurmak, modern web geliştiricileri için oldukça erişilebilir ve güçlü bir çözümdür. Bu rehberde adım adım gösterildiği gibi, bir depolama hesabı oluşturmaktan, statik web sitesi özelliğini etkinleştirmeye, içeriğinizi yüklemeye ve özel bir alan adı yapılandırmaya kadar tüm süreç oldukça basittir. Azure'un sunduğu ölçeklenebilirlik, maliyet etkinliği ve güvenlik özellikleri sayesinde, web siteniz yüksek performansla ve güvenle yayında kalabilir. Azure CDN entegrasyonu ve SSL/TLS sertifikası gibi ek adımlarla sitenizin kullanıcı deneyimini ve güvenliğini daha da artırabilirsiniz. Artık web sitenizi Azure üzerinde güvenle barındırmak için gerekli tüm bilgiye sahipsiniz!
SSS (Sık Sorulan Sorular)
Azure Depolama sadece statik siteler için mi uygundur?
Azure Depolama, özellikle statik web siteleri ve tek sayfalık uygulamalar için idealdir. Ancak, dinamik içerik gerektiren uygulamalar için Azure App Services, Azure Functions veya Azure Sanal Makineler gibi diğer Azure hizmetleriyle birlikte kullanılabilir. Depolama, bu uygulamalar için dosya, resim veya video gibi statik varlıkları barındırmak için mükemmel bir tamamlayıcıdır.
Dinamik içerik barındırabilir miyim?
Azure Depolama'nın statik web sitesi özelliği doğrudan dinamik içerik işlemez. Dinamik içerik (örneğin, sunucu tarafında işlenen veritabanı sorguları, kullanıcı girişi işleme) için Azure Functions, Azure App Services veya Azure Sanal Makineler gibi hizmetleri kullanmanız ve bu hizmetlerin çıktısını veya API'lerini statik sitenizle entegre etmeniz gerekir.
Maliyetleri nasıl kontrol edebilirim?
Maliyetler genellikle depolanan veri miktarı, veri aktarımı (çıkış) ve işlem sayısına göre belirlenir. Maliyetleri kontrol etmek için şunları yapabilirsiniz:
* İhtiyaçlarınıza uygun en düşük maliyetli yedeklilik seçeneğini (örneğin, LRS) kullanın.
* Kullanılmayan veya eski dosyaları düzenli olarak temizleyin.
* Azure CDN kullanarak veri çıkış maliyetlerini azaltın, çünkü CDN'den gelen veri çıkışı genellikle depolama hesabından doğrudan gelen çıkıştan daha ucuzdur.
* Azure Maliyet Yönetimi araçlarını kullanarak harcamalarınızı izleyin.
CDN kullanmak zorunlu mu?
CDN kullanmak zorunlu değildir, ancak özellikle global bir hedef kitleniz varsa veya yüksek performans istiyorsanız şiddetle tavsiye edilir. CDN, içeriğinizi kullanıcılara daha yakın önbelleğe alarak yükleme sürelerini kısaltır, bant genişliği maliyetlerini düşürür ve sitenizin ölçeklenebilirliğini artırır.
SSL nasıl eklenir?
Azure Depolama'nın statik web sitesi özelliği doğrudan özel alan adları için SSL/TLS sertifikası sağlamaz. Eğer özel alan adınız için HTTPS kullanmak istiyorsanız, Azure CDN'i entegre ederek CDN üzerinden ücretsiz SSL sertifikası alabilir veya sitenizin önüne Azure Front Door veya Cloudflare gibi bir hizmet ekleyerek SSL yönetimini bu hizmetler aracılığıyla yapabilirsiniz. Statik web sitesi uç noktanızın varsayılan Azure tarafından sağlanan URL'si (örneğin, *.web.core.windows.net) zaten HTTPS desteklidir.
