Usar o peering de rede VPC

O peering de rede VPC do Google Cloud permite conectividade de endereço IP interno em duas redes de nuvem privada virtual (VPC), pertencentes ou não ao mesmo projeto ou à mesma organização. O peering permite a conectividade entre redes com sub-redes de pilha dupla.

Para mais informações, consulte Peering de rede VPC.

Criar uma configuração de peering

Antes de começar, você precisa ter o nome da rede VPC com qual fará o peering. Se essa rede estiver localizada em outro projeto, você também precisará ter o respectivo ID do projeto. Não é possível listar nenhuma solicitação de peering para sua rede VPC. Se necessário, peça para o administrador rede com a qual você pretende fazer peering para os nomes da rede e do projeto.

Uma configuração de peering estabelece a intensão de se conectar a outra rede VPC. A sua e a outra rede só estarão conectadas depois que cada uma tiver uma configuração de peering para a outra. Quando a outra rede tiver uma configuração correspondente para fazer peering com a sua, o estado de peering será alterado para ACTIVE nas duas redes, que serão conectadas. Se não houver uma configuração de peering correspondente na outra rede, o estado de peering permanecerá INACTIVE, indicando que sua rede não está conectada à outra.

O Google Cloud permite somente uma atividade relacionada ao peering por vez em em redes em peering. Por exemplo, se você configurar o peering com uma rede tentar configurar outro, a operação falhará com o seguinte: Error: There is a peering operation in progress on the local or peer network. Try again later.

Uma vez conectadas, as duas redes sempre trocarão rotas de sub-rede. Uma alternativa é importar rotas personalizadas estáticas e dinâmicas IPv4 e rotas dinâmicas IPv6 dinâmicas de uma rede com peering se ela tiver sido configurada para exportá-las. Para mais informações, consulte Importar e exportar rotas personalizadas.

Console

  1. No Console do Google Cloud, acesse a página Peering de rede VPC.
    Acessar "Peering de rede VPC"
  2. Clique em Criar conexão.
  3. Clique em Continuar.
  4. No campo Nome, digite um nome para sua configuração de peering.
  5. Em Sua rede VPC, selecione uma rede com qual você quer fazer peering.
  6. Selecione a rede com a qual você fará peering.

    • Se a rede com a qual você quer fazer peering estiver no mesmo projeto, selecione No projeto [NOME-DO-SEU-PROJETO] e, em seguida, a rede desejada.
    • Se a rede com a qual você quer fazer peering estiver em um projeto diferente, selecione Em outro projeto. Especifique o ID do projeto que inclui a rede desejada e o nome da rede VPC.
  7. Em Tipo de pilha de IP, especifique quais rotas de sub-rede serão trocadas entre as redes com peering:

    • IPv4 (pilha única): troca apenas rotas IPv4.
    • IPv4 e IPv6 (pilha dupla): troque rotas IPv4 e IPv6.
  8. Para importar ou exportar rotas personalizadas IPv4 e IPv6, escolha uma das opções a seguir ou ambas:

    • Importar rotas personalizadas: importe rotas personalizadas da rede com peering. A rede de peering precisa ativar a exportação de rota personalizada para que as rotas sejam importadas.
    • Exportar rotas personalizadas: exporte rotas personalizadas para a rede de peering. A rede de peering precisa ativar a importação de rota personalizada para que as rotas sejam exportadas.
  9. Caso sua rede ou a rede de peering use intervalos de IPv4 públicos de uso privado nas sub-redes, por padrão, essas rotas serão exportadas, mas não serão importadas. Para importar rotas de sub-rede de IPv4 público de uso privado, selecione:

    • Importar rotas de sub-redes com IP público para importar rotas de sub-rede de IP público de uso privado exportadas pela outra rede.
  10. Clique em Criar.

gcloud

Crie uma conexão de Peering de redes VPC.

gcloud compute networks peerings create PEERING_NAME \
    --network=NETWORK \
    --peer-project=PEER_PROJECT_ID \
    --peer-network=PEER_NETWORK_NAME \
    [--stack-type=STACK_TYPE] \
    [--import-custom-routes] \
    [--export-custom-routes] \
    [--import-subnet-routes-with-public-ip] \
    [--export-subnet-routes-with-public-ip]

Substitua:

  • PEERING_NAME: o nome da configuração de peering.
  • NETWORK: o nome da rede no projeto com que você quer fazer peering.
  • PEER_PROJECT_ID: o ID do projeto que contém a rede com que você quer fazer peering.
  • PEER_NETWORK_NAME: o nome da rede com que você quer fazer peering.
  • STACK_TYPE: o tipo de pilha da conexão de peering. Especifique IPV4_ONLY para trocar apenas rotas IPv4. Se preferir, especifique IPV4_IPV6 para trocar as rotas IPv4 e IPv6. IPV4_ONLY é o valor padrão.
  • --import-custom-routes diz à rede para aceitar rotas personalizadas da rede com peering. A rede com peering precisa exportar as rotas primeiro.
  • --export-custom-routes instrui a rede a exportar rotas personalizadas para a rede com peering. A rede com peering precisa ser configurada para importar as rotas.
  • --import-subnet-routes-with-public-ip diz à rede para aceitar rotas de sub-rede da rede com peering se essa rede estiver usando de maneira particular usava endereços IPv4 públicos nas sub-redes dele. A rede com peering precisa exportar as rotas primeiro.
  • --export-subnet-routes-with-public-ip instrui a rede a exportar rotas de sub-rede que contenham endereços IP públicos de uso privado. A rede com peering precisa ser configurada para importar as rotas.

Terraform

É possível usar um módulo Terraform para criar uma configuração de peering.

module "peering1" {
  source        = "terraform-google-modules/network/google//modules/network-peering"
  version       = "~> 9.0"
  local_network = var.local_network # Replace with self link to VPC network "foobar" in quotes
  peer_network  = var.peer_network  # Replace with self link to VPC network "other" in quotes
}

Para as duas redes VPC com peering, cada self link inclui um ID do projeto e o nome da rede VPC. Para conseguir o self link de uma rede VPC, é possível usar ogcloud compute networks describe ou o networks.get no projeto de cada rede VPC.

Quando você cria um peering do local_network para o peer_network, a relação de peering é bidirecional. O peering de peer_network para local_network é criado automaticamente.

Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.

Verificar se o tráfego está passando entre redes VPC com peering

Use os registros de fluxo de VPC para ver os fluxos de rede enviados e recebidos por instâncias de VM. Também é possível usar a geração de registros de regras de firewall para verificar se o tráfego está passando entre as redes. Crie regras de firewall de VPC que permitam (ou neguem) o tráfego entre as redes com peering e ative a geração de registros de regras de firewall para essas regras. Em seguida, é possível ver quais regras de firewall foram atingidas usando o Cloud Logging.

Atualizar conexão de peering

Ao atualizar uma conexão de peering de rede VPC, é possível fazer o seguinte:

  • Defina se a rede VPC exporta ou importa rotas personalizadas ou rotas de sub-rede IPv4 públicas de uso privado para ou da rede VPC com peering.
  • Atualize uma conexão de peering para ativar ou desativar a troca de rotas IPv6 entre as redes de peering.

Sua rede apenas importará rotas se a rede com peering também exportar, e a rede com peering apenas receberá rotas se importar.

Console

  1. No Console do Google Cloud, acesse a página "Peering de rede VPC".
    Acessar "Peering de rede VPC"
  2. Selecione a conexão de peering a ser atualizada.
  3. Clique em Editar.
  4. Atualize a seleção do Tipo de pilha de IP para especificar quais rotas de sub-rede serão trocadas entre as redes com peering:
    • IPv4 (pilha única): interrompa a troca atual de rotas IPv6 no peering e continue trocando apenas rotas IPv4.
    • IPv4 e IPv6 (pilha dupla): comece a trocar rotas IPv4 e IPv6, desde que a conexão de peering correspondente também tenha o tipo de pilha IP definido como IPv4 e IPv6 (pilha dupla).
  5. Para importar ou exportar rotas personalizadas IPv4 e IPv6, escolha uma das opções a seguir ou ambas:
    • Importar rotas personalizadas para importar rotas personalizadas exportadas pela outra rede.
    • Exporte rotas personalizadas para exportar rotas personalizadas para a outra rede. A outra rede precisa importar as rotas para vê-las.
  6. Caso sua rede ou a rede de peering use intervalos de IPv4 públicos de uso privado nas sub-redes, por padrão, essas rotas serão exportadas, mas não serão importadas. Para importar rotas de sub-rede de IPv4 público de uso privado, selecione:
    • Importar rotas de sub-redes com IP público para importar rotas de sub-rede de IP público de uso privado exportadas pela outra rede.
    • Clique em Save.

gcloud

gcloud compute networks peerings update PEERING_NAME \
    --network=NETWORK \
    [--stack-type=STACK_TYPE] \
    [--import-custom-routes] \
    [--export-custom-routes] \
    [--export-subnet-routes-with-public-ip] \
    [--import-subnet-routes-with-public-ip]

Atualize o seguinte:

  • PEERING_NAME: o nome da conexão de peering atual
  • NETWORK: o nome da rede no projeto que está em peering
  • STACK_TYPE: o tipo de pilha da conexão de peering.
    • Especifique IPV4_ONLY para interromper a troca atual de rotas IPv6 no peering e continue trocando apenas rotas IPv4.
    • Especifique IPV4_IPV6 para começar a trocar rotas IPv4 e IPv6, desde que a conexão de peering correspondente também tenha stack_type definido como IPV4_IPV6.
  • --import-custom-routes diz à rede para aceitar rotas personalizadas da rede com peering. A rede com peering precisa exportar as rotas primeiro.
  • --export-custom-routes instrui a rede a exportar rotas personalizadas para a rede com peering. A rede com peering precisa ser configurada para importar as rotas.
  • --import-subnet-routes-with-public-ip diz à rede para aceitar rotas de sub-rede da rede com peering se essa rede estiver usando de maneira particular usava endereços IPv4 públicos nas sub-redes dele. A rede com peering precisa exportar as rotas primeiro.
  • --export-subnet-routes-with-public-ip instrui a rede a exportar rotas de sub-rede que contenham endereços IP públicos de uso privado. A rede com peering precisa ser configurada para importar as rotas.

Listar conexões de peering

Liste as conexões de peering atuais para visualizar o status delas e verificar se estão importando ou exportando rotas personalizadas.

Console

  1. No Console do Google Cloud, acesse a página "Peering de rede VPC".
    Acessar "Peering de rede VPC"
  2. Selecione a conexão de peering para ver os detalhes dela.

gcloud

gcloud compute networks peerings list

Listar rotas de conexões de peering

Você pode listar as rotas dinâmicas que sua rede VPC está importando ou exportando para uma rede VPC com peering. Para rotas exportadas, é possível verificar se uma rede com peering está aceitando ou rejeitando suas rotas personalizadas. Para rotas importadas, é possível verificar se sua rede está aceitando ou rejeitando rotas personalizadas de uma rede com peering.

É possível que você não veja o mesmo número de rotas para cada região. Para mais informações, consulte Solução de problemas.

Console

  1. No Console do Google Cloud, acesse a página "Peering de rede VPC".
    Acessar "Peering de rede VPC"
  2. Selecione a conexão de peering para ver os detalhes dela.
  3. Veja as rotas personalizadas que sua rede está importando ou exportando. Use o seletor de região para visualizar rotas dinâmicas em uma determinada região. As rotas de sub-rede e as rotas estáticas são globais e mostradas para todas as regiões.

    • Para visualizar as rotas personalizadas importadas, selecione a guia Rotas importadas.
    • Para visualizar as rotas personalizadas exportadas, selecione a guia Rotas exportadas.

gcloud

gcloud compute networks peerings list-routes PEERING_NAME \
    --network=NETWORK \
    --region=REGION \
    --direction=DIRECTION

Atualize o seguinte:

  • PEERING_NAME: o nome de uma conexão de peering.
  • NETWORK: o nome da rede no projeto que está em peering
  • REGION: a região em que você quer listar todas as rotas dinâmicas. As rotas de sub-rede e estáticas são globais e exibidas para todas as regiões.
  • DIRECTION: especifica se é necessário listar as rotas importadas (incoming) ou exportadas (outgoing).

Excluir uma conexão de peering de rede VPC

Você ou um administrador de rede VPC com peering podem excluir uma configuração de peering. Quando uma configuração de peering é excluída, a conexão de peering alterna para INACTIVE na outra rede, e todas as rotas compartilhadas entre as redes são removidas.

Console

  1. Acesse a página "Peering de rede VPC" no Console do Google Cloud.
    Acessar "Peering de rede VPC"
  2. Marque a caixa de seleção ao lado do peering que você quer remover.
  3. Clique em Excluir.

gcloud

gcloud compute networks peerings delete PEERING_NAME \
    --network=NETWORK

Atualize o seguinte:

  • PEERING_NAME: o nome da conexão de peering a ser excluída
  • NETWORK: o nome da rede no projeto que está em peering

Exemplo de configuração de Peering de redes VPC

Considere uma organização organization-a que precisa que o peering de rede VPC seja estabelecido entre a network-a em project-a e entre a network-b em project-b. Para que o peering seja estabelecido com sucesso, é necessário que os administradores da network-a e da network-b configurem a associação de peering separadamente.

Etapa 1: fazer peering entre rede-a e rede-b

Um usuário com as devidas permissões de IAM em project-a configura a network-a para fazer peering com a network-b. Por exemplo, usuários com o papel roles/editor ou roles/compute.networkAdmin podem configurar o peering.

Peering de network-a com network-b
Peering da network-a para a network-b (clique para ampliar)

Antes de começar, são necessários os IDs dos projetos e os nomes das redes com que você quer fazer peering.

Console

  1. Acesse a página "Peering de rede VPC" no Console do Google Cloud.
    Acessar "Peering de rede VPC"
  2. Clique em Criar conexão.
  3. Clique em Continuar.
  4. Insira um Nome de peer-ab para esse lado da conexão.
  5. Em Sua rede VPC, selecione a rede para peering.
  6. Defina os botões de opção da rede VPC de peering para In another project, a menos que você queira fazer peering dentro do mesmo projeto.
  7. Especifique o ID do outro projeto.
  8. Especifique o nome da outra rede VPC.
  9. Selecione Importar rotas personalizadas e Exportar rotas personalizadas.
  10. Clique em Criar.

gcloud

gcloud compute networks peerings create peer-ab \
    --network=network-a \
    --peer-project=project-b \
    --peer-network=network-b \
    --import-custom-routes \
    --export-custom-routes

Neste ponto, o estado de peering permanece INACTIVE devido à ausência de uma configuração correspondente em network-b no project-b.

Quando o estado de peering se torna ACTIVE, o Peering de redes VPC troca automaticamente as rotas de sub-rede. O Google Cloud também troca rotas personalizadas (rotas estáticas e rotas dinâmicas), importando-as ou exportando-as pela conexão de peering. É necessário configurar as duas redes para trocar rotas personalizadas antes de serem compartilhadas. Para ver mais informações, consulte Como importar e exportar rotas personalizadas.

Para ver o estado atual, visualize a conexão de peering:

Console

  1. Acesse a página "Peering de rede VPC" no Console do Google Cloud.
    Acessar "Peering de rede VPC"
  2. O status é "Aguardando a conexão da rede com peering".

gcloud

gcloud compute networks peerings list --network network-a

Etapa 2: fazer o peering entre network-b e network-a

É necessário que um NetworkAdmin ou um usuário com as devidas permissões de IAM defina, em project-b, a configuração correspondente da network-b para a network-a para que o peering se torne ACTIVE em nas duas extremidades.

Peering de network-b com network-a (clique para ampliar)
Peering da network-a para a network-b (clique para ampliar)

Console

  1. Acesse a página "Peering de rede VPC" no Console do Google Cloud.
    Acessar "Peering de rede VPC"
  2. Clique em Criar conexão.
  3. Clique em Continuar.
  4. Insira um Nome de peer-ba para esse lado da conexão.
  5. Em Sua rede VPC, selecione a rede para peering.
  6. Defina os botões de opção da rede VPC de peering para In another project, a menos que você queira fazer peering dentro do mesmo projeto.
  7. Especifique o ID do outro projeto.
  8. Especifique o nome da outra rede VPC.
  9. Selecione Importar rotas personalizadas e Exportar rotas personalizadas.
  10. Clique em Criar.

gcloud

gcloud compute networks peerings create peer-ba \
     --network=network-b \
     --peer-project=project-a \
     --peer-network=network-a \
     --import-custom-routes \
     --export-custom-routes

Etapa 3: o peering de redes VPC se torna ACTIVE

Assim que o peering passa para o estado ACTIVE, as rotas de sub-rede e as rotas personalizadas são trocadas. Os seguintes fluxos de tráfego são configurados:

  • entre instâncias de VM nas redes com peering: conectividade de malha total;
  • De instâncias de VM em uma rede para endpoints de balanceador de carga de rede de passagem interna na rede com peering
Peering ATIVO (clique para ampliar)
Peering ATIVO (clique para ampliar)

Console

  1. Acesse a página "Peering de rede VPC" no Console do Google Cloud.
    Acessar "Peering de rede VPC"
  2. O status é "Conectado".
  3. Acesse a página "Peering de rede VPC" no outro projeto e veja se o status também é "Conectado".

gcloud

gcloud compute networks peerings list --network network-a

As rotas para prefixos CIDR de rede com peering agora estão visíveis em todos os pares da rede VPC. Elas são rotas implícitas geradas para conexões de peering ativas e não dispõem de recursos de rota correspondentes. O procedimento a seguir mostra rotas para todas as redes VPC para project-a.

Console

  1. Acesse a página "Rotas" no Console do Google Cloud.
    Acessar a página "Rotas"

gcloud

gcloud compute routes list --project project-a

Criar várias conexões de peering

Considere o cenário em que as instâncias de VM na network-a precisam acessar serviços de duas organizações externas diferentes: SaaS1 e SaaS2. Para acessá-los usando apenas endereços IP internos, é preciso ter duas conexões de peering:

  • A network-a faz peering com a network-b, que está em SaaS1.
  • A network-a faz peering com a network-c, que está em SaaS2.

Com o peering de rede VPC, não importa se a network-b e a network-c estão em projetos e organizações diferentes.

Peering entre organizações (clique para ampliar)
Peering entre organizações (clique para ampliar)

Para criar essa configuração, basta criar duas sessões de peering diferentes.

Cotas e limites

Consulte Cotas e limites de peering de rede VPC.

Solução de problemas

As seções a seguir descrevem como solucionar problemas com peering de rede VPC.

As VMs de peering estão inacessíveis

Depois que a conexão de peering se torna ACTIVE, pode demorar até um minuto para que todos os fluxos de tráfego sejam configurados entre as redes VPC com peering. Esse tempo varia de acordo com o tamanho das redes VPC que estão com peering. Se você configurou a conexão de peering recentemente, aguarde um minuto e tente novamente. Além disso, verifique se não há regras de firewall bloqueando o acesso entre os CIDRs de sub-rede da rede VPC com peering.

Rotas personalizadas não trocadas entre redes com peering

Primeiro, liste as rotas nas suas conexões de peering. Se não forem exibidas rotas para os destinos esperados, faça o seguinte:

  • Liste conexões de peering. Encontre a rede com os intervalos de destino desejados e certifique-se de que o estado de peering esteja ACTIVE. Se a conexão de peering estiver INACTIVE, não haverá na outra rede uma configuração de peering para sua rede. Se não for você quem gerencia a outra rede, precisará coordenar com um administrador responsável por ela.

  • Atualize a configuração de peering na sua rede a fim de que ela seja configurada para importar rotas personalizadas da outra rede. Verifique se a outra rede foi configurada para exportar rotas personalizadas.

O tráfego destinado a uma rede de peering está sendo descartado

Primeiro, liste as conexões de peering para conferir se sua rede ainda está conectada à outra. Se o estado de peering estiver INACTIVE, não haverá na outra rede uma configuração de peering para sua rede. Se não for você quem gerencia a outra rede, precisará entrar em contato com um administrador responsável por ela.

Em seguida, liste as rotas de conexões de peering. Só é possível importar a quantidade de rotas permitida pelos limites do peering de redes VPC.

O tráfego está sendo enviado para um próximo salto inesperado

Analise a ordem de roteamento para ver se outra rota foi escolhida.

Não é possível fazer peering com uma rede VPC específica

Se não for possível criar uma configuração de peering com determinadas redes VPC, uma política da organização pode estar restringindo as redes VPC com as quais sua rede pode fazer peering. Na política da organização, adicione a rede à lista de peerings permitidos ou entre em contato com o administrador da organização. Para ver mais informações, consulte a restrição constraints/compute.restrictVpcPeering.

Rotas de sub-rede IPv6 não trocadas após a atualização de stack_type do peering para IPV4_IPV6

Verifique se o valor de stack_type para a conexão de peering correspondente também está definido como IPV4_IPV6. Os dois lados de uma conexão de peering precisam ter stack_type definido como IPV4_IPV6 antes que as rotas IPv6 e o tráfego possam ser trocados.

Rotas dinâmicas IPv6 não são exportadas após a atualização de stack_type do peering para IPV4_IPV6

Para exportar rotas IPv6 dinâmicas e estáticas, ative as sinalizações –export-custom-route e –import-custom-route nas conexões de peering correspondentes.

Rotas IPv6 estáticas e dinâmicas não trocadas depois da ativação da importação e exportação de rotas personalizadas

Os dois peerings precisam ter stack_type definido como IPV4_IPV6.

Algumas rotas dinâmicas são importadas, mas não consigo ver todas.

Considere o seguinte:

  • É possível que você não veja o mesmo número de rotas para cada região. Se várias rotas com os mesmos intervalos de endereços IP forem trocadas entre regiões, somente as rotas com a prioridade mais alta serão importadas. Se essas rotas forem trocadas na mesma região, todas as rotas serão importadas.

  • Quando uma rede atinge o limite de rotas dinâmicas por grupo de peering, nenhuma outra rota é importada. No entanto, não é possível determinar quais rotas foram omitidas.

A seguir