Utilizzare WordPress con Amazon EFS (Elastic File System)
da Massimo Della Rovere · pubblicato il 5 Gennaio, 2017 · modificato il 5 Giugno, 2017

Se avete seguito i passi precedenti della guida su come configurare WordPress in ambiente di cloud computing vi ricorderete che abbiamo svincolato il nostro server dalle funzioni del database (che abbiamo demandato ad Amazon RDS) e dalle risorse statiche (che abbiamo demandato ad Amazon CloudFront). Quindi in questo momento il nostro server eseguirà solo le richieste PHP eseguendo gli script che sono stati installati sul file system locale del webserver presente sullo stesso server EC2.

Server singolo

In questo momento la configurazione ottenuta va benissimo in un’ambiente in cui si necessità di un solo server. Infatti avere una sola copia del core di WordPress significa anche poterla aggiornare senza difficoltà, come anche modificare un tema o un plugin agendo solo su l’unico server in esecuzione. Questa è anche la situazione più richiesta dai piccoli siti web, blog personali ed ecommerce di piccole dimensioni. Se questa è la necessità del vostro ambiente non è necessario eseguire i passi indicati in questo articolo, cosa diversa se volete un’ambiente scalabile con più server in esecuzione.

Server multipli

Se avessimo necessità di più server che si dividono il traffico verso il nostro sito, la configurazione attuale funzionerebbe bene fino al giorno in cui avessimo la necessità di aggiornare la versione del nostro WordPress, installare un nuovo tema, un plugin etc etc. Infatti si rischierebbe di aggiornare solo alcuni server e anche in modo parziale, quindi avremmo come risultato un piccolo disastro (da evitare).

Esistono diverse soluzioni per risolvere il problema, però molte di queste non possono essere eseguite tramite il classico pannello di amministrazione  ma solo con funzioni di background. Andare ad affrontare in questo momento gli aspetti positivi e negativi delle diverse soluzioni sarebbe troppo lungo e rischiamo di andare fuori tema, quindi diciamo che al momento vi consiglio una soluzione molto semplice per memorizzare tutti i file di WordPress in un folder comune che sarà condiviso con tutti i server attivi.

Amazon EFS

Tramite il servizio di Elastic File System possiamo creare un’ambiente autogestito in cui memorizzare qualsiasi tipo di file che dovrà essere condiviso tra decine o migliaia di istanze EC2. Il servizio usa il protocollo NFS ad alte performance che permette di avere una velocità di accesso molto simile ad un normale disco EBS, inoltre NFS è un protocollo gestito nativamente sia dai sistemi Linux che Windows e quindi facile da configurare e senza la necessità di installare software aggiuntivi.

Per procedere alla configurazione di questo ambiente dobbiamo prima di tutto creare un file system nella nostra regione geografica, configurare le nostre istanze EC2 in modo che eseguano il mount della risorsa nella fase di avvio e indicare le policy di sicurezza per controllare l’accesso al nuovo file system condiviso. L’aspetto positivo di questa tecnica è che WordPress o i suoi componenti potranno essere aggiornati con il metodo classico usando tutti gli strumenti presenti nel pannello di amministrazione.

Creazione File System

Per creare il nostro primo file system andiamo nel gruppo dei servizi che riguardano lo storage e selezioniamo Amazon EFS. Una volta entrati nella pagina principale del servizio è possibile selezionare il bottone “create file system”. Come prima fase ci verrà richiesta la VPC di appartenenza e le subnets sui cui EFS deve essere disponibile.

Nella seconda schermata possiamo indicare alcuni tag per identificare il file system che stiamo creando e il tipo di performance che necessitiamo. Al momento è possibile scegliere tra due valori di performance, General Purpose e Max I/O, vi posso assicurare che la selezione generale è più che sufficiente nella maggior parte dei casi, l’opzione di Max I/O va selezionata se si superano le centinaia di istanze contemporanee.

Una volta che il file system è stato creato potete selezionare la riga presente sulla vostra console su cui viene indicato il file system e selezionare l’opzione denominata “Amazon EC2 mount instructions”, in questo modo vi verranno indicati tutti i comandi per eseguire un mount definitivo sulla vostra istanza EC2. Ovviamente se dopo creiamo una AMI potremmo far partire tutte le istanze desiderate con un mount automatico.

NB: Per far funzionare questa procedura il punto di mount dovrà coincidere con la cartella che dovrà essere indicata come root nel vostro server web. Molto spesso viene chiamata public o html e coincide con la cartella root di WordPress stesso. Adesso che sappiamo come condividere il file system possiamo far girare WordPress su un numero di server indeterminato e apprezzare tutti i benefici del cloud computing.

WordPress in Cloud Computing

Guida completa su AWS

Questo articolo appartiene ad una serie di pubblicazioni che costituiscono una guida completa dedicata agli Amazon Web Services. Molti servizi che trattiamo in questo blog vengono anche spiegati con dei video che trovate nel nostro canale youtube. Se volete seguire questo percorso didattico iscrivetevi alla community Cloud AWS.

1 Commento

  1. Ho letto tutti gli articoli del corso, ho fatto fatica a seguirti in alcuni punti, come ad esempio su Amazon EFS, ma ho imparato tante cose inaspettate e mi si è aperto un nuovo mondo. Aspetto i video, Grazie.

condividi