WordPress virtuális gépeken

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

Ez a cikk a WordPress nagy méretű, tárolóigényes azure-beli telepítésének megoldását ismerteti. A megoldás maximalizálja a méretezhetőséget és a biztonságot. A legfontosabb megoldási összetevők közé tartozik az Azure Front Door, az Azure Virtual Machines és a Azure NetApp Files.

Architektúra

A WordPress Azure Virtual Machine Scale Sets-alapú üzembe helyezésének architektúradiagramja. Azure NetApp Files statikus tartalmat tárol.

Töltse le az architektúra Visio-fájlját.

Megjegyzés

Ezt a megoldást úgy terjesztheti ki, hogy olyan tippeket és javaslatokat valósít meg, amelyek nem egy adott WordPress üzemeltetési módszerre vonatkoznak. A WordPress-telepítés üzembe helyezésére vonatkozó általános tippekért lásd: WordPress az Azure-ban.

Adatfolyam

  • A felhasználók az Azure Front Dooron keresztül férnek hozzá az előtérbeli webhelyhez, és engedélyezve van az Azure Web Application Firewall.
  • Az Azure Front Door a Azure Load Balancer belső példányát használja forrásként. Az Azure Front Door lekéri a nem gyorsítótárazott adatokat.
  • A belső terheléselosztó elosztja a kéréseket az Azure Virtual Machine Scale Sets. A méretezési csoportok Ubuntu-webkiszolgálókból állnak.
  • A kulcsokat és más titkos kulcsokat az Azure Key Vault tárolja.
  • A WordPress alkalmazás privát végpontot használ a Azure Database for MySQL rugalmas kiszolgálópéldányának eléréséhez. A WordPress alkalmazás dinamikus adatokat kér le az adatbázisból.
  • Az összes statikus tartalom Azure NetApp Files van tárolva, és az NFS protokollon keresztül van csatlakoztatva a virtuális gépekhez (VM-ekhez).

Összetevők

  • Az Azure Front Door egy modern felhőbeli tartalomkézbesítési hálózat. A kiszolgálók elosztott hálózataként az Azure Front Door hatékonyan biztosítja a webes tartalmakat a felhasználók számára. A tartalomkézbesítési hálózatok minimálisra csökkentik a késést azáltal, hogy a gyorsítótárazott tartalmakat a végfelhasználók közelében lévő jelenléti pontokon tárolja a peremkiszolgálókon.
  • Az Azure Virtual Network lehetővé teszi, hogy az üzembe helyezett erőforrások kommunikáljanak egymással, az internettel és a helyszíni hálózatokkal. A virtuális hálózatok elkülönítést és szegmentálást biztosítanak. Emellett szűrik és irányítják a forgalmat, és lehetővé teszik a különböző helyek közötti kapcsolatok létrehozását. Ebben a megoldásban a két hálózat virtuális hálózati társviszony-létesítésen keresztül csatlakozik.
  • Az Azure DDoS Protection továbbfejlesztett DDoS-kockázatcsökkentési funkciókat biztosít. Ha ezeket a funkciókat alkalmazástervezési ajánlott eljárásokkal kombinálja, azok segítenek megvédeni a DDoS-támadásokat. Engedélyeznie kell a DDoS Protectiont peremhálózati virtuális hálózatokon.
  • A hálózati biztonsági csoportok biztonsági szabályok listájával engedélyezik vagy tiltják le a bejövő vagy kimenő hálózati forgalmat a forrás vagy cél IP-címe, portja és protokollja alapján. Ebben a forgatókönyvben az alhálózatokon a hálózati biztonsági csoport szabályai korlátozzák az alkalmazás összetevői közötti forgalmat.
  • Load Balancer a szabályok és az állapotadat-mintavétel eredményei alapján osztja el a bejövő forgalmat. A terheléselosztó alacsony késést és nagy átviteli sebességet biztosít. A forgalom több kiszolgáló közötti elosztásával a terheléselosztó skálázhatóbbá teszi a Transmission Control Protocol (TCP) és a User Datagram Protocol (UDP) alkalmazásokat. Ebben az esetben a terheléselosztó elosztja a forgalmat a tartalomkézbesítési hálózatról az előtérbeli webkiszolgálókra.
  • Virtual Machine Scale Sets lehetővé teszi az azonos terheléselosztású virtuális gépek csoportjának létrehozását és kezelését. A virtuálisgép-példányok száma automatikusan növelhető vagy csökkenthető a pillanatnyi igényeknek megfelelően vagy egy meghatározott ütemezés szerint. Ebben a forgatókönyvben két külön méretezési csoportot használunk. Az egyik a tartalmat kiszolgáló előtér-webkiszolgálókhoz, a másik pedig az új tartalmak létrehozásához használt előtér-webkiszolgálókhoz tartozik.
  • Azure NetApp Files teljes mértékben felügyelt, teljesítményigényes és késésre érzékeny tárolási megoldást biztosít. Ebben a megoldásban Azure NetApp Files az összes WordPress-tartalmat üzemelteti, hogy az összes pod hozzáférjen az adatokhoz.
  • Azure Cache for Redis egy memóriabeli adattár. Ebben a megoldásban a Azure Cache for Redis segítségével kulcs-érték gyorsítótárat üzemeltethet. Ez a gyorsítótár minden pod között meg van osztva, és a WordPress teljesítményoptimalizálási beépülő moduljaihoz használatos.
  • Key Vault tárolja és szabályozza a jelszavakhoz, tanúsítványokhoz és kulcsokhoz való hozzáférést.
  • Azure Database for MySQL – a rugalmas kiszolgáló egy relációs adatbázis-szolgáltatás, amely a nyílt forráskódú MySQL-adatbázismotoron alapul. A rugalmas kiszolgálótelepítési lehetőség egy teljes körűen felügyelt szolgáltatás, amely részletes vezérlést és rugalmasságot biztosít az adatbázis-kezelési funkciók és a konfigurációs beállítások felett. Ebben a forgatókönyvben Azure Database for MySQL WordPress-adatokat tárol.

Alternatív megoldások

A Azure Cache for Redis felügyelt szolgáltatás helyett használhat saját üzemeltetésű podot egy virtuális gépen belül gyorsítótárként.

Forgatókönyv részletei

Ez a példaforgatókönyv a WordPress nagy méretű, tárolóigényes telepítéseihez megfelelő. Ez az üzembe helyezési modell méretezhető, hogy megfeleljen a hely felé menő forgalom kiugró értékeinek.

Lehetséges használati esetek

  • Nagy forgalmú blogok, amelyek a WordPresst használják tartalomkezelő rendszerként
  • WordPresst használó üzleti vagy e-kereskedelmi webhelyek

Megfontolandó szempontok

Ezek a szempontok implementálják az Azure Well-Architected-keretrendszer alappilléreit, amelyek a számítási feladatok minőségének javítására használható vezérelvek. További információ: Microsoft Azure Well-Architected Framework.

Megbízhatóság

A megbízhatóság biztosítja, hogy az alkalmazás megfeleljen az ügyfeleknek vállalt kötelezettségeknek. További információ: A megbízhatósági pillér áttekintése.

A megoldás üzembe helyezésekor vegye figyelembe a következő javaslatokat:

  • A megoldás Virtual Machine Scale Sets és terheléselosztót használ a bejövő forgalom elosztásához. Ez a megközelítés akkor is magas rendelkezésre állást biztosít, ha egy virtuális gép meghibásodik.
  • Ez a megoldás több régiót, adatreplikálást és automatikus skálázást is támogat. A hálózati összetevők elosztják a forgalmat a virtuális gépek között. A rendszer állapotteszteket használ, hogy a forgalom csak kifogástalan állapotú virtuális gépekre legyen elosztva.
  • Minden hálózati összetevőt az Azure Front Door kezel. Ez a megközelítés rugalmassá teszi a hálózati erőforrásokat és az alkalmazást azokkal a problémákkal szemben, amelyek egyébként megzavarnák a forgalmat, és befolyásolnák a végfelhasználói hozzáférést.
  • Az Azure Front Door egy globális szolgáltatás, amely támogatja a másik régióban üzembe helyezett virtuálisgép-méretezési csoportokat.
  • Ha az Azure Front Doort használja az összes válasz gyorsítótárazásához, egy kis rendelkezésre állási előnyre tehet szert. Pontosabban, ha a forrás nem válaszol, továbbra is hozzáférhet a tartalmakhoz. A gyorsítótárazás azonban nem nyújt teljes rendelkezésre állási megoldást.
  • A rendelkezésre állás növeléséhez replikálja Azure NetApp Files tárterületet a párosított régiók között. További információ: Régiók közötti replikáció Azure NetApp Files.
  • A Azure Database for MySQL rendelkezésre állás növeléséhez kövesse az igényeinek megfelelő magas rendelkezésre állási lehetőségeket.

Biztonság

A biztonság biztosítékokat nyújt a szándékos támadások és az értékes adatokkal és rendszerekkel való visszaélés ellen. További információ: A biztonsági pillér áttekintése.

A megoldás üzembe helyezésekor vegye figyelembe a következő javaslatokat:

  • Az Azure Front Door Web Application Firewall használatával védheti meg az előtérbeli alkalmazásrétegbe irányuló virtuális hálózati forgalmat. További információ: Azure Web Application Firewall az Azure Front Dooron.
  • Ne engedélyezze a kimenő internetes forgalom áramlását az adatbázisszintről.
  • Ne engedélyezze a nyilvános hozzáférést a privát tárolóhoz.
  • Adott esetben tiltsa le az erőforrásokhoz való nyilvános hozzáférést. Privát végpontok használata Azure Database for MySQL, Azure Cache for Redis és Key Vault.

További információ a WordPress biztonságáról: Általános WordPress biztonsági és teljesítménytippek és Az Azure biztonsági dokumentációja.

Költségoptimalizálás

A költségoptimalizálás a felesleges költségek csökkentésének és a működési hatékonyság javításának módjait ismerteti. További információ: A költségoptimalizálási pillér áttekintése.

A megoldás üzembe helyezésekor tekintse át a következő költségekre vonatkozó szempontokat:

  • Forgalmi elvárások (GB/hónap). A forgalmi mennyiség az a tényező, amely a legnagyobb hatással van a költségekre. A kapott forgalom mennyisége határozza meg a szükséges virtuális gépek számát és a kimenő adatátvitel árát. A forgalom mennyisége közvetlenül összefügg a tartalomkézbesítési hálózat által biztosított adatok mennyiségével is, ahol a kimenő adatátviteli költségek olcsóbbak.
  • Az üzemeltetett adatok mennyisége. Fontos figyelembe venni a tárolt adatok mennyiségét, mert Azure NetApp Files díjszabása a fenntartott kapacitáson alapul. A költségek optimalizálásához foglalja le az adatokhoz szükséges minimális kapacitást.
  • Írási százalék. Gondolja át, hogy mennyi új adatot ír a webhelyére, és mennyi a tárolás költsége. Többrégiós üzemelő példányok esetén a webhelyre írt új adatok mennyisége korrelál a régiók között tükrözött adatok mennyiségével.
  • Statikus és dinamikus tartalom. Monitorozza az adatbázis tárolási teljesítményét és kapacitását annak megállapításához, hogy egy olcsóbb termékváltozat támogatja-e a webhelyet. Az adatbázis dinamikus tartalmat tárol, a tartalomkézbesítési hálózat pedig gyorsítótárazza a statikus tartalmat.
  • Virtuális gépek optimalizálása. A virtuális gépek költségeinek optimalizálásához kövesse a virtuális gépekre vonatkozó általános tippeket. További információ: Költségoptimalizálási tippek.

Teljesítménybeli hatékonyság

A teljesítménybeli hatékonyság lehetővé teszi, hogy a számítási feladatok hatékonyan méretezhetők legyenek a felhasználók igényei szerint. További információ: Teljesítményhatékonysági pillér áttekintése.

Ez a forgatókönyv Virtual Machine Scale Sets használ az egyes régiókban lévő két előtérbeli webkiszolgáló-fürthöz. Méretezési csoportok esetén az előtérbeli alkalmazásszintet futtató virtuálisgép-példányok száma automatikusan skálázható az ügyféligényeknek megfelelően. A virtuális gépek egy meghatározott ütemezés alapján is skálázhatók. További információ: Az automatikus skálázás áttekintése Virtual Machine Scale Sets.

Fontos

A legjobb teljesítmény érdekében elengedhetetlen a tároló csatlakoztatása az NFS protokoll 4.1-es verzióján keresztül. Az Ubuntu-hoz készült alábbi bash-példa bemutatja, hogyan konfigurálhatja a vers beállítást:

# 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

Közreműködők

Ezt a cikket a Microsoft tartja karban. Eredetileg a következő közreműködők írták.

Fő szerző:

Egyéb közreműködők:

  • Adrian Calinescu | Vezető felhőmegoldás-tervező

A nem nyilvános LinkedIn-profilok megtekintéséhez jelentkezzen be a LinkedInbe.

Következő lépések

Termékdokumentáció:

Microsoft-képzési modulok: