REL02-BP01 Utilizzo di una connettività di rete a disponibilità elevata per gli endpoint pubblici del carico di lavoro - AWS Well-Architected Framework

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

REL02-BP01 Utilizzo di una connettività di rete a disponibilità elevata per gli endpoint pubblici del carico di lavoro

La creazione di connettività di rete a disponibilità elevata agli endpoint pubblici dei carichi di lavoro può ridurre i tempi di inattività dovuti a perdita di connettività e migliorare la disponibilità e il contratto sul livello di servizio del tuo carico di lavoro. Per ottenere questo risultato, usa un servizio DNS a disponibilità elevata, reti di distribuzione di contenuti (CDN), API Gateway, bilanciamento del carico o proxy inversi.

Risultato desiderato: la pianificazione, la realizzazione e la messa in funzione di una connettività di rete altamente disponibile per i tuoi endpoint pubblici è fondamentale. Se il carico di lavoro diventa irraggiungibile a causa della perdita di connettività, il sistema apparirà ai clienti come non funzionante, anche se il carico di lavoro è in esecuzione e disponibile. Combinando connettività di rete a disponibilità elevata e resiliente per gli endpoint pubblici del carico di lavoro, a un'architettura resiliente per il carico di lavoro stesso, puoi offrire ai clienti la disponibilità e il livello di servizio migliori possibili.

AWS Global Accelerator, Amazon CloudFront, Gateway Amazon API, funzione URL AWS Lambda, API AWS AppSync ed Elastic Load Balancing (ELB) forniscono tutti endpoint pubblici a elevata disponibilità. Amazon Route 53 fornisce un servizio DNS ad alta disponibilità per la risoluzione dei nomi di dominio, così da verificare la possibilità di risolvere gli indirizzi degli endpoint pubblici.

Puoi anche valutare applicazioni software Marketplace AWS per il bilanciamento del carico e l'esecuzione di proxy.

Anti-pattern comuni:

  • Progettazione di un carico di lavoro a disponibilità elevata senza pianificare connettività DNS e di rete per la disponibilità elevata.

  • Uso di indirizzi Internet pubblici su singoli container o istanze e gestione della connettività tramite DNS.

  • Uso di indirizzi IP anziché nomi di dominio per l'individuazione dei servizi.

  • Mancata esecuzione di test su scenari con perdita di connettività agli endpoint pubblici.

  • Mancata analisi delle esigenze di throughput della rete e dei modelli di distribuzione.

  • Nessuna attività di test e pianificazione per scenari di possibile interruzione della connettività di rete Internet agli endpoint pubblici del carico di lavoro.

  • Distribuzione di contenuti (pagine Web, asset statici o file multimediali) in un'area geografica di grandi dimensioni senza l'uso di una rete di distribuzione di contenuti.

  • Nessuna pianificazione per la prevenzione di attacchi DDoS (Distributed Denial of Service). Gli attacchi DDoS rischiano di arrestare il traffico legittimo e ridurre la disponibilità per gli utenti.

Vantaggi dell'adozione di questa best practice: la progettazione pensata per una connettività di rete a elevata disponibilità e resilienza garantisce l'accessibilità e la disponibilità del carico di lavoro agli utenti.

Livello di rischio associato se questa best practice non fosse adottata: elevato

Guida all'implementazione

Alla base della creazione di connettività di rete a disponibilità elevata agli endpoint pubblici vi è l'instradamento del traffico. Per verificare che il traffico possa raggiungere gli endpoint, il servizio DNS deve essere in grado di risolvere i nomi di dominio negli indirizzi IP corrispondenti. Utilizza un sistema dei nomi di dominio (DNS) altamente scalabile e disponibile, come Amazon Route 53, per gestire i record DNS del dominio. Puoi usare anche i controlli dell'integrità forniti da Amazon Route 53. I controlli dell'integrità verificano che l'applicazione sia raggiungibile, disponibile e funzionale e possono essere configurati in modo da simulare il comportamento degli utenti, come la richiesta di una pagina Web o un URL specifico. In caso di errore, Amazon Route 53 risponde alle richieste di risoluzione DNS e indirizza il traffico solo agli endpoint integri. Puoi anche valutare se usare le funzionalità di instradamento basato sulla latenza e GeoDNS offerte da Amazon Route 53.

Per verificare l'elevata disponibilità effettiva del carico di lavoro, utilizza Elastic Load Balancing (ELB). Amazon Route 53 consente di indirizzare il traffico verso ELB, che lo distribuisce alle istanze di calcolo di destinazione. Puoi anche usare Gateway Amazon API insieme a AWS Lambda per una soluzione serverless. I clienti possono anche eseguire carichi di lavoro in più Regioni AWS. Grazie a un pattern attivo/attivo multisito, il carico di lavoro può servire il traffico proveniente da più regioni. Con un pattern attivo/passivo multisito, il carico di lavoro serve il traffico proveniente dalla regione attiva, mentre nella regione secondaria avviene la replica dei dati, che diventano attivi in caso di guasto nella regione primaria. I controlli dell'integrità di Route 53 consentono dunque di controllare il failover DNS da qualsiasi endpoint in una regione primaria a un endpoint in una regione secondaria, verificando la raggiungibilità e la disponibilità del carico di lavoro per gli utenti.

Amazon CloudFront offre una semplice API per la distribuzione di contenuti con bassa latenza e velocità di trasferimento dati elevate gestendo le richieste tramite una rete di posizioni edge in tutto il mondo. Le reti di distribuzione di contenuti (CDN) operano per i clienti, distribuendo i contenuti situati o memorizzati nella cache in una posizione vicina all'utente. In questo modo si migliora anche la disponibilità dell'applicazione poiché il carico dei contenuti viene spostato dai server alle posizioni edge di CloudFront. Le posizioni edge e le cache edge regionali includono copie memorizzate nella cache del contenuto vicino agli utenti, per il recupero rapido e una raggiungibilità e una disponibilità maggiori del carico di lavoro.

Per i carichi di lavoro con utenti distribuiti in più aree geografiche, AWS Global Accelerator contribuisce a migliorare la disponibilità e le prestazioni delle applicazioni. AWS Global Accelerator fornisce indirizzi IP statici anycast che operano come punto di ingresso statico alle applicazioni ospitate in una o più Regioni AWS. In questo modo, il traffico può entrare nella rete globale AWS il più vicino possibile agli utenti, migliorando così la raggiungibilità e la disponibilità del carico di lavoro. AWS Global Accelerator monitora anche l'integrità degli endpoint dell'applicazione usando controlli dell'integrità TCP, HTTP e HTTPS. Eventuali variazioni dell'integrità o della configurazione degli endpoint permettono il reindirizzamento del traffico degli utenti a endpoint integri che offrono le prestazioni e la disponibilità migliori agli utenti. Inoltre, AWS Global Accelerator presenta una progettazione di isolamento degli errori che usa due indirizzi IPv4 statici gestiti da zone di rete indipendenti, migliorando la disponibilità delle applicazioni.

Per proteggere i clienti dagli attacchi DDoS, AWS offre AWS Shield Standard. Shield Standard si attiva in automatico e protegge dagli attacchi comuni all'infrastruttura (livello 3 e 4) come i flood SYN/UDP e gli attacchi di riflessione in modo da supportare l'elevata disponibilità delle applicazioni su AWS. Per altre soluzioni di protezione da attacchi più sofisticati e di maggiore entità (come i flood UDP) e di tipo state-exhaustion (come i flood TCP SYN) e per proteggere le applicazioni in esecuzione su Amazon Elastic Compute Cloud (Amazon EC2), Elastic Load Balancing (ELB), Amazon CloudFront, AWS Global Accelerator e Route 53, puoi prendere in considerazione l'uso di AWS Shield Advanced. Per la protezione da attacchi a livello di applicazione come i flood HTTP POST o GET, usa AWS WAF. AWS WAF può usare indirizzi IP, intestazioni HTTP, corpo HTTP, stringhe URI, iniezione SQL e condizioni di scripting cross-site per determinare se una richiesta debba essere bloccata o consentita.

Passaggi dell'implementazione

  1. Configura DNS a elevata disponibilità: Amazon Route 53 è un servizio Web di sistema dei nomi di dominio (DNS) altamente scalabile e disponibile. Route 53 collega le richieste degli utenti alle applicazioni Internet eseguite su AWS oppure on-premises. Per ulteriori informazioni, consulta configuring Amazon Route 53 as your DNS service.

  2. Configura controlli dell'integrità: quando usi Route 53, verifica che solo le destinazioni integre siano risolvibili. Inizia con la creazione dei controlli dell'integrità di Route 53 e la configurazione del failover DNS. Nel configurare controlli dell'integrità, è importante tenere conto degli aspetti seguenti:

  3. Connessione del servizio DNS agli endpoint.

    1. In caso di utilizzo di Elastic Load Balancing come target per il tuo traffico, crea un record di alias mediante Amazon Route 53 che punti all'endpoint regionale del tuo sistema bilanciatore del carico. Durante la creazione del record di alias, imposta l'opzione Valutazione dello stato target su Sì.

    2. In caso di utilizzo di API Gateway, per i carichi di lavoro serverless o le API private, usa Route 53 per indirizzare il traffico verso l'API Gateway.

  4. Opta per una rete di distribuzione di contenuti (CDN).

    1. Per la distribuzione di contenuti mediante posizioni edge più vicine all'utente, esamina il modo in cui CloudFront distribuisce i contenuti.

    2. Inizia partendo con una distribuzione CloudFront semplice. CloudFront sa quindi determinare dove vuoi distribuire i contenuti e come monitorare e gestire la distribuzione di contenuti. Nel configurare la distribuzione di CloudFront, è importante tenere conto degli aspetti seguenti:

  5. Configura la protezione a livello di applicazione: AWS WAF semplifica la protezione da exploit Web e bot comuni che possono compromettere la disponibilità e la sicurezza o consumare risorse eccessive. Per una conoscenza più approfondita, scopri come funziona AWS WAF e quando sarà tutto pronto per implementare le protezioni dai flood HTTP POST e GET a livello dell'applicazione, consulta Getting started with AWS WAF. Puoi anche utilizzare AWS WAF con CloudFront. Consulta la documentazione su come funziona AWS WAF con le funzionalità di Amazon CloudFront.

  6. Configura protezione aggiuntiva da attacchi DDoS: per impostazione predefinita, tutti i clienti AWS ricevono protezione gratuita dagli attacchi DDoS comuni e più frequenti a livello di rete e di trasporto che prendono di mira il sito Web o l'applicazione con AWS Shield Standard. Per una protezione aggiuntiva delle applicazioni con accesso a Internet in esecuzione su Amazon EC2, Elastic Load Balancing, Amazon CloudFront, AWS Global Accelerator e Amazon Route 53, puoi prendere in considerazione AWS Shield Advanced ed esaminare gli esempi di architetture resilienti agli attacchi DDoS. Per proteggere carico di lavoro ed endpoint pubblici dagli attacchi DDoS, consulta Getting started with AWS Shield Advanced.

Risorse

Best practice correlate:

Documenti correlati:

Video correlati:

Esempi correlati: