Distribuisci Magento eCommerce su Oracle Linux con MySQL Database Service
Puoi distribuire Magento eCommerce su Oracle Linux con MySQL Database Service per fornire agli utenti e alle aziende un'architettura scalabile e solida, attività di implementazione e manutenzione ridotte e accesso a una grande base di conoscenze gestita dalla community.
Magento è una piattaforma di e-commerce open source scritta in PHP che può utilizzare altri framework PHP, come Laminas e Symfony. Il codice sorgente è distribuito in Open Software License (OSL) v3.0. Magento utilizza il sistema di gestione dei database relazionali MySQL, il linguaggio di programmazione PHP e gli elementi della struttura Zend. Applica le convenzioni di programmazione orientata agli oggetti e l'architettura del controllo-vista-modello.
Architettura
È possibile distribuire Magento in una configurazione a nodo singolo o come parte di una configurazione multi-nodo ad alta disponibilità. Questa architettura di riferimento include l'automazione Terraform, compatibile con entrambe le configurazioni.
Per un'architettura ad alta disponibilità e di livello produzione, fare riferimento al diagramma riportato di seguito, che illustra uno scenario a più nodi.

Descrizione dell'illustrazione magento-mds-multi.png
Il diagramma predefinito mostra un ambiente applicativo ad alta disponibilità semplificato nell'infrastruttura OCI, con attenzione a due istanze di virtual machine sottostanti un load balancer. Queste istanze esistono in due domini di errore distinti all'interno di un dominio di disponibilità. Questa architettura utilizza il servizio di storage di file OCI. Magento è installato in un file system di rete condiviso (NFS). Il file system esiste in una subnet privata dedicata con un gruppo di sicurezza di rete (NSG) che consente l'accesso alla destinazione di accesso da tutte le istanze.
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.

Descrizione dell'illustrazione magento-mds-single.png
- Criteri
Un criterio Oracle Cloud Infrastructure Identity and Access Management specifica chi può accedere alle risorse e come. L'accesso viene concesso a livello di gruppo e compartimento. Ciò significa che è possibile scrivere un criterio che consente a un gruppo di accedere a un tipo specifico di compartimento specifico o alla tenancy.
- Compartimenti
I compartimenti sono partizioni logiche tra più aree all'interno di una tenancy Oracle Cloud Infrastructure. Utilizzare i compartimenti per organizzare le risorse in Oracle Cloud, controllare l'accesso alle risorse e impostare le quote di utilizzo. Per controllare l'accesso alle risorse in un determinato compartimento, puoi definire criteri che specificano gli utenti che possono accedere alle risorse e le azioni che possono eseguire.
- Rete cloud virtuale (VCN, Virtual Cloud Network)
Uno dei primi passi in OCI è l'impostazione di una rete cloud virtuale (VCN) per le risorse cloud. Una VCN è una rete definita dal software impostata nell'area OCI. Le VCN possono essere segmentate in subnet, che possono essere specifiche di un'area o di un dominio di disponibilità. Sia le subnet specifiche dell'area che quelle del dominio di disponibilità possono coesistere nella stessa VCN. Una subnet può essere pubblica o privata.
- Domini di disponibilità
I domini di disponibilità sono data center indipendenti e standalone all'interno di un'area geografica. Le risorse fisiche presenti in ciascun dominio di disponibilità sono isolate dalle risorse presenti negli altri domini di disponibilità, il che garantisce la tolleranza agli errori. I domini di disponibilità non condividono l'infrastruttura, ad esempio l'alimentazione o il raffreddamento, né la rete interna del dominio di disponibilità. Pertanto, è improbabile che un errore di un dominio di disponibilità influisca sugli altri domini di disponibilità nell'area.
- Load balancer
Il servizio Oracle Cloud Infrastructure Load Balancing offre la distribuzione automatica del traffico da un singolo punto di accesso a più server nel back-end.
- Istanze di computazione
Oracle Cloud Infrastructure Compute consente di eseguire il provisioning e la gestione degli host di computazione. Puoi avviare le istanze di computazione con forme che soddisfano i requisiti delle tue risorse (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 bisogno.
- Gateway Internet
Il gateway Internet consente il traffico tra le subnet pubbliche in una VCN e la rete Internet pubblica.
- Gateway di instradamento dinamico (DRG)
Il gateway DRG è un router virtuale che fornisce un percorso per il traffico di rete privato tra le reti on premise e i VCN e può essere utilizzato anche per instradare il traffico tra i VCN nella stessa area o tra più aree.
- 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.
- Gruppo di sicurezza di rete (NSG)
I gruppi NSG fungono da firewall virtuali per le risorse cloud. Con il modello di sicurezza zero-trust di Oracle Cloud Infrastructure, tutto il traffico è rifiutato ed è possibile controllare il traffico di rete all'interno di una VCN. Un gruppo NSG è costituito da un set di regole di sicurezza in entrata e in uscita valide solo per un set specificato di VNIC in una singola VCN.
Suggerimenti
- VCN
Quando crei una VCN, determina il numero di blocchi CIDR necessari e la dimensione di ogni blocco in base al numero di risorse che intendi collegare alle subnet nella VCN. Utilizzare i blocchi CIDR che si trovano all'interno dello spazio di indirizzi IP privati standard.
Selezionare un intervallo di indirizzi che non si sovrapponga alla rete in locale o a qualsiasi altra rete in modo da poter impostare una connessione tra la VCN e la rete in locale, se necessario.
Durante la progettazione delle subnet, prendi in considerazione i requisiti di flusso del traffico e sicurezza. Associare tutte le risorse all'interno di un livello o ruolo specifico alla stessa subnet, che può fungere da limite di sicurezza.
- Sicurezza
Utilizza i criteri per limitare l'accesso alle risorse OCI di cui la tua azienda dispone e le modalità di accesso. Utilizzare Vault per una maggiore protezione delle chiavi, dei certificati e dei segreti.
Il servizio di networking offre due funzionalità firewall virtuali che utilizzano regole di sicurezza per controllare il traffico a livello di pacchetto: liste di sicurezza e gruppi di sicurezza di rete (NSG). Un gruppo NSG è costituito da un set di regole di sicurezza in entrata e in uscita valide solo per un set di VNIC di tua scelta in una singola VCN. Ad esempio, puoi scegliere tutte le istanze di computazione che agiscono come server Web nel livello Web di un'applicazione a più livelli nella tua VCN.
Le regole di sicurezza NSG funzionano allo stesso modo delle regole delle liste di sicurezza. Tuttavia, per l'origine o la destinazione di una regola di sicurezza NSG, è possibile specificare un gruppo NSG anziché un blocco CIDR. In questo modo, puoi scrivere facilmente le regole di sicurezza per controllare il traffico tra due gruppi NSG nella stessa VCN o il traffico all'interno di un singolo gruppo NSG. Quando si crea un sistema di database, è possibile specificare uno o più gruppi NSG. È inoltre possibile aggiornare un sistema di database esistente per utilizzare uno o più gruppi NSG.
- Calcola
Scegli le forme con la combinazione di OCPU e memoria appropriata, quindi esegui il provisioning dello storage NVMe e/o a blocchi locale in base alle esigenze, per ogni istanza. Valuta la possibilità di utilizzare le forme flessibili disponibili, che offrono una maggiore flessibilità nella combinazione di OCPU e memoria.
- Database
Scegliere la forma Oracle MySQL Database Service basata sul carico di lavoro pianificato. Abilitare MySQL High Availability per tre nodi ridondanti.
Considerazioni
Quando si distribuisce Magento eCommerce su Oracle Linux con MySQL Database Service, tenere in considerazione i seguenti fattori:
- Disponibilità e scalabilità delle applicazioni
In questo esempio, nell'architettura ad alta disponibilità, vengono visualizzate due istanze in domini di errore diversi all'interno dello stesso dominio di disponibilità. Si potrebbe scegliere di posizionare le istanze in domini di disponibilità diversi (nelle aree in cui sono disponibili) per ottenere una tolleranza degli errori ancora maggiore. Un approccio alternativo che rappresenta un adattamento più dinamico alle esigenze di prestazioni più impegnative e variabili è l'uso di un pool di istanze e il ridimensionamento automatico.
I pool delle istanze ti consentono di eseguire il provisioning e creare più istanze di computazione in base alla stessa configurazione all'interno della stessa area.
Il ridimensionamento automatico ti consente di regolare automaticamente il numero di istanze di computazione in un pool delle istanze in base alle metriche delle prestazioni, ad esempio l'utilizzo della CPU. Il ridimensionamento automatico ti consente di offrire prestazioni coerenti per gli utenti durante periodi di elevata domanda e di ridurre i costi durante periodi di bassa domanda.
- Disponibilità e scalabilità del database
Il sistema MySQL Database visualizzato nell'architettura ad alta disponibilità utilizza l'opzione MySQL High Availability integrata, che crea tre istanze e le posiziona in domini di errore diversi.
- Backup del databaseMySQL 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 modi seguenti:
- Manuale: un'azione nella console o una richiesta effettuata tramite l'API avvia il backup. I backup manuali possono essere conservati per un minimo di un giorno e per un massimo di 365 giorni.
- Automatico: i backup pianificati automaticamente vengono eseguiti senza l'interazione richiesta al momento della scelta dell'utente. I backup automatici vengono conservati per un periodo compreso tra uno e 35 giorni. Il valore di conservazione predefinito è sette giorni. Se definito, non è possibile modificare il periodo di conservazione di un backup automatico
- Backup di computazione
Il servizio Oracle Cloud Infrastructure Block Volumes consente di eseguire backup point-in-time dei dati su un volume a blocchi. Successivamente, puoi ripristinare questi backup su nuovi volumi immediatamente o in un secondo momento.
Puoi anche usare il servizio per eseguire un backup point-in-time e coerente in caso di crash di un volume di avvio senza interruzioni delle applicazioni o tempi di inattività. Le funzionalità di backup dei volumi di avvio sono uguali a quelle dei backup dei volumi a blocchi.
- Criteri di sicurezza
Utilizza i criteri per limitare gli utenti in grado di accedere alle risorse OCI di cui la tua azienda ha e come.
- Sicurezza di rete
Il servizio di networking offre due funzionalità firewall virtuali che utilizzano regole di sicurezza per controllare il traffico a livello di pacchetto: liste di sicurezza e gruppi di sicurezza di rete (NSG). Un gruppo NSG è costituito da un set di regole di sicurezza in entrata e in uscita valide solo per un set di VNIC di tua scelta in una singola VCN. Ad esempio, puoi scegliere tutte le istanze di computazione che agiscono come server Web nel livello Web di un'applicazione multitier nella tua VCN.
Le regole di sicurezza NSG funzionano allo stesso modo delle regole delle liste di sicurezza. Tuttavia, per l'origine o la destinazione di una regola di sicurezza NSG, è possibile specificare un gruppo NSG anziché un blocco CIDR. In questo modo, puoi scrivere facilmente le regole di sicurezza per controllare il traffico tra due gruppi NSG nella stessa VCN o il traffico all'interno di un singolo gruppo NSG. Quando si crea un sistema di database, è possibile specificare uno o più gruppi NSG. È inoltre possibile aggiornare un sistema di database esistente per utilizzare uno o più gruppi NSG.
In questi esempi, le istanze vengono visualizzate come esistenti in una subnet pubblica. Considerare la possibilità di inserirli in una subnet privata per una maggiore sicurezza. In tal caso, per accedere alle istanze è necessario un bastion.
Distribuzione
Il codice Terraform per questa architettura di riferimento è disponibile in GitHub. Puoi trasferire il codice in Oracle Cloud Infrastructure Resource Manager con un semplice clic, creare lo stack e distribuirlo oppure scaricare il codice da GitHub sul tuo computer, personalizzare il codice e distribuire l'architettura utilizzando l'interfaccia CLI Terraform.
- Distribuire utilizzando lo stack di esempio in Oracle Cloud Infrastructure Resource Manager:
- Fare clic su

Se non si è ancora collegati, immettere la tenancy e le credenziali utente.
- Selezionare l'area in cui distribuire lo stack.
- Seguire i prompt visualizzati e le istruzioni per creare lo stack.
- Dopo aver creato lo stack, fare clic su Azioni Terraform e selezionare Piano.
- Attendere il completamento del processo e rivedere il piano.
Per apportare modifiche, tornare alla pagina Dettagli stack, fare clic su Modifica stack e apportare le modifiche necessarie. Quindi eseguire di nuovo l'azione Piano.
- Se non sono necessarie ulteriori modifiche, tornare alla pagina Dettagli stack, fare clic su Azioni Terraform e selezionare Applica.
- Fare clic su
- Distribuzione mediante il codice Terraform in GitHub:
- Andare a GitHub.
- Duplicare o scaricare il repository nel computer locale.
- Seguire le istruzioni riportate nel documento
README.
Visualizza altro
Per saperne di più sulle migliori prassi Oracle Cloud Infrastructure, Oracle MySQL Database Service e altre distribuzioni simili su OCI, consultare le seguenti risorse aggiuntive:
- Struttura sulle migliori prassi per Oracle Cloud Infrastructure
- Panoramica di MySQL Database Service
- Acquisire informazioni sulla distribuzione di MySQL Database Service in Oracle Cloud
- Impostare un CMS WordPress connesso a un database MySQL nel cloud
- Implementa Drupal CMS su Oracle Linux con MySQL Database Service
- Implementa Joomla CMS su Oracle Linux con MySQL Database Service
- Implementa Moodle LMS su Oracle Linux con MySQL Database Service