Dimensionamento del livello Web - Best practice per WordPress su AWS

Dimensionamento del livello Web

Per trasformare l'architettura a server singolo in un'architettura scalabile multi-server, sono necessari cinque componenti principali:

  • Istanze Amazon EC2

  • Amazon Machine Image (AMI)

  • Sistemi di bilanciamento del carico

  • Scalabilità automatica

  • Controlli dell'integrità

AWS offre un'ampia gamma di tipi di istanze EC2 per garantire la migliore configurazione di server in termini di prestazioni e costi. In generale, il tipo di istanza ottimizzato per il calcolo (ad esempio, C4) può essere una buona scelta per un server Web WordPress. Consente l'implementazione delle istanze su più zone di disponibilità all'interno di una regione AWS per aumentare l'affidabilità dell'architettura complessiva.

Grazie al controllo completo dell'istanza EC2, è possibile eseguire l'accesso root per installare e configurare tutti i componenti software necessari per l'esecuzione di un sito Web WordPress. Una volta terminato, è possibile salvare la configurazione come AMI e utilizzarla per avviare nuove istanze con le relative personalizzazioni.

Per distribuire le richieste degli utenti finali a più nodi del server Web, è necessaria una soluzione di bilanciamento del carico. AWS fornisce questa funzionalità tramite Elastic Load Balancing, un servizio ad alta disponibilità che distribuisce il traffico a più istanze EC2. Poiché il tuo sito Web fornisce contenuti agli utenti tramite HTTP o HTTPS, è consigliabile utilizzare Application Load Balancer, un sistema di bilanciamento del carico a livello di applicazione con routing dei contenuti e la possibilità di eseguire più siti Web WordPress su domini diversi, se necessario.

Elastic Load Balancing supporta la distribuzione di richieste su più zone di disponibilità all'interno di una regione AWS. È inoltre possibile configurare un controllo dell'integrità, in modo che Application Load Balancer interrompa automaticamente l'invio di traffico alle singole istanze che hanno generato errori (ad esempio, a causa di un problema hardware o di un arresto anomalo del software). AWS consiglia di utilizzare la pagina di accesso dell'amministratore di WordPress (/wp-login.php) per il controllo dell'integrità, che consente di verificare che il server Web sia in esecuzione e che sia configurato correttamente per fornire file PHP.

È possibile creare una pagina di controllo dell'integrità personalizzata per la verifica di altre risorse dipendenti, come quelle del database e della cache. Per ulteriori informazioni, consultare la sezione Controlli dello stato per i gruppi target nella guida relativa all'Application Load Balancer.

L'elasticità è una caratteristica fondamentale di AWS Cloud. All'occorrenza è possibile utilizzare una maggiore capacità di calcolo (ad esempio, mediante più server Web) o ridurla. AWS Auto Scaling è un servizio AWS che aiuta ad automatizzare il provisioning per dimensionare la capacità di Amazon EC2 in base a condizioni definite senza interventi manuali. È possibile configurare AWS Auto Scaling in modo che il numero di istanze EC2 utilizzate aumenti durante i picchi della domanda per mantenere il livello di prestazioni desiderato e diminuisca automaticamente nei periodi di traffico meno intenso, in modo da contenere al massimo i costi.

Elastic Load Balancing supporta inoltre l'aggiunta e la rimozione dinamica di host Amazon EC2 dalla rotazione del bilanciamento del carico. Lo stesso Elastic Load Balancing aumenta e riduce in modo dinamico la capacità di bilanciamento del carico in base alle esigenze del traffico senza alcun intervento manuale.