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
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
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.