- Início
- Redes
- Como fazer
- Como Conectar Duas VPCs com VPC Peering
Como Conectar Duas VPCs com VPC Peering
Regiões
Este recurso está disponível nas seguintes regiões:O VPC Peering é uma conexão de rede entre duas VPCs do mesmo tenant que permite o roteamento de tráfego entre elas por endereços IP privados. As instâncias de uma VPC se comunicam com as da outra como se estivessem na mesma rede, sem gateway de internet, VPN ou endereço IP público, e o tráfego permanece na rede interna da Magalu Cloud.
O VPC Peering está disponível nas regiões Sudeste (br-se1) e Nordeste (br-ne1), via CLI e Terraform.
- MGC CLI: versão v0.64.0 ou superior
- Provider Terraform para MGC: versão v0.55.0 ou superior
O suporte no Console está previsto para uma próxima versão.
Este guia cobre as operações via CLI. Para provisionar a conexão com Infraestrutura como Código, consulte Como Gerenciar VPC Peering via Terraform.
Como o VPC Peering Funciona
A conexão é composta por dois elementos que precisam ser configurados em sequência: o peering, que estabelece o vínculo entre as duas VPCs, e as rotas, que direcionam o tráfego para esse vínculo.
Os papéis requester (solicitante) e accepter (aceitante) identificam os dois lados da conexão e são retornados no
campo direct_role de cada membro. Não existe convite a ser aceito: a conexão é bidirecional e é provisionada no
momento da criação, sem necessidade de aprovação pela outra ponta.
O peering estabelece o caminho, mas não habilita o tráfego por si só. Para que a comunicação ocorra, cada VPC precisa de uma rota em sua tabela de roteamento apontando para o CIDR de uma sub-rede da VPC oposta. Com a rota configurada em apenas um dos lados, os pacotes chegam ao destino mas não encontram caminho de retorno.
As regras de Security Group permanecem em vigor sobre o tráfego que cruza a conexão. O peering entrega o pacote à instância de destino, e o Security Group dessa instância determina se ele será aceito.
Regras e Limites
| Regra | Detalhe |
|---|---|
| Mesmo tenant | As duas VPCs precisam pertencer ao mesmo tenant. |
| Mesma região | Não é possível criar peering entre VPCs de regiões diferentes (ex: br-se1 com br-ne1). |
| CIDRs sem sobreposição | Os blocos de IP privados das duas VPCs não podem se sobrepor. Se houver conflito, o roteamento fica ambíguo e a comunicação não funciona. |
| Um peering por par de VPCs | Não é possível criar dois peerings entre as mesmas duas VPCs. |
| VPCs distintas | Não é possível conectar uma VPC a ela mesma. |
| Sem transitividade | O peering não propaga rotas de forma transitiva. Se A tem peering com B, e B com C, os recursos de A não alcançam C através de B por roteamento nativo. Consulte Trânsito entre VPCs não adjacentes. |
| Nome | Apenas letras, números e hífens, até 50 caracteres. |
Trânsito entre VPCs Não Adjacentes
Cada conexão de peering transporta tráfego apenas entre as duas VPCs que a compõem. Em uma topologia onde a VPC A tem peering com a VPC B, e a VPC B tem peering com a VPC C, o roteamento nativo não permite que A alcance C.
Há dois caminhos para atender esse cenário.
Peering direto. Criar uma conexão adicional entre A e C, com as rotas correspondentes nas duas pontas. É a opção mais simples de operar, sem componente intermediário no caminho do tráfego, e a recomendada sempre que o número de conexões for administrável.
Instância de trânsito na VPC intermediária. Uma VM na VPC B atua como gateway entre A e C, reaproveitando os peerings existentes. Nesse arranjo, a VPC A recebe uma rota com destino ao CIDR da VPC C e próximo salto na porta dessa VM, em vez de apontar para um peering:
mgc network vpcs route-table routes create \
--vpc-id="[ID_DA_VPC_A]" \
--cidr-destination="[CIDR_DA_VPC_C]" \
--targets.type="port_id" \
--targets.id="[ID_DA_PORTA_DA_VM_DE_TRANSITO]" \
--region="br-se1"
Na instância de trânsito, o encaminhamento de pacotes precisa estar habilitado no sistema operacional
(net.ipv4.ip_forward = 1). A forma de tratar o endereço de origem define o restante da configuração:
- Com masquerade (SNAT). A VM reescreve o endereço de origem para o seu próprio IP antes de encaminhar o pacote para a VPC C. Como o tráfego que sai da porta usa um endereço que pertence a ela, a proteção de Anti Spoofing pode permanecer ativa. Em contrapartida, a VPC C enxerga todas as conexões com o IP da VM de trânsito, o que impede distinguir a origem real em logs e em regras de Security Group.
- Sem masquerade (encaminhamento puro). O endereço de origem da VPC A é preservado até a VPC C. Nesse caso, a porta da VM envia tráfego com endereços que não são os seus, e a proteção de Anti Spoofing precisa ser desativada na porta. Consulte Como Usar o Anti Spoofing. A VPC C também precisa de rota de retorno para o CIDR da VPC A apontando para a mesma instância.
A VM de trânsito passa a integrar o caminho de dados entre as VPCs e concentra riscos que o peering nativo não possui: ela é ponto único de falha, limita a banda à capacidade da própria instância e exige manutenção do sistema operacional, das regras de firewall e do encaminhamento. Avalie o peering direto antes de adotar esse desenho.
Casos de Uso
O VPC Peering é indicado em arquiteturas que exigem isolamento administrativo entre ambientes, mas mantêm pontos de comunicação privada definidos entre eles:
- Serviços compartilhados (modelo hub-and-spoke): Uma VPC central concentra recursos comuns (monitoramento, repositório de artefatos, bastion host, servidores de log) e cada ambiente de aplicação se conecta a ela por um peering dedicado, sem que os ambientes se enxerguem entre si.
- Separação entre aplicação e banco de dados: Manter as instâncias de banco em uma VPC própria, com regras de acesso mais restritas, e liberar apenas o caminho privado até a VPC das aplicações.
- Segregação por ambiente: Produção, homologação e desenvolvimento em VPCs separadas, cada uma com seu próprio controle de acesso, conectando apenas o que for necessário (por exemplo, o ambiente de homologação consumindo um serviço de autenticação que vive na VPC compartilhada).
- Segregação por área ou squad: Cada time com sua VPC e autonomia sobre a própria rede, integrando-se às demais apenas nos pontos previstos pela arquitetura.
- Plataforma de dados isolada: Um ambiente de analytics ou processamento de dados em VPC dedicada, consumindo dados das VPCs de aplicação por rede privada, sem expor endpoints à internet.
- Migração e coexistência: Durante a migração de cargas de uma VPC antiga para uma nova, o peering mantém os dois ambientes se comunicando enquanto os recursos são movidos gradualmente.
- Saída centralizada por appliance: Uma VPC concentra o appliance de firewall ou proxy, e as demais direcionam para ela o tráfego que precisa de inspeção, combinando o peering com uma rota para a porta do appliance. Veja Trânsito entre VPCs não adjacentes.