Networking per la distribuzione di applicazioni per internet: architetture di riferimento

Last reviewed 2023-11-13 UTC

Questo documento fa parte di una serie che descrive le architetture di networking e sicurezza per le aziende che migrano i carichi di lavoro dei data center a Google Cloud.

La serie è costituita dai seguenti documenti:

Google offre una serie di prodotti e funzionalità che ti aiutano a proteggere e scalare le applicazioni più critiche rivolte a internet. La figura 1 mostra un'architettura che utilizza i servizi Google Cloud per eseguire il deployment di un'applicazione web con più livelli.

Tipica applicazione web multi-livello di cui è stato eseguito il deployment su Google Cloud.

Figura 1. Tipica applicazione web multi-livello di cui è stato eseguito il deployment su Google Cloud.

Architettura lift and shift

Man mano che le applicazioni per internet passano al cloud, devono essere in grado di scalare e avere una visibilità e controlli di sicurezza equivalenti a quelli nell'ambiente on-premise. Puoi fornire questi controlli utilizzando appliance virtuali di rete disponibili nel marketplace.

Applicazione di cui è stato eseguito il deployment con un bilanciatore del carico esterno basato su appliance.

Figura 2. Applicazione di cui è stato eseguito il deployment con un bilanciatore del carico esterno basato su appliance.

Queste appliance virtuali offrono funzionalità e visibilità coerenti con gli ambienti on-premise. Quando utilizzi un'appliance virtuale di rete, esegui il deployment dell'immagine dell'appliance software utilizzando gruppi di istanze gestite con scalabilità automatica. Spetta a te monitorare e gestire l'integrità delle istanze VM che eseguono l'appliance, nonché gestire gli aggiornamenti del software dell'appliance.

Dopo aver eseguito il turno iniziale, potresti voler passare dalle appliance virtuali di rete autogestite ai servizi gestiti. Google Cloud offre una serie di servizi gestiti che semplificano la distribuzione delle applicazioni su larga scala.

La figura 2 mostra un'appliance virtuale di rete configurata come frontend di un'applicazione di livello web. Per un elenco delle soluzioni dell'ecosistema dei partner, consulta la pagina Google Cloud Marketplace nella console Google Cloud.

Architettura dei servizi ibridi

Google Cloud offre gli approcci seguenti per semplificare la gestione delle applicazioni per internet su larga scala:

  • Utilizza la rete globale di Google di server dei nomi DNS anycast che offrono alta disponibilità e bassa latenza per convertire le richieste dei nomi di dominio in indirizzi IP.
  • Utilizza il parco risorse globale di bilanciatori del carico delle applicazioni esterni di Google per instradare il traffico a un'applicazione ospitata all'interno di Google Cloud, ospitata on-premise o su un altro cloud pubblico. Questi bilanciatori del carico scalano automaticamente di pari passo con il traffico e assicurano che ogni richiesta sia indirizzata a un backend integro. Configurando gruppi di endpoint di rete per la connettività ibrida, puoi applicare i vantaggi delle funzionalità di networking del bilanciatore del carico delle applicazioni esterno ai servizi in esecuzione sulla tua infrastruttura esistente al di fuori di Google Cloud. La rete on-premise o le altre reti cloud pubbliche sono connesse privatamente alla rete Google Cloud mediante un tunnel VPN o Cloud Interconnect.
  • Utilizza altri servizi perimetrali della rete come Cloud CDN per distribuire i contenuti, Google Cloud Armor per proteggere i tuoi contenuti e Identity-Aware Proxy (IAP) per controllare l'accesso ai tuoi servizi.

    La figura 3 mostra la connettività ibrida che utilizza il bilanciatore del carico delle applicazioni esterno.

    Configurazione della connettività ibrida che utilizza il bilanciatore del carico delle applicazioni esterno e i servizi perimetrali di rete.

    Figura 3. Configurazione della connettività ibrida tramite il bilanciatore del carico delle applicazioni esterno e i servizi perimetrali di rete.

    La Figura 4 mostra una diversa opzione di connettività utilizzando gruppi di endpoint di rete con connettività ibrida.

    Configurazione del bilanciatore del carico delle applicazioni esterno utilizzando gruppi di endpoint di rete con connettività ibrida.

    Figura 4. configurazione del bilanciatore del carico delle applicazioni esterno con gruppi di endpoint di rete

  • Utilizza un bilanciatore del carico delle applicazioni (HTTP/HTTPS) per instradare le richieste in base ai relativi attributi, come l'URI (Uniform Resource Identifier) HTTP. Utilizza un bilanciatore del carico di rete proxy per implementare l'offload TLS, il proxy TCP o il supporto per il bilanciamento del carico esterno verso backend in più regioni. Utilizza un bilanciatore del carico di rete passthrough per preservare gli indirizzi IP di origine dei client, evitare l'overhead dei proxy e supportare protocolli aggiuntivi come UDP, ESP e ICMP.

  • Proteggi il tuo servizio con Google Cloud Armor. Questo prodotto è un prodotto per la protezione dagli attacchi DDoS a livello perimetrale e la sicurezza WAF, disponibile per tutti i servizi a cui si accede tramite un bilanciatore del carico delle applicazioni esterno globale.

  • Utilizza i certificati SSL gestiti da Google. Puoi riutilizzare i certificati e le chiavi private che già utilizzi per altri prodotti Google Cloud. In questo modo non è necessario gestire certificati separati.

  • Abilita la memorizzazione nella cache dell'applicazione per sfruttare al meglio le prestazioni di distribuzione delle applicazioni distribuite di Cloud CDN.

  • Utilizza le appliance virtuali di rete per ispezionare e filtrare il traffico sia da nord a sud (da e verso internet) sia da est-ovest (da e verso la rete on-premise o le reti VPC), come mostrato nella figura 5.

    Configurazione dell'appliance virtuale di rete ad alta disponibilità utilizzando il bilanciatore del carico interno e il peering di rete VPC per l'ispezione del traffico.

    Figura 5. Configurazione dell'appliance virtuale di rete ad alta disponibilità utilizzando un bilanciatore del carico di rete passthrough interno e il peering di rete VPC per l'ispezione del traffico.

  • Utilizza Cloud IDS per rilevare le minacce nel traffico nord-sud, come mostrato nella Figura 6.

    Configurazione Cloud IDS per eseguire il mirroring e l'ispezione di tutto il traffico internet e interno.

    Figura 6. Cloud IDS per eseguire il mirroring e l'ispezione di tutto il traffico internet e interno.

Architettura distribuita Zero Trust

Puoi espandere Zero Trust Distributed Architecture per includere la distribuzione delle applicazioni da internet. In questo modello, il bilanciatore del carico delle applicazioni esterno di Google fornisce il bilanciamento del carico globale tra i cluster GKE che dispongono di mesh di Cloud Service Mesh in cluster distinti. Per questo scenario, adotti un modello in entrata composto. Il bilanciatore del carico di primo livello fornisce la selezione del cluster, mentre un gateway in entrata gestito da Cloud Service Mesh fornisce bilanciamento del carico e sicurezza in entrata specifici per il cluster. Un esempio di questo traffico in entrata multi-cluster è l'architettura di riferimento di Cymbal Bank, come descritto nel progetto base dell'applicazione aziendale. Per ulteriori informazioni sul traffico perimetrale in entrata di Cloud Service Mesh, consulta Da perimetrale al mesh: esposizione delle applicazioni mesh di servizi tramite GKE Ingress.

La figura 7 mostra una configurazione in cui un bilanciatore del carico delle applicazioni esterno indirizza il traffico da internet al mesh di servizi attraverso un gateway in entrata. Il gateway è un proxy dedicato nel mesh di servizi.

Distribuzione delle applicazioni in un ambiente di microservizi Zero Trust.

Figura 7. Distribuzione delle applicazioni in un ambiente di microservizi Zero Trust.

Passaggi successivi