Componenti chiave di un'architettura di hosting Web AWS
Le sezioni seguenti illustrano alcuni dei componenti chiave di un'architettura di hosting Web distribuita in AWS Cloud, illustrandone le differenze da un'architettura di hosting Web tradizionale.
Gestione delle reti
In AWS Cloud la possibilità di segmentare la rete rispetto a quella di altri clienti offre un'architettura più sicura e scalabile. Mentre i gruppi di sicurezza forniscono sicurezza a livello di host (vedi la sezione Sicurezza dell'host), Amazon Virtual Private Cloud
Amazon VPC è un servizio che offre il controllo completo sui dettagli della configurazione di rete in AWS. È ad esempio possibile creare sottoreti pubbliche per i server Web e sottoreti private senza accesso a Internet per i database. Amazon VPC ti permette inoltre di creare architetture ibride usando reti private virtuali (VPN) hardware, nonché di usare AWS Cloud come estensione del tuo data center.
Amazon VPC include inoltre il supporto per IPv6
Distribuzione di contenuti
Quando il traffico Web è distribuito in aree geografiche diverse, non è sempre fattibile né conveniente replicare l'intera infrastruttura in tutto il mondo. Una rete per la distribuzione di contenuti
È possibile usare CloudFront per distribuire il website, inclusi contenuti dinamici, statici e in streaming, usando una rete globale di posizioni edge. CloudFront instrada automaticamente le richieste di contenuti alla posizione edge più vicina, in modo da offrire il miglior livello possibile di prestazioni per la distribuzione dei contenuti. CloudFront è ottimizzato per il funzionamento con altri servizi AWS come Amazon S3
Come altri servizi AWS, non sono previsti contratti o impegni mensili per l'uso di CloudFront: paghi solo in base alla quantità di contenuti effettivamente distribuiti attraverso il servizio.
Inoltre, tutte le soluzioni esistenti per la memorizzazione nella cache edge nell'infrastruttura delle applicazioni Web dovrebbero funzionare bene in AWS Cloud.
Gestione dei nomi DNS pubblici
Lo spostamento di un'applicazione Web in AWS Cloud richiede alcune modifiche al sistema Domain Name System
Sicurezza dell'host
Oltre a filtrare il traffico di rete in entrata nell'ambiente edge, AWS consiglia anche che le applicazioni Web applichino filtri del traffico di rete a livello di host. Amazon EC2
È possibile assegnare uno o più gruppi di sicurezza a ogni istanza EC2. Ogni gruppo di sicurezza permette il flusso del traffico appropriato verso ogni istanza. È possibile configurare i gruppi di sicurezza in modo che solo sottoreti, risorse e indirizzi IP specifici abbiano accesso a un'istanza EC2. In alternativa, è possibile fare riferimento ad altri gruppi di sicurezza per limitare l'accesso alle istanze EC2 che si trovano in gruppi specifici.
Nell'architettura di hosting Web AWS nella Figura 3, il gruppo di sicurezza per il cluster di server Web può permettere l'accesso solo dal bilanciatore del carico a livello Web e solo tramite TCP sulle porte 80 e 443 (HTTP e HTTPS). Il gruppo di sicurezza del server applicazioni, d'altra parte, può permettere l'accesso solo dal bilanciatore del carico a livello di applicazione. In questo modello, i tecnici del supporto necessitano anche di accesso alle istanze EC2, che è possibile ottenere con AWS Systems Manager Session Manager. Per una discussione più approfondita sulla sicurezza, consulta Sicurezza in AWS Cloud
Bilanciamento del carico tra cluster
I bilanciatori del carico hardware sono appliance di rete comuni in uso nelle architetture delle applicazioni Web tradizionali. AWS fornisce questa funzionalità tramite il servizio Elastic Load Balancing
Ricerca di altri host e servizi
Nella tradizionale architettura di hosting Web, la maggior parte degli host ha indirizzi IP statici. In AWS Cloud, la maggior parte degli host ha indirizzi IP dinamici. Sebbene ogni istanza EC2 possa avere voci DNS sia pubbliche che private e possa essere indirizzabile in Internet, le voci DNS e gli indirizzi IP vengono assegnati dinamicamente all'avvio dell'istanza. Non possono essere assegnati manualmente. Gli indirizzi IP statici (indirizzi IP elastici nella terminologia AWS) possono essere assegnati alle istanze in esecuzione dopo l'avvio. È consigliabile usare indirizzi IP elastici per le istanze e i servizi che richiedono endpoint coerenti, come database primari, file server centrali e bilanciatori del carico ospitati da EC2.
Memorizzazione nella cache all'interno dell'applicazione Web
Le cache delle applicazioni in memoria permettono di ridurre il carico sui servizi e migliorare le prestazioni e la scalabilità a livello di database memorizzando le informazioni usate di frequente. Amazon ElastiCache