Düzenle

Aracılığıyla paylaş


Azure Kubernetes Service'te WordPress

Azure Cache for Redis
Azure Front Door
Azure Kubernetes Service (AKS)
Azure Load Balancer
Azure NetApp Files

Bu makalede, Azure'da WordPress'in depolama açısından yoğun yüklü büyük bir yüklemesini barındırmaya yönelik bir kapsayıcı çözümü açıklanmaktadır. Çözüm, ölçeklenebilirliği ve güvenliği en üst düzeye çıkarır. Temel bileşenler arasında Azure Front Door, Azure Kubernetes Service (AKS) ve Azure NetApp Files bulunur.

Mimari

Architecture diagram of an AKS WordPress deployment. Azure NetApp Files stores static content. Private endpoints provide access to other services.

Bu mimarinin bir Visio dosyasını indirin.

Dekont

Belirli bir WordPress barındırma yöntemine özgü olmayan ipuçları ve öneriler uygulayarak bu çözümü genişletebilirsiniz. WordPress yüklemesini dağıtmaya yönelik genel ipuçları için bkz . Azure'da WordPress.

Veri akışı

  • Kullanıcılar ön uç web sitesine Azure Front Door üzerinden Erişerek Azure Web Uygulaması Güvenlik Duvarı etkin olur.
  • Azure Front Door, kaynak olarak Azure Load Balancer'ın 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 gibi gizli dizileri depolar.
  • WordPress uygulaması, MySQL için Azure Veritabanı 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'da barındırılır. Çözüm, NFS protokolü ile Astra Trident Kapsayıcı Depolama Arabirimi (CSI) sürücüsünü kullanır.

Bileşenler

  • Azure Front Door modern bir bulut içeriği teslim ağıdır. Dağıtılmış sunucu ağı olarak Azure Front Door, kullanıcılara web içeriğini verimli bir şekilde sunar. İçerik teslim ağları, önbelleğe alınmış içeriği uç sunucularda son kullanıcıların yakınındaki iletişim noktası konumlarında depolayarak gecikme süresini en aza indirir.
  • Azure Sanal Ağ dağıtılan kaynakların birbiriyle, İnternet'le ve şirket içi ağlarla iletişim kurması için bir yol sağlar. Sanal ağlar yalıtım ve segmentasyon sağlar. Ayrıca trafiği filtreleyip yönlendirir ve çeşitli konumlar arasında bağlantı kurmayı mümkün hale getirir. Bu çözümde, iki ağ sanal ağ eşlemesi aracılığıyla bağlanır.
  • Azure DDoS Koruması gelişmiş DDoS azaltma özellikleri sağlar. Bu özellikleri uygulama tasarımı en iyi uygulamalarıyla birleştirdiğinizde, bunlar DDoS saldırılarına karşı savunmaya yardımcı olur. Çevre sanal ağlarında DDoS Koruması'nı etkinleştirmeniz gerekir.
  • Ağ güvenlik grupları , kaynak veya hedef IP adresi, bağlantı noktası ve protokol temelinde gelen veya giden ağ trafiğine izin vermek veya trafiği reddetmek için bir güvenlik kuralları listesi kullanır. Bu senaryonun alt ağlarında ağ güvenlik grubu kuralları, uygulama bileşenleri arasındaki trafik akışını kısıtlar.
  • Load Balancer gelen trafiği kurallara ve sistem durumu yoklaması sonuçlarına göre dağıtır. Yük dengeleyici düşük gecikme süresi ve yüksek aktarım hızı sağlar. Yük dengeleyici, trafiği birden çok sunucuya yayarak İletim Denetimi Protokolü (TCP) ve Kullanıcı Veri Birimi Protokolü (UDP) uygulamalarına ölçeklenebilirlik ekler. Bu senaryoda yük dengeleyici, içerik teslim ağından gelen trafiği ön uç web sunucularına dağıtır.
  • AKS , kapsayıcılı uygulamaları dağıtmak, yönetmek ve ölçeklendirmek için kullanabileceğiniz tam olarak yönetilen bir Kubernetes hizmetidir.
  • Azure NetApp Files , tam olarak yönetilen yoğun performans ve gecikme süresine duyarlı bir depolama çözümü sağlar. Bu çözümde Azure NetApp Files, tüm podların verilere erişebilmesi için tüm WordPress içeriğini barındırıyor.
  • Redis için Azure Cache bir bellek içi veri deposudur. Bu çözümde anahtar-değer önbelleği barındırmak için Redis için Azure Cache kullanabilirsiniz. Bu önbellek tüm podlar arasında paylaşılır ve WordPress performans iyileştirme eklentileri için kullanılır.
  • Key Vault parolalara, sertifikalara ve anahtarlara erişimi depolar ve denetler.
  • MySQL için Azure Veritabanı : Esnek sunucu, açık kaynak MySQL veritabanı altyapısını temel alan bir ilişkisel veritabanı hizmetidir. Esnek sunucu dağıtım seçeneği, veritabanı yönetimi işlevleri ve yapılandırma ayarları üzerinde ayrıntılı denetim ve esneklik sağlayan tam olarak yönetilen bir hizmettir. Bu senaryoda, MySQL için Azure Veritabanı WordPress verilerini depolar.

Alternatifler

  • Redis için Azure Cache yönetilen hizmetini kullanmak yerine, önbellek olarak AKS kümesinde şirket içinde barındırılan bir pod kullanabilirsiniz.
  • Azure NetApp Files gibi yönetilen bir depolama çözümü kullanmak yerine Rook-Ceph depolama gibi şirket içinde barındırılan bir çözüm kullanabilirsiniz. Daha fazla bilgi için bkz. Azure Kubernetes Service'te Rook Ceph'i kullanma.

Senaryo ayrıntıları

Bu örnek senaryo, WordPress'in büyük, depolama yoğunluklu yüklemeleri için uygundur. 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 kullanılabilecek bir dizi yol gösteren ilke olan Azure İyi Tasarlanmış Çerçeve'nin yapı taşlarını uygular. Daha fazla bilgi için bkz . Microsoft Azure İyi Tasarlanmış Çerçeve.

Güvenilirlik

Güvenilirlik, uygulamanızın müşterilerinize sağladığınız taahhütleri karşılayabilmesini sağlar. Daha fazla bilgi için bkz . Güvenilirlik sütununa genel bakış.

Bu çözümü dağıtırken aşağıdaki önerileri göz önünde bulundurun:

  • Çözüm, giriş trafiğini dağıtmak için AKS'deki podları ve yük dengeleyiciyi kullanır. Bu yaklaşım, pod hatası olsa bile yüksek kullanılabilirlik sağlar.
  • Çö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ı, trafiğin yalnızca iyi durumdaki podlara dağıtılabilmesi için kullanılır.
  • Tüm ağ bileşenleri Azure Front Door tarafından önlenir. Bu yaklaşım, ağ kaynaklarını ve uygulamayı trafiği kesintiye uğratacak ve son kullanıcı erişimini etkileyecek sorunlara dayanıklı hale getirir.
  • Azure Front Door, başka bir bölgeye dağıtılan sanal makine ölçek kümelerini destekleyen genel bir hizmettir.
  • Tüm yanıtları önbelleğe almak için Azure Front Door kullandığınızda küçük bir kullanılabilirlik avantajı elde edebilirsiniz. Ö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 depolama alanını eşleştirilmiş bölgeler arasında çoğaltabilirsiniz. Daha fazla bilgi için bkz . Azure NetApp Files ile bölgeler arası çoğaltma.
  • MySQL için Azure Veritabanı kullanılabilirliği artırmak için gereksinimlerinizi karşılayan yüksek kullanılabilirlik seçeneklerini izleyin.

Güvenlik

Güvenlik, kasıtlı saldırılara ve değerli verilerinizin ve sistemlerinizin kötüye kullanılmasına karşı güvence sağlar. Daha fazla bilgi için bkz . Güvenlik sütununa genel bakış.

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'da Web Uygulaması Güvenlik Duvarı kullanın. Daha fazla bilgi için bkz. Azure Front Door'da Azure Web Uygulaması Güvenlik Duvarı.
  • 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. MySQL için Azure Veritabanı, Redis için Azure Cache, Key Vault ve Azure Container Registry için özel uç noktaları kullanın. Daha fazla bilgi için bkz. Azure Özel Bağlantı.

WordPress güvenliği hakkında daha fazla bilgi için bkz . Genel WordPress güvenlik ve performans ipuçları ve Azure güvenlik belgeleri.

Maliyet iyileştirme

Maliyet iyileştirmesi, gereksiz giderleri azaltmanın ve operasyonel verimlilikleri iyileştirmenin yollarını aramaktır. Daha fazla bilgi için bkz . Maliyet iyileştirme sütununa genel bakış.

Bu çözümü dağıtırken aşağıdaki maliyetle ilgili dikkat edilmesi gerekenleri gözden geçirin:

  • Trafik beklentileri (GB/ay). Trafik hacminiz, maliyetinizi en çok etkileyen faktördür. Aldığınız trafik miktarı, ihtiyacınız olan 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 tarafından sağlanan veri miktarıyla da doğrudan ilişkilendirilir.
  • Barındırılan veri miktarı. Azure NetApp Files fiyatlandırması ayrılmış kapasiteye dayalı olduğundan, barındırdığınız veri miktarını göz önünde bulundurmanız önemlidir. Maliyetleri iyileştirmek için verileriniz için ihtiyacınız olan en düşük 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ımlarda, web sitenize yazdığınız yeni veri miktarı, bölgeleriniz arasında 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ümesi iyileştirmesi. AKS küme maliyetlerinizi iyileştirmek için, VM boyutu ve Azure rezervasyonları hakkında yönergeler gibi AKS ile ilgili genel ipuçlarını izleyin. Daha fazla bilgi için bkz . AKS maliyet iyileştirmesi.

Performans verimliliği

Performans verimliliği, kullanıcılar tarafından anlamlı bir şekilde yerleştirilen talepleri karşılamak amacıyla iş yükünüzü ölçeklendirme becerisidir. Daha fazla bilgi için bkz . Performans verimliliği sütununa genel bakış.

Bu senaryo, ön ucu barındırmak için AKS'deki podları kullanır. Otomatik ölçeklendirme özelliğiyle, ön uç uygulama katmanını çalıştıran pod sayısı müşteri talebine göre otomatik olarak ölçeklendirilebilir. Ayrıca tanımlanmış bir zamanlamaya göre ölçeklendirilebilirler. Daha fazla bilgi için bkz . Azure Kubernetes Service'te (AKS) uygulamalar için ölçeklendirme seçenekleri.

Önemli

En iyi performans için, NFS protokolü sürüm 4.1 kullanan kalıcı bir birimi bağlamak önemlidir. 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

Bu makale Microsoft tarafından yönetilir. Başlangıçta aşağıdaki katkıda bulunanlar tarafından yazılmıştır.

Asıl yazar:

Diğer katkıda bulunanlar:

  • Adrian Calinescu | Üst Düzey Bulut Çözümü Mimarı

Nonpublic LinkedIn profillerini görmek için LinkedIn'de oturum açın.

Sonraki adımlar

Ürün belgeleri:

Microsoft eğitim modülleri: