Este documento faz parte de uma série que descreve arquiteturas de rede e segurança para empresas que estão migrando cargas de trabalho de data center para o Google Cloud.
A série inclui os documentos a seguir:
- Como projetar redes para migrar cargas de trabalho empresariais: abordagens de arquitetura
- Rede para acesso intranuvem seguro: arquiteturas de referência
- Rede para entrega de aplicativos voltados à Internet: arquiteturas de referência (este documento)
- Rede para cargas de trabalho híbridas e em várias nuvens: arquiteturas de referência
O Google oferece um conjunto de produtos e recursos que facilitam a proteção e o escalonamento dos aplicativos mais importantes para a Internet. A Figura 1 mostra uma arquitetura que usa os serviços do Google Cloud para implantar um aplicativo da Web com vários níveis.
Figura 1. Aplicativo da Web típico com várias camadas implantado no Google Cloud.
Arquitetura de migração lift-and-shift
À medida que aplicativos voltados à Internet migram para a nuvem, eles precisam ser capazes de escalonar e ter controles de segurança e visibilidade equivalentes aos usados no ambiente local. É possível fornecer esses controles usando dispositivos virtuais de rede disponíveis no mercado.
Figura 2. Aplicativo implantado com um balanceador de carga externo baseado em dispositivo.
Esses dispositivos virtuais oferecem funcionalidade e visibilidade consistentes com os ambientes locais. Ao usar um dispositivo virtual de rede, você implanta a imagem do dispositivo de software usando grupos de instâncias gerenciadas com escalonamento automático. Você é responsável por monitorar e gerenciar a integridade das instâncias de VM que executam o dispositivo, além de manter as atualizações de software dele.
Depois da mudança inicial, é recomendável fazer a transição de dispositivos virtuais de rede autogerenciados para serviços gerenciados. O Google Cloud oferece vários serviços gerenciados que facilitam o fornecimento de aplicativos em escala.
A Figura 2 mostra um dispositivo virtual de rede configurado como front-end de um aplicativo da Web. Para ver uma lista de soluções de ecossistema de parceiros, consulte a página do Google Cloud Marketplace no console do Google Cloud.
Arquitetura de serviços híbridos
O Google Cloud oferece as abordagens a seguir para facilitar o gerenciamento de aplicativos voltados à Internet em escala:
- Use a rede global do Google de servidores de nomes DNS Anycast que oferecem alta disponibilidade e baixa latência para converter solicitações de nomes de domínios em endereços IP.
- Use a frota global de balanceadores de carga de aplicativos externos do Google para encaminhar o tráfego a um aplicativo hospedado no Google Cloud, no local ou em outra nuvem pública. Esses balanceadores de carga são escalonados automaticamente com o tráfego e garantem que cada solicitação seja direcionada para um back-end íntegro. Ao configurar grupos de endpoints de rede de conectividade híbrida, é possível trazer os benefícios dos recursos de balanceadores de carga de aplicativos externos para os serviços em execução na infraestrutura atual fora do Google Cloud. A rede local ou outras redes de nuvem pública são conectadas de modo particular à rede do Google Cloud por meio de um túnel VPN ou pelo Cloud Interconnect.
Use outros serviços de borda de rede, como o Cloud CDN, para distribuir conteúdo, o Google Cloud Armor para proteger seu conteúdo e o Identity-Aware Proxy (IAP) para controlar o acesso aos seus serviços.
A Figura 3 mostra a conectividade híbrida que usa o balanceador de carga de aplicativo externo.
Figura 3. Configuração de conectividade híbrida usando o balanceador de carga de aplicativo externo e os serviços de borda de rede.
A Figura 4 mostra uma opção de conectividade diferente usando grupos de endpoints de rede de conectividade híbrida.
Figura 4. Configuração do balanceador de carga de aplicativo externo usando grupos de endpoints de rede de conectividade híbrida.
Use um balanceador de carga de aplicativo (HTTP/HTTPS) para encaminhar solicitações com base nos atributos delas, como o identificador uniforme de recursos (URI) HTTP. Use um balanceador de carga de rede de proxy para implementar o descarregamento de TLS, o proxy TCP ou o suporte para balanceador de carga externo para back-ends em várias regiões. Use um balanceador de carga de rede de passagem quando quiser preservar os endereços IP de origem do cliente, evitar a sobrecarga de proxies e oferecer suporte a protocolos adicionais, como UDP, ESP e ICMP.
Proteja seu serviço com o Google Cloud Armor, que é uma defesa de DDoS de borda e um produto de segurança WAF disponível para todos os serviços acessados com um balanceador de carga de aplicativo externo global.
Use certificados SSL gerenciados pelo Google. É possível reutilizar certificados e chaves privadas que você já usa para outros produtos do Google Cloud. Isso elimina a necessidade de gerenciar certificados separados.
Ative o armazenamento em cache do aplicativo para aproveitar o espaço distribuído do Cloud CDN.
Use dispositivos virtuais de rede para inspecionar e filtrar o norte-sul (para e da Internet) e o leste-oeste (para e da rede local ou redes VPC), como mostrado na figura 5.
Figura 5. Configuração de um dispositivo virtual de rede altamente disponível usando um balanceador de carga de rede de passagem interna e um peering de rede VPC para inspecionar o tráfego.
Use o Cloud IDS para detectar ameaças no tráfego norte-sul, como mostrado na figura 6.
Figura 6. Configuração do Cloud IDS para espelhar e inspecionar todo o tráfego interno e da Internet.
Arquitetura distribuída de confiança zero
É possível expandir a arquitetura distribuída de confiança zero para incluir a entrega de aplicativos da Internet. Nesse modelo, o balanceador de carga de aplicativo externo do Google fornece balanceador de carga global entre clusters do GKE que têm malha do Cloud Service Mesh em clusters distintos. Nesse cenário, você adota um modelo de entrada composto. O balanceador de carga de primeiro nível faz a seleção do cluster e, em seguida, um gateway do Ingress gerenciado pelo Cloud Service Mesh fornece o balanceamento de carga e a segurança do Ingress específicos desse cluster. Um exemplo desse Ingress de vários clusters é a arquitetura de referência do Cymbal Bank, conforme descrito no blueprint do aplicativo corporativo. Para mais informações sobre a entrada de borda do Cloud Service Mesh, consulte De borda para malha: como expor aplicativos da malha de serviço usando o Ingress do GKE.
A Figura 7 mostra uma configuração em que um balanceador de carga de aplicativo externo direciona o tráfego da Internet para a malha de serviço usando um gateway de entrada. O gateway é um proxy dedicado na malha de serviço.
Figura 7. Entrega de aplicativos em um ambiente de microsserviços com confiança zero.
A seguir
- Rede para acesso intranuvem seguro: arquiteturas de referência.
- Rede para cargas de trabalho híbridas e em várias nuvens: arquiteturas de referência.
- A migração para o Google Cloud pode ajudar você a planejar, projetar e implementar o processo de migração das suas cargas de trabalho para o Google Cloud.
- O design da zona de destino no Google Cloud tem orientações para criar uma rede de zona de destino.
- Para mais arquiteturas de referência, diagramas e práticas recomendadas, confira a Central de arquitetura do Cloud.