Networking per la distribuzione di applicazioni rivolte a 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 eseguono la migrazione dei carichi di lavoro dei data center a Google Cloud.

La serie è composta dai seguenti documenti:

Google offre una serie di prodotti e funzionalità che semplificano la protezione e la scalabilità delle applicazioni più critiche per 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 offrire controlli di sicurezza e visibilità equivalenti a quelli nell'ambiente on-premise. Puoi fornire questi controlli utilizzando le 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 e gestire gli aggiornamenti del software per l'appliance.

Dopo aver eseguito il passaggio iniziale, potrebbe essere opportuno passare dalle appliance virtuali di rete autogestite ai servizi gestiti. Google Cloud offre una serie di servizi gestiti che semplificano la distribuzione di 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 di soluzioni dell'ecosistema di partner, consulta la pagina Google Cloud Marketplace nella console Google Cloud.

Architettura di servizi ibridi

Google Cloud offre i seguenti approcci 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 tradurre le richieste dei nomi di dominio in indirizzi IP.
  • Utilizza il parco risorse globale di Application Load Balancer esterni di Google per instradare il traffico a un'applicazione ospitata in Google Cloud, on-premise o su un altro cloud pubblico. Questi bilanciatori del carico scalano automaticamente con il traffico e assicurano che ogni richiesta venga indirizzata a un backend integro. Configurando gruppi di endpoint di rete con connettività ibrida, puoi sfruttare i vantaggi delle funzionalità di networking dell'Application Load Balancer esterno per i 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 tramite un tunnel VPN o Cloud Interconnect.
  • Utilizza altri servizi perimetrali di 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 servizi.

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

    Configurazione di connettività ibrida mediante un bilanciatore del carico delle applicazioni esterno e servizi perimetrali di rete.

    Figura 3. Configurazione di connettività ibrida mediante un bilanciatore del carico delle applicazioni esterno e servizi perimetrali di rete.

    La Figura 4 mostra un'opzione di connettività diversa, che utilizza gruppi di endpoint di rete per la connettività ibrida.

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

    Figura 4. Configurazione del bilanciatore del carico delle applicazioni esterno che utilizza gruppi di endpoint di rete per la connettività ibrida.

  • Utilizza un bilanciatore del carico delle applicazioni (HTTP/HTTPS) per instradare le richieste in base ai loro 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 delle proxy e supportare ulteriori protocolli come UDP, ESP e ICMP.

  • Proteggi il tuo servizio con Google Cloud Armor. Si tratta di un prodotto per la difesa dagli attacchi DDoS perimetrale e la sicurezza WAF, disponibile per tutti i servizi a cui si accede tramite un Application Load Balancer 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 sarà necessario gestire certificati separati.

  • Abilita la memorizzazione nella cache per la tua applicazione per sfruttare il ingombro di distribuzione delle applicazioni distribuite di Cloud CDN.

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

    Configurazione dell'appliance virtuale di rete a disponibilità elevata mediante un bilanciatore del carico interno e peering di rete VPC per l'ispezione del traffico.

    Figura 5. Configurazione dell'appliance virtuale di rete a disponibilità elevata 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 da 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'analisi di tutto il traffico interno e internet.

Architettura distribuita Zero Trust

Puoi espandere l'architettura distribuita Zero Trust per includere la distribuzione delle applicazioni da internet. In questo modello, l'Application Load Balancer esterno di Google fornisce il bilanciamento del carico globale tra i cluster GKE che hanno mesh Anthos Service Mesh in cluster distinti. Per questo scenario, adotti un modello composito in entrata. Il bilanciatore del carico di primo livello consente la selezione del cluster, mentre un gateway in entrata gestito da Anthos Service Mesh fornisce il bilanciamento del carico e la sicurezza in entrata specifici del 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 di Anthos Service Mesh, vedi From edge to mesh: Esposizione delle applicazioni del mesh di servizi attraverso 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