GCP - VPC compartilhada vs VPC peering entre projetos - principais diferenças?

GCP - VPC compartilhada vs VPC peering entre projetos - principais diferenças?

Estou testando vários recursos do GCP e me deparei com a dúvida do título. Depois de um pouco de experimentação eupensaro seguinte deve ser válido:

  • 2 VPC com peering não podem compartilhar os mesmos intervalos de sub-rede, enquanto o compartilhamento de VPCécompartilhando as mesmas sub-redes: se quisermos que as instâncias se comuniquem e ajustarmos as regras do firewall (FW),isso faz alguma diferença prática?
  • A VPC compartilhada cria uma relação hierárquica onde uma extremidadeéo gerenciador das regras de rede e FW e, portanto, pode ditar todas as habilidades dos projetos de serviço e pode revogar compartilhamentos, isso também significa que a parte host deve ter acesso aos projetos de serviço para permitir que eles sejam escolhidos e que possam usar os VPCs do projeto host. De qualquer forma, o peering de VPC requer um certo nível de acesso aos projetos se alguém quiser fazer peering com eles, mas os 2 projetos estão no mesmo nível (ambas as extremidades devem permitir o peering):esta é uma diferença administrativa/autenticação
  • A VPC compartilhada permite uma configuração simplificada de FW, pois você tem apenas um ponto central para configurar suas regras de FW: você tem o mesmo conjunto de sub-redes compartilhadas; enquanto o peering - assim como VPNs - requer a configuração de regras em ambas as extremidades:isso é uma simplificação de gerenciamento
  • VPC compartilhadapodeesgotar seus recursos (intervalos IPv4) mais rapidamente, mas isso significa que você tem uma tonelada de instâncias conectadas...
  • O peering de VPC pode fazer passthrou (cadeia em cadeia) até 1 nível: tenho 1 conexão de VPC A para VPC B e uma de VPC B para VPC C. VPC A e C podemnãose comunicar, mas a VPC B pode se comunicar com ambos. Por outro lado, em um cenário de compartilhamento, um projeto só pode ser um host ou um serviço ao mesmo tempo, mas posso criar um cenário com vários projetos compartilhando a mesma sub-rede e conversando entre si de forma transitiva...esta é provavelmente a diferença mais relevante que já vi

Digamos que temosNdiferentes projetos comNdiferentes administradores,setodas as partes concordam em ter algum tipo de conexão de rede entre as instâncias. Existe algum outro pró/contra em escolher peering em vez de compartilhado?!

Editar

  • talvez esta seja realmente a maior diferença: se um projeto de serviço usa uma VPC compartilhada e você deseja removê-la posteriormente, primeiro você precisa criar uma nova VPC (ou usar o padrão do projeto de serviço), reatribuir uma nova nic a todas as instâncias que estão usando a VPC compartilhada no momento, deixe esta nova nic usar o VPC do próprio projeto, refaça as regras de FW e verifique a conectividade correta de todas as instâncias antes de desanexá-las do VPC compartilhado.
  • além disso, o peering de VPC pode ser usadodentro do mesmo projetopara aumentar o isolamento entre cargas de trabalho, mas permitindo que poucas VMs selecionadas se comuniquem.

Editar 2

  • A partir de agora (2021-01), o VPC compartilhado pode ser usado em uma segunda NIC, mas é um recurso beta
  • Além disso, não é possível adicionar mais de 25 pares a uma rede; portanto, é bastante comum permitir que o projeto se comunique por meio de VPC compartilhado nos chamados designs hub-and-spoke.
  • Acabei de descobrir que o peering de VPC pode ser aplicado mesmo entre diferentesorganizações!

Editar 3

Embora não seja uma arquitetura estritamente de rede, o Google agora também oferece acesso a serviços privados: uma maneira de fazer proxy de serviços externos (incluindo aqueles em outros projetos/VPCs) por meio de umproxy em sua VPC

Obrigado

Responder1

Gostaria de acrescentar algo às suas excelentes descobertas:

Sobre compartilhar o mesmo intervalo de sub-redes, devemos levar em consideração que ambas as VPCs devem pertencer à mesma organização. E também queria dizer que o VCP compartilhado (XPVC) permite compartilhar recursos com mais de um projeto. Em vez de peering de VPC que permite apenas compartilhar recursos entre dois projetos.

Concordo com o seu ponto de vista de que usar XVPC é mais fácil de gerenciar os recursos, em vez de VPC, pois cada VPC tem seus próprios recursos.

Então, para concluir, a principal diferença para usar XVPC ou peering VPC, vai depender das suas necessidades e da sua experiência no gerenciamento de recursos ou do quanto você quiser que seja prático.

Responder2

Peering: O peering permite a conectividade de endereços IP internos entre duas redes Virtual Private Cloud (VPC), independentemente de pertencerem ao mesmo projeto ou à mesma organização. você está limitado a 25 por projeto e a transitividade não é possível.

Compartilhamento de VPC: o VPC compartilhado permite que uma organização conecte recursos de vários projetos a uma rede comum de nuvem privada virtual (VPC), para que eles possam se comunicar entre si de forma segura e eficiente usando IPs internos dessa rede. Ao usar a VPC compartilhada, você designa um projeto como host e anexa a ele um ou mais projetos de serviço. As redes VPC no projeto host são chamadas de redes VPC compartilhadas. Os recursos qualificados de projetos de serviço podem usar sub-redes na rede VPC compartilhada.

informação relacionada