Impostare un CMS WordPress connesso a un MySQL Database nel cloud

Creare e gestire siti Web moderni nel cloud senza bisogno di una laurea in programmazione o amministrazione del database. Approfitta delle funzionalità intuitive della piattaforma WordPress e dell'elasticità e dei vantaggi economici derivanti dall'hosting delle pagine Web e dei blog in Oracle Cloud Infrastructure.

Architettura

Questa architettura distribuisce un WordPress CMS e Oracle MySQL Database Service in Oracle Cloud Infrastructure (OCI).

È possibile distribuire WordPress in un singolo nodo o come parte di una configurazione HA multinode. Questa architettura di riferimento include l'automazione Terraform, compatibile con entrambe le configurazioni.

Per un ambiente di alta disponibilità multinode complesso, distribuire i nodi WordPress in più domini di errore con load balancer primari e in standby e con il servizio Oracle Cloud Infrastructure File Storage condiviso (servizio NFS gestito) per tutti i nodi WordPress.

Il diagramma riportato di seguito mostra questa architettura multinode.

Segue la descrizione di oci-arch-wordpress-mds.png
Descrizione dell'illustrazione oci-arch-wordpress-mds.png

oci-arch-wordpress-mds-oracle.zip

Durante la configurazione di un ambiente multinode è possibile effettuare le operazioni riportate di seguito.

  • Definire il numero di nodi livello WordPress.
  • Distribuire i load balancer pubblici e nascondere i nodi WordPress in una subnet privata.
  • Distribuire l'host Bastion o i servizi Bastion per accedere alle risorse private.
  • Utilizza i servizi Oracle Cloud Infrastructure File Storage con storage NFS condiviso per il contenuto WordPress (condivisione di caricamenti, plugin e temi tra i nodi).

Il diagramma riportato di seguito mostra una semplice architettura a nodo singolo. È costituito da una distribuzione leggera, che potrebbe essere adatta a scopi di apprendimento o servire come prova di concetto.

Segue la descrizione di deployment-wordpress-cms-mysql-dbs.png
Descrizione dell'illustrazione deployment-wordpress-cms-mysql-dbs.png

deployment-wordpress-cms-mysql-dbs-oracle.zip

Le architetture dispongono di alcuni o di tutti i componenti riportati di seguito.

  • Area

    Un'area Oracle Cloud Infrastructure è un'area geografica localizzata che contiene uno o più data center, denominati domini di disponibilità. Le regioni sono indipendenti da altre regioni, e vaste distanze possono separarle (tra paesi o addirittura continenti).

  • Domini di disponibilità

    I domini di disponibilità sono data center indipendenti e autonomi all'interno di un'area. Le risorse fisiche in ogni dominio di disponibilità vengono isolate dalle risorse negli altri domini di disponibilità, il che fornisce tolleranza agli errori. I domini di disponibilità non condividono infrastrutture quali l'alimentazione o il raffreddamento o la rete di dominio di disponibilità interna. È quindi improbabile che un errore a un dominio di disponibilità influenzi gli altri domini di disponibilità nell'area.

  • Dominio di errore

    Un dominio di errore è un raggruppamento di hardware e infrastruttura all'interno di un dominio di disponibilità. Ogni dominio di disponibilità dispone di tre domini di errore con alimentazione e hardware indipendenti. Quando distribuisci le risorse su più domini di errore, le applicazioni possono tollerare errori del server fisico, manutenzione del sistema e errori di alimentazione all'interno di un dominio di errore.

  • Rete cloud virtuale (VCN) e subnet

    Un VCN è una rete customizzabile e definita dal software impostata in un'area Oracle Cloud Infrastructure. Come le tradizionali reti di data center, i VCN ti danno il controllo completo sul tuo ambiente di rete. Un VCN può avere più blocchi CIDR non sovrapposti che è possibile modificare dopo la creazione di VCN. È possibile segmentare un VCN in subnet, che possono essere definite in un'area o in un dominio di disponibilità. Ogni subnet è costituita da un intervallo contiguo di indirizzi che non si sovrappongono alle altre subnet in VCN. È possibile modificare le dimensioni di una subnet dopo la creazione. Una subnet può essere pubblica o privata.

  • Gateway Internet

    Il gateway Internet consente il traffico tra le subnet pubbliche in un VCN e Internet pubblico.

  • Gateway NAT (Network Address Translation)

    Un gateway NAT consente alle risorse private in una VCN di accedere agli host su Internet, senza esporre tali risorse alle connessioni Internet in entrata.

  • Gruppo di sicurezza di rete (NSG)

    I NSG fungono da firewall virtuali per le risorse cloud. Con il modello di sicurezza zero-trust di Oracle Cloud Infrastructure, tutto il traffico viene negato ed è possibile controllare il traffico di rete all'interno di un VCN. Un NSG è costituito da un set di regole di sicurezza in entrata e in uscita che si applicano solo a un set specificato di VNIC in un singolo VCN.

  • Lista di sicurezza

    Per ogni subnet, puoi creare regole di sicurezza che specificano l'origine, la destinazione e il tipo di traffico che devono essere consentiti all'interno e all'esterno della subnet.

  • Servizio database Oracle MySQL

    Oracle MySQL Database Service è un servizio di database Oracle Cloud Infrastructure (OCI) completamente gestito che consente agli sviluppatori di sviluppare e distribuire rapidamente applicazioni native cloud sicure. Ottimizzato per e disponibile esclusivamente in OCI, MySQL Database Service è il 100% creato, gestito e supportato dai team di ingegneria OCI e MySQL.

    In questa architettura di riferimento, Oracle MySQL Database Service viene distribuito su una Virtual Machine e viene utilizzato per ospitare le informazioni sul contenuto per WordPress. La distribuzione non è in un cluster.

  • Storage file

    Il servizio Storage di file Oracle Cloud Infrastructure fornisce un file system di rete di livello Enterprise duraturo, scalabile, sicuro e sicuro. Puoi connetterti a un file system del servizio di storage di file da qualsiasi istanza Bare Metal, virtual machine o container all'interno di una rete VCN. Inoltre, puoi accedere a un file system dall'esterno della VCN utilizzando Oracle Cloud Infrastructure FastConnect e una VPN IPSec.

  • WordPress Content Management System (CMS)

    WordPress CMS consente di creare un sito blog completo o un sito Web di uso generale. Questa architettura utilizza un'istanza di calcolo regolare per distribuire il motore CMS WordPress.

  • Load balancer

    Il servizio Oracle Cloud Infrastructure Load Balancing fornisce la distribuzione automatica del traffico da un singolo punto di accesso a più server nel back-end.

  • Servizio bastion

    Oracle Cloud Infrastructure Bastion offre un accesso sicuro limitato nel tempo e a risorse che non dispongono di endpoint pubblici e che richiedono controlli rigorosi per l'accesso alle risorse, ad esempio Bare Metal e virtual machine, Oracle MySQL Database Service, Autonomous Transaction Processing (ATP), Oracle Container Engine for Kubernetes (OKE) e qualsiasi altra risorsa che consenta l'accesso SSH (Secure Shell Protocol). Con il servizio Bastion Oracle Cloud Infrastructure, puoi abilitare l'accesso agli host privati senza distribuire e gestire un host jump. Inoltre, puoi ottenere livelli di sicurezza migliori con autorizzazioni basate sull'identità e una sessione SSH centralizzata, controllata e limitata dal tempo. Il bastion di Oracle Cloud Infrastructure rimuove la necessità di un IP pubblico per l'accesso bastion, eliminando la superficie di attacco potenzialmente e velando per l'accesso remoto.

  • Calcola

    Il servizio Oracle Cloud Infrastructure Compute consente di eseguire il provisioning e la gestione degli host di calcolo nel cloud. Puoi avviare le istanze di computazione con le navi che soddisfano i requisiti delle tue risorse in termini di CPU, memoria, larghezza di banda della rete e storage. Dopo aver creato un'istanza di computazione, puoi accedervi in modo sicuro, riavviarla, collegare e scollegare i volumi e arrestarli quando non ne hai più bisogno.

Suggerimenti

Utilizzare i suggerimenti riportati di seguito come punto di partenza per distribuire WordPress. Le vostre esigenze potrebbero differire dall'architettura descritta qui.
  • VCN

    Quando si crea un VCN, determinare il numero di blocchi CIDR richiesti e la dimensione di ciascun blocco in base al numero di risorse che si prevede di associare alle subnet in VCN. Utilizzare blocchi CIDR che si trovano all'interno dello spazio degli indirizzi IP privati standard.

    Selezionare blocchi CIDR che non si sovrappongono a nessun'altra rete (in Oracle Cloud Infrastructure, nel data center in locale o in un altro provider cloud) a cui si intende impostare connessioni private.

    Dopo aver creato un VCN, è possibile modificare, aggiungere e rimuovere i blocchi CIDR.

    Quando si progettano le subnet, prendere in considerazione il flusso di traffico e i requisiti di sicurezza. Allegare tutte le risorse all'interno di uno specifico livello o ruolo alla stessa subnet, che può fungere da limite di sicurezza.

  • Liste di sicurezza

    Utilizzare gli elenchi di sicurezza per definire le regole di ingresso e uscita applicabili all'intera subnet.

  • Calcola forme

    Questa architettura utilizza un'immagine del sistema operativo Oracle Linux 7.8 con una forma VM.Standard2.1 per WordPress CMS. Se le esigenze delle risorse dell'applicazione sono diverse, è possibile scegliere una forma diversa.

  • Servizio database Oracle MySQL

    In questa architettura, WordPress CMS memorizza i dati relazionali nel servizio database Oracle MySQL. Si consiglia di utilizzare l'ultima versione.

Considerazioni

Quando si distribuisce WordPress in Oracle Cloud, considerare quanto segue per scalabilità, disponibilità e backup:

  • scalabilità CMS WordPress

    È possibile scalare WordPress CMS utilizzando il pool di istanze e le funzioni di ridimensionamento automatico.

    I pool di istanze consentono di eseguire il provisioning e creare più istanze di calcolo in base alla stessa configurazione all'interno della stessa area.

    Il ridimensionamento automatico consente di regolare automaticamente il numero di istanze di calcolo in un pool di istanze in base alle metriche delle prestazioni, ad esempio l'utilizzo della CPU. Il ridimensionamento automatico consente di fornire prestazioni coerenti agli utenti durante periodi di elevata domanda e consente di ridurre i costi durante periodi di bassa domanda.

  • scalabilità servizio database Oracle MySQL

    Scegliere la forma del computer per il servizio di database Oracle MySQL in base al carico di lavoro pianificato.

  • Disponibilità applicazione

    I domini di errore forniscono la migliore resilienza all'interno di un dominio di disponibilità. Se è necessaria una maggiore disponibilità, prendere in considerazione l'utilizzo di più domini di disponibilità o più aree.

  • Backup del servizio di database Oracle MySQL

    MySQL Database Service supporta due tipi di backup: backup completo di tutti i dati contenuti nel sistema di database e backup incrementale solo dei dati aggiunti o modificati dall'ultimo backup completo. I backup vengono eseguiti nei seguenti modi:

    • Manuale: un'azione nella console o nella richiesta effettuata tramite l'API avvia il backup. I backup manuali possono essere conservati per almeno un giorno e un massimo di 365 giorni.

    • Automatico: i backup pianificati automaticamente vengono eseguiti senza alcuna interazione richiesta in un momento in cui l'utente sceglie. I backup automatici vengono conservati tra uno e 35 giorni. Il valore di conservazione predefinito è sette giorni. Quando definito, non è possibile modificare il periodo di conservazione di un backup automatico

    Calcola backup

    Il servizio Oracle Cloud Infrastructure Block Volumes consente di eseguire backup puntuali dei dati su un volume a blocchi. È quindi possibile ripristinare questi backup su nuovi volumi immediatamente o in seguito.

    È inoltre possibile utilizzare il servizio per eseguire un backup punto-in-time e resistente al crash di un volume di avvio senza interruzione dell'applicazione o tempi di inattività. Le funzionalità di backup del volume di avvio sono le stesse delle funzionalità di backup del volume a blocchi.

  • Politiche di sicurezza

    Utilizzare i criteri per limitare chi può accedere alle risorse OCI (Oracle Cloud Infrastructure) di cui dispone l'azienda e alla modalità.

  • Sicurezza della rete

    Il servizio di rete offre due funzioni del firewall virtuale che utilizzano le regole di sicurezza per controllare il traffico a livello di pacchetto: liste di sicurezza e gruppi di sicurezza di rete (NSG). Un NSG è costituito da un set di regole di sicurezza in entrata e in uscita che si applicano solo a un set di VNIC di vostra scelta in un singolo VCN. Ad esempio, è possibile scegliere tutte le istanze di calcolo che fungono da server Web nel livello Web di un'applicazione multilivello in VCN.

    Le regole di sicurezza NSG funzionano come le regole dell'elenco di sicurezza. Tuttavia, per l'origine o la destinazione di una regola di sicurezza NSG, è possibile specificare un NSG anziché un blocco CIDR. È quindi possibile scrivere facilmente regole di sicurezza per controllare il traffico tra due NSG nello stesso VCN o il traffico all'interno di un singolo NSG. Quando si crea un sistema di database, è possibile specificare uno o più NSG. È inoltre possibile aggiornare un sistema di database esistente per utilizzare uno o più NSG.

Distribuzione

Il codice Terraform per questa architettura di riferimento è disponibile su GitHub. È possibile estrarre il codice in Oracle Cloud Infrastructure Resource Manager con un solo clic, creare lo stack e distribuirlo. In alternativa, è possibile scaricare il codice da GitHub al computer, personalizzare il codice e distribuire l'architettura utilizzando Terraform CLI.

  • Distribuire utilizzando lo stack di esempio in Oracle Cloud Infrastructure Resource Manager:
    1. Fare clic su Distribuire in Oracle Cloud

      Se non si è già connessi, immettere la tenancy e le credenziali utente.

    2. Rivedere e accettare i termini e le condizioni.
    3. Selezionare l'area in cui distribuire lo stack.
    4. Seguire le istruzioni e i prompt sullo schermo per creare lo stack.
    5. Dopo aver creato lo stack, fare clic su Azioni Terraform e selezionare Piano.
    6. Attendere il completamento del job e rivedere il piano.

      Per apportare eventuali modifiche, tornare alla pagina Dettagli stack, fare clic su Modifica stack e apportare le modifiche necessarie. Eseguire di nuovo l'azione Piano.

    7. Se non sono necessarie ulteriori modifiche, tornare alla pagina Dettagli stack, fare clic su Azioni Terraform e selezionare Applica.
  • Distribuire utilizzando il codice Terraform in GitHub:
    1. Andare a GitHub.
    2. Duplicare o scaricare il repository nel computer locale.
    3. Seguire le istruzioni contenute nel documento README.
  • Distribuire utilizzando l'esercitazione, Installare WordPress CMS su Oracle Linux con il database MySQL.

Scopri di più

Ulteriori informazioni sulle best practice di Oracle Cloud Infrastructure e Oracle MySQL Database Service.

Esaminare queste risorse aggiuntive:

Log modifiche

Questo log elenca le modifiche significative: