Sanal makinelerde WordPress

Azure Front Door
Azure Key Vault
Azure Load Balancer
Azure Virtual Network
Azure Virtual Machine Scale Sets

Bu makalede, Azure'da WordPress'in büyük, depolama açısından yoğun bir yüklemesini barındırmaya yönelik bir çözüm açıklanmaktadır. Çözüm, ölçeklenebilirliği ve güvenliği en üst düzeye çıkarır. Temel çözüm bileşenleri Arasında Azure Front Door, Azure Sanal Makineler ve Azure NetApp Files yer alır.

Mimari

Azure Sanal Makine Ölçek Kümeleri'da WordPress dağıtımının mimari diyagramı. Azure NetApp Files statik içeriği depolar.

Bu mimarinin bir Visio dosyasını indirin.

Not

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 bir iç Azure Load Balancer örneği kullanır. Azure Front Door önbelleğe alınmamış tüm verileri alır.
  • İç yük dengeleyici istekleri Azure Sanal Makine Ölçek Kümeleri dağıtır. Ölçek kümeleri Ubuntu web sunucularından oluşur.
  • Anahtarlar ve diğer gizli diziler Azure Key Vault'de depolanır.
  • WordPress uygulaması, MySQL için Azure Veritabanı esnek sunucu örneğine erişmek için özel bir uç nokta kullanır. WordPress uygulaması veritabanından dinamik bilgileri alır.
  • Tüm statik içerik Azure NetApp Files içinde barındırılır ve NFS protokolü aracılığıyla sanal makinelere (VM) bağlanı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, web içeriğini kullanıcılara 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 segmentlere ayırma 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, 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 bunları 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 yoklama 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.
  • Sanal Makine Ölçek Kümeleri, aynı yük dengeli VM'lerden oluşan bir grup oluşturup yönetmek için bir yol sağlar. Tanımlı bir zamanlamaya veya talebe yanıt olarak sanal makine örneği sayısı otomatik olarak artabilir ya da azalabilir. Bu senaryoda iki ayrı ölçek kümesi kullanılır. Bunlardan biri içerik sunan ön uç web sunucuları, diğeri ise yeni içerik oluşturmak için kullanılan ön uç web sunucuları içindir.
  • 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 ilişkisel bir 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 vm içinde şirket içinde barındırılan bir pod kullanabilirsiniz.

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, siteye gelen trafikteki ani artışları karşılamak için ö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 gerekenler

Bu önemli noktalar, bir iş yükünün kalitesini artırmak için kullanılabilecek bir dizi yol gösteren ilke olan Azure Well-Architected Framework'ün yapı taşlarını uygular. Daha fazla bilgi için bkz. Microsoft Azure Well-Architected Framework.

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 Sanal Makine Ölçek Kümeleri ve yük dengeleyici kullanır. Bu yaklaşım, bir VM başarısız olsa bile yüksek kullanılabilirlik sağlar.
  • Bu çözüm birden çok bölgeyi, veri çoğaltmayı ve otomatik ölçeklendirmeyi destekler. Ağ bileşenleri trafiği VM'lere dağıtır. Sistem durumu yoklamaları, trafiğin yalnızca iyi durumdaki VM'lere 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 küresel 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ğaltarak. 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 önerileri 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 depolamaya genel erişime izin verme.
  • Uygun olduğunda kaynaklara genel erişimi devre dışı bırakın. MySQL için Azure Veritabanı, Redis için Azure Cache ve Key Vault için özel uç noktaları kullanın.

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

Maliyet iyileştirmesi

Maliyet iyileştirmesi, gereksiz giderleri azaltmanın ve operasyonel verimliliği artırmanın yollarını gözden geçmektir. 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, maliyetinizde en büyük etkiye sahip olan faktördür. Aldığınız trafik miktarı, ihtiyacınız olan VM 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 bağıntı kurar.
  • Barındırılan veri miktarı. Azure NetApp Files fiyatlandırması ayrılmış kapasiteye dayandığından, 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 ilişkilendirilir.
  • 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.
  • VM iyileştirmesi. VM maliyetlerini iyileştirmek için VM'lere yönelik genel ipuçlarını izleyin. Daha fazla bilgi için bkz . Maliyet iyileştirme ipuçları.

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, her bölgedeki iki ön uç web sunucusu kümesi için Sanal Makine Ölçek Kümeleri kullanır. Ölçek kümeleriyle, ön uç uygulama katmanını çalıştıran VM örneklerinin sayısı müşteri talebine göre otomatik olarak ölçeklendirilebilir. VM'ler tanımlı bir zamanlamaya göre de ölçeklendirilebilir. Daha fazla bilgi için bkz. Sanal Makine Ölçek Kümeleri ile otomatik ölçeklendirmeye genel bakış.

Önemli

En iyi performans için, NFS protokolü sürüm 4.1 aracılığıyla depolamayı bağlamak önemlidir. Aşağıdaki Ubuntu bash örneği, seçeneği nasıl yapılandırabileceğinizi vers gösterir:

# Install an NFS driver and create a directory.
$ apt-get install -y nfs-common && mkdir -p /var/www/html
# Add auto-mount on startup. (Replace the following code with
# instructions from the Azure portal, but change the vers value to 4.1.)
$ echo '<netapp_private_ip>:/<volume_name> /var/www/html nfs rw,hard,rsize=262144,wsize=262144,sec=sys,vers=4.1,tcp 0 0' >> /etc/fstab
# Mount the storage.
$ mount -a

Katkıda Bulunanlar

Bu makale Microsoft tarafından korunur. 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: