Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Azure üzerinde depolama açısından yoğun bir WordPress yüklemesini barındıran bir kapsayıcı çözümü açıklanmaktadır. Çözüm, ölçeklenebilirliği ve güvenliği en üst düzeye çıkarır. Önemli bileşenler arasında Azure Front Door, Azure Kubernetes Service (AKS) ve Azure NetApp Files bulunur.
Mimari
Bu mimarinin Visio dosyasını indirin.
Not
Herhangi bir WordPress barındırma yöntemi için geçerli olan ipuçları ve öneriler uygulayarak bu çözümü genişletebilirsiniz. WordPress yüklemesini dağıtma hakkında genel ipuçları için bkz. Azure üzerinde WordPress.
Veri akışı
Aşağıdaki veri akışı önceki diyagrama karşılık gelir:
Kullanıcılar, Azure Web Application Firewall aktif olan Azure Front Door üzerinden ön uç web sitesine erişir.
Azure Front Door kaynak olarak Azure Load Balancer iç örneğini kullanır. İç yük dengeleyici AKS'nin gizli bir bileşenidir. Azure Front Door önbelleğe alınmamış tüm verileri alır.
İç yük dengeleyici, giriş trafiğini AKS içindeki podlara dağıtır.
Azure Key Vault, X.509 sertifikası olan özel anahtar da dahil olmak üzere gizli dizileri depolar.
WordPress uygulaması, Azure Database for MySQL Esnek Sunucu örneğine erişmek için özel bir uç nokta kullanır. WordPress uygulaması bu yönetilen veritabanı hizmetinden dinamik bilgileri alır.
Tüm statik içerik Azure NetApp Files içinde barındırılır. Çözüm, Ağ Dosya Sistemi (NFS) protokolü ile Astra Trident Kapsayıcı Depolama Arabirimi (CSI) sürücüsünü kullanır.
Bileşenler
AKS , kapsayıcılı uygulamaları dağıtmak, yönetmek ve ölçeklendirmek için kullanabileceğiniz yönetilen bir Kubernetes hizmetidir. Bu mimaride AKS, WordPress kapsayıcılarını barındırır ve yüksek kullanılabilirlik ve ölçeklenebilirlik sağlamak için kapsayıcılı WordPress uygulamasını çalıştıran düzenleme platformunu sağlar.
Azure Managed Redis yönetilen bir bellek içi veri deposu ve önbelleğe alma hizmetidir. Bu mimaride Azure Managed Redis, tüm podların paylaştığı bir anahtar-değer önbelleği barındırır. WordPress performans iyileştirme eklentileri yanıt sürelerini iyileştirmek için önbelleği kullanır.
Azure Database for MySQL - Esnek Sunucu açık kaynak MySQL veritabanı altyapısını temel alan yönetilen bir ilişkisel veritabanı hizmetidir. Bu mimaride, bu veritabanı WordPress verilerini depolar.
Azure DDoS Koruması gelişmiş dağıtılmış hizmet reddi (DDoS) azaltma özellikleri sağlayan bir ağ güvenlik hizmetidir. Bu mimaride DDoS Koruması, uygulama tasarımı en iyi yöntemleriyle birleştirildiğinde ve çevre ağında etkinleştirildiğinde DDoS saldırılarına karşı savunmaya yardımcı olur.
Azure Front Door modern bir bulut içeriği teslim ağı ve küresel yük dengeleyicidir. Bu mimaride, Azure Front Door WordPress dağıtımına genel giriş noktasıdır.
Azure NetApp Files yönetilen, yoğun performans gerektiren ve gecikme süresine duyarlı bir depolama çözümüdür. Bu mimaride Azure NetApp Files, tüm podların yüksek performanslı dosya depolama aracılığıyla paylaşılan verilere erişebilmesi için WordPress içeriğini barındırıyor.
Azure Virtual Network dağıtılan kaynakların birbiriyle, internetle ve şirket içi ağlarla iletişim kurmasını sağlayan bir ağ hizmetidir. Bu mimaride, sanal ağlar yalıtım ve segmentasyon sağlar.
Key Vault gizli dizilere, sertifikalara, anahtarlara ve parolalara erişimi depolayan ve denetleen bir bulut hizmetidir. Bu mimaride, eğer podlar onlara ihtiyaç duyarsa, Key Vault AKS kümesine gizli bilgiler sağlar.
Load Balancer, gelen trafiği kurallara ve sistem durumu yoklama sonuçlarına göre dağıtan bir katman-4 yük dengeleyicidir. Bu mimaride iç yük dengeleyici, Azure Front Door Premium katmanından gelen trafiği düşük gecikme süresi ve yüksek aktarım hızıyla giriş denetleyicisi podlarına dağıtır.
Ağ güvenlik grupları (NSG), kaynak veya hedef IP adresine, bağlantı noktasına ve protokole göre gelen veya giden ağ trafiğine izin vermek veya trafiği reddetmek için güvenlik kurallarını kullanan güvenlik özellikleridir. Bu mimaride NSG kuralları, alt ağlardaki uygulama bileşenleri arasındaki trafik akışını kısıtlar.
Alternatifler
Azure Yönetilen Redis hizmetini kullanmak yerine, AKS kümesi içinde kendi sunucunuzda barındırılan bir Redis podunu önbellek olarak kullanabilirsiniz.
Azure NetApp Files gibi yönetilen bir depolama çözümü kullanmak yerine Rook-Ceph storage gibi şirket içinde barındırılan bir çözüm kullanabilirsiniz. Daha fazla bilgi için bkz. Rook Ceph'i AKS üzerinde kullanma.
AKS kullanmak yerine, kapsayıcılı WordPress iş yüklerini barındırmak için Azure Container Apps kullanabilirsiniz. Container Apps, daha basit veya daha küçük ölçekli senaryolara uyan yönetilen bir sunucusuz kapsayıcı hizmetidir. Büyük, depolama yoğunluklu ve yüksek oranda özelleştirilebilir dağıtımlar için AKS kullanın.
Senaryo ayrıntıları
Bu örnek senaryo, WordPress'in depolama açısından yoğun büyük yüklemeleri için en iyi şekilde çalışır. Bu dağıtım modeli, site trafiğindeki ani artışları karşılayacak şekilde ölçeklendirilebilir.
Olası kullanım örnekleri
- İçerik yönetim sistemi olarak WordPress kullanan yüksek trafikli bloglar
- WordPress kullanan iş veya e-ticaret web siteleri
Dikkat edilmesi gereken noktalar
Bu önemli noktalar, bir iş yükünün kalitesini artırmak için kullanabileceğiniz bir dizi yol gösteren ilke kümesi olan Azure Well-Architected Framework'ün yapı taşlarını uygular. Daha fazla bilgi için bkz. Well-Architected Framework.
Güvenilirlik
Güvenilirlik, uygulamanızın müşterilerinize sağladığınız taahhütleri karşılayabilmesine yardımcı olur. Daha fazla bilgi için bkz. Güvenilirlik için Tasarım inceleme kontrol listesi.
Bu çözümü dağıtırken aşağıdaki önerileri göz önünde bulundurun:
Giriş trafiğini dağıtmak için AKS'de podları ve yük dengeleyiciyi kullanın. Bu yaklaşım, pod hatası oluşsa bile yüksek kullanılabilirlik sağlar.
Tüm ağ bileşenlerini Azure Front Door arkasına yerleştirin. Bu yaklaşım, ağ kaynaklarını ve uygulamayı trafiği kesintiye uğratabilecek ve kullanıcı erişimini etkileyebilecek sorunlara dayanıklı hale getirir.
Küçük bir kullanılabilirlik avantajı elde etmek için tüm yanıtları önbelleğe almak için Azure Front Door kullanın. Özellikle, kaynak yanıt vermediğinde içeriğe erişmeye devam edebilirsiniz. Ancak önbelleğe alma tam bir kullanılabilirlik çözümü sağlamaz.
Kullanılabilirliği artırmak için Azure NetApp Files dosya depolamayı, eşleştirilmiş bölgeler arasında çoğaltın. Daha fazla bilgi için bakınız Azure NetApp Files replikasyonunu anlama.
Azure Database for MySQL kullanılabilirliğini artırmak için gereksinimlerinizi karşılayan yüksek erişilebilirlik seçeneklerini seçin.
Çözüm birden çok bölgeyi, veri çoğaltmayı ve otomatik ölçeklendirmeyi destekler. Bileşenler, trafiği podlara dağıtır. Sistem durumu yoklamaları yalnızca iyi durumdaki podların trafik almasını sağlar.
Azure Front Door, başka bir bölgeye dağıtılan sanal makine ölçek kümelerini destekleyen genel bir hizmettir.
Güvenlik
Güvenlik, kasıtlı saldırılara ve değerli verilerinizin ve sistemlerinizin kötüye kullanımına karşı güvence sağlar. Daha fazla bilgi için bkz. Güvenlik için tasarım gözden geçirme denetim listesi.
Bu çözümü dağıtırken aşağıdaki en iyi yöntemleri göz önünde bulundurun:
Ön uç uygulama katmanına akan sanal ağ trafiğini korumaya yardımcı olmak için Azure Front Door Web Application Firewall kullanın. Daha fazla bilgi için bkz. Azure Front Door üzerindeki Web Application Firewall.
Veritabanı katmanından giden İnternet trafiğinin akmasına izin verme.
Özel depolama alanına genel erişim izni verme ve kaynaklara genel erişimi devre dışı bırakma. Azure Database for MySQL, Azure Yönetilen Redis, Key Vault ve Azure Container Registry için özel uç noktaları kullanın. Daha fazla bilgi için bkz. Azure Private Link.
Daha fazla bilgi için bkz. Genel WordPress güvenlik ve performans ipuçları ve Azure güvenlik belgeleri.
Maliyet İyileştirme
Maliyet İyileştirme, gereksiz giderleri azaltmanın ve operasyonel verimlilikleri iyileştirmenin yollarına odaklanır. Daha fazla bilgi için bkz. Maliyet İyileştirme için Tasarım İnceleme Denetim Listesi.
Bu çözümü dağıtırken aşağıdaki maliyetle ilgili dikkat edilmesi gerekenleri gözden geçirin:
Trafik beklentileri (GB/ay): Trafik hacminiz, maliyetinizde en büyük etkiye sahiptir. Aldığınız trafik miktarı, gerekli AKS düğümlerinin sayısını ve giden veri aktarımının fiyatını belirler. Trafik hacmi, giden veri aktarımı maliyetlerinin daha ucuz olduğu içerik teslim ağınızın sağladığı veri miktarıyla da doğrudan ilişkilendirilir.
Barındırılan veriler: Azure NetApp Files fiyatlandırması ayrılmış kapasiteyi temel aldığından, barındırdığınız veri miktarını göz önünde bulundurun. Maliyetleri iyileştirmek için verileriniz için gereken minimum kapasiteyi ayırın.
Yazma yüzdesi: Web sitenize ne kadar yeni veri yazdığınızı ve bunları depolama maliyetini göz önünde bulundurun. Çok bölgeli dağıtımlar için, web sitenize yazdığınız yeni veri miktarı, bölgelerinizde yansıtılan veri miktarıyla bağıntılı olur.
Statik ve dinamik içerik: Daha ucuz bir SKU'nun sitenizi destekleyip desteklemediğini belirlemek için veritabanı depolama performansınızı ve kapasitenizi izleyin. Veritabanı dinamik içeriği depolar ve içerik teslim ağı statik içeriği önbelleğe alır.
AKS küme iyileştirmesi: AKS küme maliyetlerinizi iyileştirmek için AKS için sanal makine (VM) boyutu ve Azure rezervasyonlarıyla ilgili yönergeler gibi genel ipuçlarını izleyin. Daha fazla bilgi için bkz. AKS Maliyet İyileştirme.
Performans Verimliliği
Performans Verimliliği, iş yükünüzün kullanıcı taleplerini verimli bir şekilde karşılayacak şekilde ölçeklendirebilmesini ifade eder. Daha fazla bilgi için bkz. Performans Verimliliğiiçin Tasarım gözden geçirme denetim listesi.
Bu senaryo, frontend'i barındırmak üzere AKS'deki podları kullanır. Otomatik ölçeklendirme özelliği, ön uç uygulama katmanını çalıştıran pod sayısının müşteri talebine göre otomatik olarak ölçeklendirilmesini sağlar. Ayrıca tanımlanmış bir zamanlamaya göre ölçeklendirilebilirler. Daha fazla bilgi için bkz. AKS'de uygulamalar için ölçeklendirme seçenekleri.
Önemli
En iyi performans için NFS protokolü sürüm 4.1'i kullanan kalıcı bir birim bağlayın. Aşağıdaki YAML örneği, bir PersistentVolume nesnenin bu amaç için nasıl yapılandırılır gösterir. Alanın değerini not edin mountOptions .
kind: PersistentVolume
...
accessModes:
- ReadWriteMany
mountOptions:
- vers=4.1
nfs:
server: xx.xx.xx.xx
Katkıda Bulunanlar
Microsoft bu makaleyi korur. Bu makaleyi aşağıdaki katkıda bulunanlar yazdı.
Asıl yazar:
- Vaclav Jirovsky | Bulut Çözümü Mimarı
Diğer katkıda bulunan:
- Adrian Calinescu | Üst Düzey Bulut Çözümü Mimarı
Gizli LinkedIn profillerini görmek için LinkedIn adresinde oturum açın.
Sonraki adımlar
Ürün belgeleri:
- Azure Front Door genel bakış
- Web Application Firewall genel bakış
- Azure NetApp Files genel bakış
- Azure NetApp Files için NFS birimi oluşturun
- AKS için Azure NetApp Files'ı yapılandır
- Azure Database for MySQL - Esnek Sunucu
- Virtual Network genel bakış
- Key Vault genel bakış
- Load Balancer genel bakış
- DDoS Korumasına genel bakış
Microsoft eğitim modülleri:
- Kubernetes'te uygulama geliştirme ve dağıtma
- Azure NetApp Files'e Giriş
- Implement Key Vault
Virtual Network
İlgili kaynaklar
- Azure uygulamaları için Design ilkeleri
- Ölçeklenebilir bulut uygulamaları ve site güvenilirliği mühendisliği