Codelab: VPC do NCC como um spoke

1. Introdução

Visão geral

Neste laboratório, os usuários vão aprender a usar o Network Connectivity Center(NCC) para estabelecer conectividade entre VPCs em grande escala com suporte a spokes de VPC. Quando os usuários definem uma VPC como um spoke VPC, é possível conectá-la a várias redes VPC pelo hub do NCC. O NCC com configuração de spoke VPC reduz a complexidade operacional do gerenciamento da conectividade entre VPCs por peering de VPC, usando um modelo de gerenciamento de conectividade centralizado.

A central de conectividade de rede (NCC) é um modelo hub-and-spoke de plano de controle para gerenciamento de conectividade de rede no Google Cloud. O recurso de hub fornece um modelo de gerenciamento de conectividade centralizado para interconectar spokes.

O que você vai criar

Neste codelab, você vai criar uma topologia lógica de hub e spoke com o hub do NCC, que vai implementar uma estrutura de conectividade VPC totalmente interconectada em três VPCs distintas.

O que você vai aprender

  • Conectividade VPC de malha completa com o NCC
  • Private NAT entre VPCs

O que é necessário

  • Conhecimento da rede VPC do GCP
  • Conhecimento do Cloud Router e do roteamento BGP
  • Dois projetos separados do GCP
  • Este codelab exige cinco VPCs. Uma dessas VPCs precisa estar em um projeto diferente do hub do NCC.
  • Verifique sua cota:redes e solicite mais redes, se necessário. Veja a captura de tela abaixo:

6bc606cb34bce7e8.png

Objetivos

  • Configurar o ambiente do GCP
  • Configurar o Network Connectivity Center com a VPC como spoke
  • Validar o caminho dos dados
  • Conhecer os recursos de capacidade de serviço do NCC
  • Limpar os recursos usados

Antes de começar

Console do Google Cloud e Cloud Shell

Para interagir com o GCP, vamos usar o console do Google Cloud e o Cloud Shell ao longo deste laboratório.

Projeto do hub do NCC Console do Google Cloud

O console do Cloud pode ser acessado em https://console.cloud.google.com.

Configure os seguintes itens no Google Cloud para facilitar a configuração do Network Connectivity Center:

No Console do Google Cloud, na página de seletor de projetos, selecione ou crie um projeto do Google Cloud.

Inicie o Cloud Shell. Este codelab usa $variáveis para ajudar na implementação da configuração da gcloud no Cloud Shell.

gcloud auth list
gcloud config list project
gcloud config set project [HUB-PROJECT-NAME]
projectname=[HUB-PROJECT-NAME]
echo $projectname
gcloud config set compute/zone us-central1-a
gcloud config set compute/region us-central1

Papéis do IAM

O NCC exige papéis do IAM para acessar APIs específicas. Configure seu usuário com os papéis do IAM do NCC conforme necessário.

Função/descrição

Permissões

networkconnectivity.networkAdmin: permite que administradores de rede gerenciem hubs e spokes.

networkconnectivity.hubs.networkconnectivity.spokes.

networkconnectivity.networkSpokeManager: permite adicionar e gerenciar spokes em um hub. Para ser usado na VPC compartilhada em que o projeto host é proprietário do hub, mas outros administradores em outros projetos podem adicionar spokes para os anexos deles ao hub.

networkconnectivity.spokes.**

networkconnectivity.networkUsernetworkconnectivity.networkViewer: permite que os usuários da rede vejam diferentes atributos de hubs e spokes.

networkconnectivity.hubs.getnetworkconnectivity.hubs.listnetworkconnectivity.spokes.getnetworkconnectivity.spokes.listnetworkconnectivity.spokes.aggregatedList

2. Configurar o ambiente de rede

Visão geral

Nesta seção, vamos implantar as redes VPC e as regras de firewall em um único projeto. O diagrama lógico ilustra o ambiente de rede que será configurado nesta etapa.

Para demonstrar o suporte a spokes entre projetos, em uma etapa posterior, vamos implantar uma VPC e regras de firewall em um projeto diferente.

dc4ed09dae1a0056.png

Criar as VPCs e as sub-redes

A rede VPC contém sub-redes em que você vai instalar a VM do GCE para validação do caminho de dados.

gcloud compute networks create vpc1-ncc --subnet-mode custom
gcloud compute networks create vpc2-ncc --subnet-mode custom
gcloud compute networks create vpc3-ncc --subnet-mode custom
gcloud compute networks create vpc4-ncc --subnet-mode custom

gcloud compute networks subnets create vpc1-ncc-subnet1 \
--network vpc1-ncc --range 10.1.1.0/24 --region us-central1

gcloud compute networks subnets create vpc1-ncc-subnet2 \
--network vpc1-ncc --range 10.1.2.0/25 --region us-central1

gcloud compute networks subnets create vpc1-ncc-subnet3 \
--network vpc1-ncc --range 10.1.2.128/25 --region us-central1

gcloud compute networks subnets create vpc2-ncc-subnet1 \
--network vpc2-ncc --range 10.2.2.0/24 --region us-central1

Intervalos de sub-rede compatíveis com VPC

O NCC aceita todos os intervalos de sub-rede IPv4 válidos, exceto endereços IP públicos usados de modo privado. Nesta etapa, crie intervalos de IP válidos na VPC4 que serão importados para a tabela de rotas do hub.

gcloud compute networks subnets create benchmark-testing-rfc2544 \
--network vpc4-ncc --range 198.18.0.0/15 --region us-east1

gcloud compute networks subnets create class-e-rfc5735 \
--network vpc4-ncc --range 240.0.0.0/4 --region us-east1

gcloud compute networks subnets create ietf-protcol-assignment-rfc6890 \
--network vpc4-ncc --range 192.0.0.0/24 --region us-east1

gcloud compute networks subnets create ipv6-4-relay-rfc7526 \
--network vpc4-ncc --range 192.88.99.0/24 --region us-east1

gcloud compute networks subnets create pupi \
--network vpc4-ncc --range 50.50.50.0/24 --region us-east1

gcloud compute networks subnets create test-net-1-rfc5737 \
--network vpc4-ncc --range 192.0.2.0/24 --region us-east1

gcloud compute networks subnets create test-net-2-rfc5737 \
--network vpc4-ncc --range 198.51.100.0/24 --region us-east1

gcloud compute networks subnets create test-net-3-rfc5737 \
--network vpc4-ncc --range 203.0.113.0/24 --region us-east1

Criar intervalos de sub-rede sobrepostos

O NCC não importa intervalos de IP sobrepostos para a tabela de rotas do hub. Os usuários vão contornar essa restrição em uma etapa posterior. Por enquanto, crie dois intervalos de IP sobrepostos para VPC2 e VPC3.

gcloud compute networks subnets create overlapping-vpc2 \
--network vpc3-ncc --range 10.3.3.0/24 --region us-central1

gcloud compute networks subnets create overlapping-vpc3 \
--network vpc2-ncc --range 10.3.3.0/24 --region us-central1

Configurar regras de firewall da VPC

Configure regras de firewall em cada VPC para permitir

  • SSH
  • IAP interno
  • Intervalo 10.0.0.0/8
gcloud compute firewall-rules create ncc1-vpc-internal \
--network vpc1-ncc \
--allow all \
--source-ranges 10.0.0.0/8

gcloud compute firewall-rules create ncc2-vpc-internal \
--network vpc2-ncc \
--allow all \
--source-ranges 10.0.0.0/8

gcloud compute firewall-rules create ncc3-vpc-internal \
--network vpc3-ncc \
--allow all \
--source-ranges 10.0.0.0/8

gcloud compute firewall-rules create ncc4-vpc-internal \
--network vpc4-ncc \
--allow all \
--source-ranges 10.0.0.0/8

gcloud compute firewall-rules create ncc1-vpc-iap \
--network vpc1-ncc \
--allow all \
--source-ranges 35.235.240.0/20

gcloud compute firewall-rules create ncc2-vpc-iap \
--network vpc2-ncc \
--allow=tcp:22 \
--source-ranges 35.235.240.0/20

gcloud compute firewall-rules create ncc3-vpc-iap \
--network vpc3-ncc \
--allow=tcp:22  \
--source-ranges 35.235.240.0/20

gcloud compute firewall-rules create ncc4-vpc-iap \
--network vpc4-ncc \
--allow=tcp:22  \
--source-ranges 35.235.240.0/20

Configurar uma VM do GCE em cada VPC

Você vai precisar de acesso temporário à Internet para instalar pacotes em "vm1-vpc1-ncc".

Crie quatro máquinas virtuais, cada uma atribuída a uma das VPCs criadas anteriormente.

gcloud compute instances create vm1-vpc1-ncc \
--subnet vpc1-ncc-subnet1 \
--metadata=startup-script='#!/bin/bash
  apt-get update
  apt-get install apache2 -y
  apt-get install tcpdump -y
  service apache2 restart
  echo "
<h3>Web Server: www-vm1</h3>" | tee /var/www/html/index.html'


gcloud compute instances create vm2-vpc2-ncc \
--zone us-central1-a \
--subnet vpc2-ncc-subnet1 \
--no-address 

gcloud compute instances create pnat-vm-vpc2 \
--zone us-central1-a \
--subnet overlapping-vpc3 \
--no-address 


gcloud compute instances create vm1-vpc4-ncc \
--zone us-east1-b \
--subnet class-e-rfc5735 \
--no-address

3. Hub do Network Connectivity Center

Visão geral

Nesta seção, vamos configurar um hub do NCC usando comandos gcloud. O hub do NCC vai servir como plano de controle responsável por criar a configuração de roteamento entre cada spoke de VPC.

860347511de47cea.png

Ativar os serviços de API

Ative a API Network Connectivity, caso ainda não esteja ativada:

gcloud services enable networkconnectivity.googleapis.com

Criar hub do NCC

Criar um hub do NCC usando o comando gcloud

gcloud network-connectivity hubs create ncc-hub

Exemplo de saída

Create request issued for: [ncc-hub]
Waiting for operation [projects/user-3p-dev/locations/global/operations/operation-1668793629598-5edc24b7ee3ce-dd4c765b-5ca79556] to complete...done.     
Created hub [ncc-hub]

Descreva o hub do NCC recém-criado. Anote o nome e o caminho associado.

gcloud network-connectivity hubs describe ncc-hub
gcloud network-connectivity hubs describe ncc-hub
createTime: '2023-11-02T02:28:34.890423230Z'
name: projects/user-3p-dev/locations/global/hubs/ncc-hub
routeTables:
- projects/user-3p-dev/locations/global/hubs/ncc-hub/routeTables/default
state: ACTIVE
uniqueId: de749c4c-0ef8-4888-8622-1ea2d67450f8
updateTime: '2023-11-02T02:28:48.613853463Z'

O hub do NCC introduziu uma tabela de roteamento que define o plano de controle para criar a conectividade dos dados. Encontrar o nome da tabela de roteamento do hub do NCC

 gcloud network-connectivity hubs route-tables list --hub=ncc-hub
NAME: default
HUB: ncc-hub
DESCRIPTION:

Encontre o URI da tabela de rotas padrão do NCC:

gcloud network-connectivity hubs route-tables describe default --hub=ncc-hub
createTime: '2023-02-24T17:32:58.786269098Z'
name: projects/user-3p-dev/locations/global/hubs/ncc-hub/routeTables/default
state: ACTIVE
uid: eb1fdc35-2209-46f3-a8d6-ad7245bfae0b
updateTime: '2023-02-24T17:33:01.852456186Z'

Liste o conteúdo da tabela de roteamento padrão do hub do NCC. Observação: a tabela de rotas do hub do NCC ficará vazia até que os spokes sejam

gcloud network-connectivity hubs route-tables routes list --hub=ncc-hub --route_table=default

A tabela de rotas do hub do NCC deve estar vazia.

4. NCC com spokes de VPC

Visão geral

Nesta seção, você vai configurar três VPCs como um spoke do NCC usando comandos gCloud.

b367b1659d2df694.png

Configurar VPCs como um spoke do NCC

Configure as seguintes VPCs como um hub do NCC nesta ordem:

  • VPC4
  • VPC1
  • VPC2
  • VPC3

Configure a VPC4 como um spoke do NCC e atribua ao hub do NCC criado anteriormente. As chamadas de API do NCC precisam especificar um local. A flag "–global" simplifica a sintaxe da gcloud, permitindo que o usuário evite especificar um caminho URI completo ao configurar um novo hub do NCC.

gcloud network-connectivity spokes linked-vpc-network create vpc4-spoke4 \
--hub=ncc-hub \
--vpc-network=vpc4-ncc \
--global

Configure a VPC1 como um spoke do NCC.

Os administradores podem excluir rotas de sub-rede da exportação de um spoke VPC para a tabela de rotas do hub do NCC. Nesta parte do codelab, crie uma regra de exclusão de exportação com base em um prefixo de resumo para impedir que a sub-rede da VPC1 seja exportada para a tabela de rotas do hub do NCC.

Use este comando gcloud para listar todas as sub-redes pertencentes à VPC1.

gcloud config set accessibility/screen_reader false
gcloud compute networks subnets list --network=vpc1-ncc

Observe o par de sub-redes /25 criado anteriormente na seção de configuração.

NAME              REGION       NETWORK   RANGE          STACK_TYPE  
vpc1-ncc-subnet1  us-central1  vpc1-ncc  10.1.1.0/24    IPV4_ONLY
vpc1-ncc-subnet2  us-central1  vpc1-ncc  10.1.2.0/25    IPV4_ONLY
vpc1-ncc-subnet3  us-central1  vpc1-ncc  10.1.2.128/25  IPV4_ONLY

Configure a VPC1 como um spoke do NCC e exclua o par de sub-redes /25 da importação para a tabela de roteamento do hub usando a palavra-chave "export-exclude-ranges" para filtrar a rota de resumo /24 desse intervalo específico.

gcloud network-connectivity spokes linked-vpc-network create vpc1-spoke1 \
--hub=ncc-hub \
--vpc-network=vpc1-ncc \
--exclude-export-ranges=10.1.2.0/24 \
--global 

Observação: os usuários podem filtrar até 16 intervalos de IP exclusivos por spoke do NCC.

Liste o conteúdo da tabela de roteamento padrão do hub do NCC. O que aconteceu com o par de sub-redes /25 na tabela de roteamento do hub do NCC?

gcloud network-connectivity hubs route-tables routes list --hub=ncc-hub --route-table=default --filter="NEXT_HOP:vpc1-ncc"
IP_CIDR_RANGE  STATE   TYPE                  NEXT_HOP  HUB      ROUTE_TABLE
10.1.1.0/24    ACTIVE  VPC_PRIMARY_SUBNET    vpc1-ncc  ncc-hub  default

Configurar a VPC2 como um spoke do NCC

gcloud network-connectivity spokes linked-vpc-network create vpc2-spoke2 \
--hub=ncc-hub \
--vpc-network=vpc2-ncc \
--global

Configure a VPC3 como um spoke do NCC e atribua ao hub do NCC criado anteriormente.

gcloud  network-connectivity spokes linked-vpc-network create vpc3-spoke3 \
--hub=ncc-hub \
--vpc-network=vpc3-ncc \
--global

O que aconteceu?

ERROR: (gcloud.network-connectivity.spokes.linked-vpc-network.create) Invalid resource state for "https://www.googleapis.com/compute/v1/projects/xxxxxxxx/global/networks/vpc3-ncc": 10.3.3.0/24 (SUBNETWORK) overlaps with 10.3.3.0/24 (SUBNETWORK) from "projects/user-3p-dev/global/networks/vpc2-ncc" (peer)

O hub do NCC detectou um intervalo de IP sobreposto com a VPC2. Lembre-se de que a VPC2 e a VPC3 foram configuradas com a mesma sub-rede IP 10.3.3.0/24.

Filtrar intervalos de IP sobrepostos com a exclusão de exportação

Use o comando gcloud para atualizar o spoke VPC2 e excluir o intervalo de IP sobreposto.

gcloud  network-connectivity spokes linked-vpc-network update vpc2-spoke2 \
--hub=ncc-hub \
--vpc-network=vpc2-ncc \
--exclude-export-ranges=10.3.3.0/24 \
--global

Use o comando gcloud para atualizar o spoke do NCC da VPC3 e excluir o intervalo de sub-rede sobreposto.

gcloud network-connectivity spokes linked-vpc-network create vpc3-spoke3 \
--hub=ncc-hub \
--vpc-network=vpc3-ncc \
--exclude-export-ranges=10.3.3.0/24 \
--global

Liste o conteúdo da tabela de roteamento padrão do hub do NCC e examine a saída.

gcloud network-connectivity hubs route-tables routes list --hub=ncc-hub --route_table=default

Os intervalos de IP sobrepostos da VPC2 e da VPC3 são excluídos. A tabela de rotas do hub do NCC aceita todos os tipos de intervalos IPv4 válidos, exceto endereços IP públicos de uso particular (PUPI).

5. NCC com spokes entre projetos

Visão geral

Até agora, você configurou spokes do NCC que pertencem ao mesmo projeto do hub. Nesta seção, você vai configurar a VPC como um spoke do NCC em um projeto separado do hub do NCC usando comandos gcloud.

Isso permite que os proprietários de projetos que gerenciam as próprias VPCs participem da conectividade de rede com o hub do NCC.

a90b3185e30832e8.png

Entre projetos: Console do Google Cloud e Cloud Shell

Para interagir com o GCP, vamos usar o console do Google Cloud e o Cloud Shell ao longo deste laboratório.

Console do Google Cloud do hub entre projetos

O console do Cloud pode ser acessado em https://console.cloud.google.com.

Configure os seguintes itens no Google Cloud para facilitar a configuração do Network Connectivity Center:

No Console do Google Cloud, na página de seletor de projetos, selecione ou crie um projeto do Google Cloud.

Inicie o Cloud Shell. Este codelab usa $variáveis para ajudar na implementação da configuração da gcloud no Cloud Shell.

gcloud auth list
gcloud config list project
gcloud config set project [YOUR-CROSSPROJECT-NAME]
xprojname=[YOUR-CROSSPROJECT-NAME]
echo $xprojname
gcloud config set compute/zone us-central1-a
gcloud config set compute/region us-central1

Papéis do IAM

O NCC exige papéis do IAM para acessar APIs específicas. Configure seu usuário com os papéis do IAM do NCC conforme necessário.

No mínimo, o administrador de spoke entre projetos precisa receber o papel do IAM "networkconnectivity.networkSpokeManager. "

A tabela abaixo lista o papel do IAM necessário para o administrador do hub e spoke do NCC para referência.

Função/descrição

Permissões

networkconnectivity.networkAdmin: permite que administradores de rede gerenciem hubs e spokes.

networkconnectivity.hubs.networkconnectivity.spokes.

networkconnectivity.networkSpokeManager: permite adicionar e gerenciar spokes em um hub. Para ser usado na VPC compartilhada em que o projeto host é proprietário do hub, mas outros administradores em outros projetos podem adicionar spokes para os anexos deles ao hub.

networkconnectivity.spokes.**

networkconnectivity.networkUsernetworkconnectivity.networkViewer: permite que os usuários da rede vejam diferentes atributos de hubs e spokes.

networkconnectivity.hubs.getnetworkconnectivity.hubs.listnetworkconnectivity.spokes.getnetworkconnectivity.spokes.listnetworkconnectivity.spokes.aggregatedList

Criar as VPCs e as sub-redes no projeto cruzado

A rede VPC contém sub-redes em que você vai instalar a VM do GCE para validação do caminho de dados.

gcloud compute networks create xproject-vpc \
--subnet-mode custom

gcloud compute networks subnets create xprj-net-1 \
--network xproject-vpc \
--range 10.100.1.0/24 \
--region us-central1

gcloud compute networks subnets create xprj-net-2 \
--network xproject-vpc \
--range 10.100.2.0/24 \
--region us-central1

URI do projeto do hub do NCC

Use este comando gcloud para encontrar o URI do hub do NCC. Você vai precisar do caminho do URI para configurar o hub de NCC entre projetos na próxima etapa.

gcloud network-connectivity hubs describe ncc-hub

VPC de spoke entre projetos

Faça login no outro projeto em que a VPC NÃO faz parte do projeto do hub do NCC. No Cloud Shell, use este comando para configurar uma VPC como um spoke do NCC.

  • HUB_URI precisa ser o URI de um hub em um projeto diferente.
  • VPC_URI precisa estar no mesmo projeto que o spoke
  • "VPC-network" especifica que a VPC neste projeto cruzado vai participar do hub do NCC em outro projeto.
gcloud network-connectivity spokes linked-vpc-network create xproj-spoke \
--hub=projects/[YOUR-PROJECT-NAME]/locations/global/hubs/ncc-hub \
--global \
--vpc-network=xproject-vpc

.

Create request issued for: [xproj-spoke]
Waiting for operation [projects/xproject/locations/global/operations/operation-1689790411247-600dafd351158-2b862329-19b747f1] to complete...done.                           
Created spoke [xproj-spoke].
createTime: '2023-07-19T18:13:31.388500663Z'
hub: projects/[YOUR-PROJECT-NAME]/locations/global/hubs/ncc-hub
linkedVpcNetwork:
  uri: https://www.googleapis.com/compute/v1/projects/xproject/global/networks/xproject-vpc
name: projects/xproject/locations/global/spokes/xproj-spoke
reasons:
- code: PENDING_REVIEW
  message: Spoke is Pending Review
spokeType: VPC_NETWORK
state: INACTIVE
uniqueId: 46b4d091-89e2-4760-a15d-c244dcb7ad69
updateTime: '2023-07-19T18:13:38.652800902Z'

Qual é o estado do spoke do NCC entre projetos? Por quê?

6. Rejeitar ou aceitar um spoke entre projetos

Visão geral

Os administradores do hub do NCC precisam aceitar explicitamente um spoke entre projetos para entrar no hub. Isso impede que os proprietários do projeto anexem hubs NCC desonestos à tabela de roteamento global do NCC. Depois que um spoke for aceito ou rejeitado, ele poderá ser rejeitado ou aceito quantas vezes forem necessárias executando os comandos acima.

Faça login no Cloud Shell para voltar ao projeto em que o hub do NCC está localizado.

Identificar os hubs entre projetos para revisão

gcloud network-connectivity hubs list-spokes ncc-hub \
 --filter="reason:PENDING_REVIEW"

Aceitar um spoke

gcloud network-connectivity hubs accept-spoke ncc-hub --spoke=xproj-spoke

Opcional: rejeitar um spoke

gcloud network-connectivity spokes reject-spoke ncc-hub --spoke=xproj-spoke 
--details="some reason to reject"

Listar os spokes ativos no hub

gcloud network-connectivity hubs list-spokes ncc-hub \
 --filter="state:ACTIVE"
NAME            PROJECT          LOCATION  TYPE         STATE   STATE REASON
Xproj-spoke     xproj            global    VPC_NETWORK  ACTIVE
vpc4-spoke4     user-3p-dev      global    VPC_NETWORK  ACTIVE
vpc1-spoke1     user-3p-dev      global    VPC_NETWORK  ACTIVE
vpc2-spoke2     user-3p-dev      global    VPC_NETWORK  ACTIVE
vpc3-spoke3     user-3p-dev      global    VPC_NETWORK  ACTIVE

Listar rotas de sub-rede no hub

Na saída, é possível ver as rotas de sub-rede do spoke entre VPCs?

gcloud network-connectivity hubs route-tables routes list \
--route_table=default \
--hub=ncc-hub \
--filter="NEXT_HOP:xprj-vpc"
IP_CIDR_RANGE  STATE   TYPE                NEXT_HOP  HUB      ROUTE_TABLE
10.100.1.0/24  ACTIVE  VPC_PRIMARY_SUBNET  xprj-vpc  ncc-hub  default

Atualizar a VPC de spoke entre projetos com o filtro Include-Export

Faça login no projeto em que a VPC NÃO faz parte do projeto do hub do NCC. No Cloud Shell, use este comando para configurar uma VPC como um spoke do NCC.

  • HUB_URI precisa ser o URI de um hub em um projeto diferente.
  • VPC_URI precisa estar no mesmo projeto que o spoke
  • "VPC-network" especifica que a VPC neste projeto cruzado vai participar do hub do NCC em outro projeto.
  • Importe apenas o intervalo de sub-rede 10.100.2.0/24 para a tabela de rotas do hub do NCC
  • Anote o valor "ETAG" da saída. Esse valor é gerado pelo NCC, e você precisa informá-lo ao administrador do hub do NCC. O administrador do hub do NCC precisará fazer referência a esse valor ao aceitar a solicitação do spoke entre projetos para participar do hub.
gcloud network-connectivity spokes linked-vpc-network update xproj-spoke \
--hub=projects/[YOUR-PROJECT-NAME]/locations/global/hubs/ncc-hub \
--global \
--include-export-ranges=10.100.2.0/24
Update request issued for: [xprj-vpc]
Waiting for operation [projects]/xproject/locations/global/operations/operation-1742936388803-6313100521cae-020ac5d2-58
52fbba] to complete...done.                                                                                                 
Updated spoke [xprj-vpc].
createTime: '2025-02-14T14:25:41.996129250Z'
etag: '4'
fieldPathsPendingUpdate:
- linked_vpc_network.include_export_ranges
group: projects/xxxxxxxx/locations/global/hubs/ncc-hub/groups/default
hub: projects/xxxxxxxx/locations/global/hubs/ncc-hub
linkedVpcNetwork:
  includeExportRanges:
  - 10.100.2.0/24
  uri: https://www.googleapis.com/compute/v1/projects/xproject/global/networks/vpc1-spoke
name: projects/xproject/locations/global/spokes/xprj-vpc
reasons:
- code: UPDATE_PENDING_REVIEW
  message: Spoke update is Pending Review
spokeType: VPC_NETWORK
state: ACTIVE
uniqueId: 182e0f8f-91cf-481c-a081-ea6f7e40fb0a
updateTime: '2025-03-25T20:59:51.995734879Z'

Identificar os hubs entre projetos atualizados para revisão

Faça login no projeto que está hospedando o hub do NCC. No cloudshell, use este comando para verificar o status da atualização do spoke da VPC entre projetos.

  • Qual é o valor da ETAG? Esse valor precisa corresponder à saída da atualização do spoke da VPC.
gcloud network-connectivity hubs list-spokes ncc-hub \ 
--filter="reasons:UPDATE_PENDING_REVIEW" \
--format=yaml

Aceite as mudanças atualizadas do spoke entre projetos

Use o comando para aceitar a solicitação do spoke entre projetos para participar do hub do NCC.

gcloud network-connectivity hubs accept-spoke-update ncc-hub \
 --spoke=https://www.googleapis.com/networkconnectivity/v1/projects/xproject/locations/global/spokes/xproj-spoke \
 --spoke-etag={etag value}

Opcional: rejeite as mudanças atualizadas do spoke entre projetos

Use o comando para rejeitar a solicitação do spoke entre projetos para participar do hub do NCC.

gcloud network-connectivity hubs reject-spoke-update ncc-hub  \
--spoke=https://www.googleapis.com/networkconnectivity/v1/projects/xproject/locations/global/spokes/xproj-spoke  \
--details="not today" \
--spoke-etag={etag value} 

Verifique se o spoke entre projetos entrou no hub do NCC

gcloud network-connectivity hubs list-spokes ncc-hub \ --filter="name:xproj-spoke"

7. Private NAT entre VPCs

Visão geral

Nesta seção, você vai configurar o NAT particular para intervalos de sub-redes sobrepostos entre duas VPCs. O NAT particular entre VPCs exige o NCC.

Na seção anterior, VPC2 e VPC3 foram configuradas com um intervalo de sub-rede sobreposto de "10.3.3.0/24". As duas VPCs são configuradas como um spoke do NCC para impedir que a sub-rede sobreposta seja inserida na tabela de rotas do hub do NCC. Isso significa que não há um caminho de dados da camada 3 para alcançar os hosts que residem nessa sub-rede.

Use esses comandos no projeto do hub do NCC para encontrar os intervalos de sub-rede sobrepostos.

gcloud compute networks subnets list --network vpc2-ncc

gcloud compute networks subnets list --network vpc3-ncc

Em vpc2-ncc, qual é o nome da sub-rede que contém o intervalo de IP sobreposto?

*Anote e salve o nome da sub-rede em algum lugar. Você vai configurar o NAT de origem para esse intervalo.

Configurar o Private NAT

Dedique um intervalo de sub-rede roteável ao tráfego NAT de origem da sub-rede sobreposta da VPC2. Ao configurar um intervalo de sub-redes não sobrepostas usando a flag "–purpose=PRIVATE_NAT".

gcloud beta compute networks subnets create ncc2-spoke-nat \
--network=vpc2-ncc \
--region=us-central1 \
--range=10.10.10.0/29 \
--purpose=PRIVATE_NAT

Criar um Cloud Router dedicado para realizar NAT particular

gcloud compute routers create private-nat-cr \
--network vpc2-ncc \
--region us-central1

Configure o Cloud Router para fazer o NAT de origem do intervalo sobreposto 10.3.3.0/24 de vpc2-ncc. Na configuração de exemplo abaixo, "overlapping-vpc3" é o nome da sub-rede sobreposta. A palavra-chave "ALL" especifica que todos os intervalos de IP na sub-rede vão usar o NAT de origem.

gcloud beta compute routers nats create ncc2-nat \
--router=private-nat-cr \
--type=PRIVATE \
--nat-custom-subnet-ip-ranges=overlapping-vpc3:ALL \
--router-region=us-central1

As etapas anteriores criaram um pool de intervalos de IP NAT e a sub-rede específica que será traduzida. Nesta etapa, crie a regra NAT "1" que traduz pacotes de rede correspondentes ao tráfego originado do intervalo de sub-rede sobreposto se a rede de destino seguir um caminho da tabela de roteamento do hub do NCC.

gcloud beta compute routers nats rules create 1 \
--router=private-nat-cr \
--region=us-central1 \
--match='nexthop.hub == "//networkconnectivity.googleapis.com/projects/$projectname/locations/global/hubs/ncc-hub"' \
--source-nat-active-ranges=ncc2-spoke-nat \
--nat=ncc2-nat

Verificar o caminho de dados do Private NAT

gcloud beta compute routers nats describe ncc2-nat --router=private-nat-cr

Exemplo de saída

enableDynamicPortAllocation: true
enableEndpointIndependentMapping: false
endpointTypes:
- ENDPOINT_TYPE_VM
name: ncc2-nat
rules:
- action:
    sourceNatActiveRanges:
    - https://www.googleapis.com/compute/beta/projects/xxxxxxxx/regions/us-central1/subnetworks/ncc2-spoke-nat
  match: nexthop.hub == "//networkconnectivity.googleapis.com/projects/xxxxxxxx/locations/global/hubs/ncc-hub"
  ruleNumber: 1
sourceSubnetworkIpRangesToNat: LIST_OF_SUBNETWORKS
subnetworks:
- name: https://www.googleapis.com/compute/beta/projects/xxxxxxxx/regions/us-central1/subnetworks/overlapping-vpc3
  sourceIpRangesToNat:
  - ALL_IP_RANGES
type: PRIVATE

Opcionalmente,

  • Mudar para o console da Web
  • Acesse "Serviços de rede > Cloud NAT > ncc2-nat".

Verifique se a alocação dinâmica de portas está ativada por padrão.

7317d3cfb7e9468b.png

Em seguida, verifique o caminho de dados que usa o caminho NAT particular configurado para VPC2.

444d45616f1d0cae.png

Abra uma sessão SSH para "vm1-vpc1-ncc" e use o comando tcpdump abaixo para capturar pacotes originados do intervalo do pool NAT "10.10.10.0/29."

vm1-vpc1-ncc

sudo tcpdump -i any net 10.10.10.0/29 -n

No momento da elaboração deste codelab, o NAT particular não é compatível com pacotes ICMP. Sessão SSH para pNat-vm-vpc2 e use o comando curl, conforme mostrado abaixo, para se conectar a vm1-vpc1-ncc na porta TCP 80.

pnat-vm-vpc2

curl 10.1.1.2 -v 

Examine a saída do tcpdump em "vm1-vpc1-ncc." Qual é o endereço IP de origem que iniciou a sessão TCP com nosso servidor da Web em "vm1-vpc1-ncc."

tcpdump: data link type LINUX_SLL2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
19:05:27.504761 ens4  In  IP 10.10.10.2.1024 > 10.1.1.2:80: Flags [S], seq 2386228656, win 65320, options [mss 1420,sackOK,TS val 3955849029 ecr 0,nop,wscale 7], length 0
19:05:27.504805 ens4  Out IP 10.1.1.2:80 > 10.10.10.2.1024: Flags [S.], seq 48316785, ack 2386228657, win 64768, options [mss 1420,sackOK,TS val 1815983704 ecr 3955849029,nop,wscale 7], length 0
<output snipped>

8. Suporte do NCC para sub-redes IPv6

O Network Connectivity Center oferece suporte à troca de sub-redes IPv6 e de rotas dinâmicas entre spokes VPC e híbridos do NCC. Nesta seção, configure o NCC para oferecer suporte ao modo de troca de rotas de sub-rede somente IPv6 e de pilha dupla IPv4 e IPv6.

57282c3276d50671.png

Crie uma VPC para IPv6 que vai participar do hub do NCC como um spoke de VPC. O GCP vai atribuir automaticamente todos os endereços ULA do intervalo fd20::/20.

gcloud compute networks create vpc5-ncc \
--subnet-mode custom \
--enable-ula-internal-ipv6 

gcloud compute networks subnets create vpc5-ext-ipv6 \ --network=vpc5-ncc \ 
--stack-type=IPV6 \ 
--ipv6-access-type=EXTERNAL \ 
--region=us-central1

gcloud compute networks subnets create vpc5-ipv4-subnet1 \
--network vpc5-ncc \
--range 10.5.5.0/24 \
--region us-central1

Use este comando para configurar a VPC5 como um spoke do NCC e impedir que a rota de sub-rede IPv4 seja exportada para a tabela de rotas do hub. Exporte a rede ULA IPv6 para a tabela de rotas do hub do NCC.

gcloud network-connectivity spokes linked-vpc-network create vpc5-spoke5 \
--hub=ncc-hub \
--vpc-network=vpc5-ncc \
--exclude-export-ranges=10.5.5.0/24
--global

Ative a VPC1 e a VPC4 para endereços locais exclusivos (ULAs) IPv6 particulares. O GCP vai atribuir automaticamente todos os endereços ULA do intervalo fd20::/20.

gcloud compute networks update vpc-ncc4 \
    --enable-ula-internal-ipv6

gcloud compute networks update vpc-ncc1 \
    --enable-ula-internal-ipv6

Crie uma sub-rede ipv6 nativa e uma ipv4_v6 de pilha dupla em VPC1

gcloud compute networks subnets create vpc1-ipv6-sn1 \
    --network=vpc-ncc1 \
    --stack-type=IPV6_ONLY \
    --ipv6-access-type=INTERNAL \
    --region=us-central1

gcloud compute networks subnets create vpc1-ipv64-sn2 \
    --network=vpc-ncc1 \
    --range=10.10.10.0/24 \
    --stack-type=IPV4_IPV6 \
    --ipv6-access-type=INTERNAL \
    --region=us-east1

Crie uma sub-rede ipv6 nativa e uma ipv4_v6 de pilha dupla na VPC4.

gcloud compute networks subnets create vpc4-ipv6-sn1 \
    --network=vpc-ncc4 \
    --stack-type=IPV6_ONLY \
    --ipv6-access-type=INTERNAL \
    --region=us-central1

gcloud compute networks subnets create vpc4-ipv64-sn2 \
    --network=vpc-ncc4 \
    --range=10.40.40.0/24 \
    --stack-type=IPV4_IPV6 \
    --ipv6-access-type=INTERNAL \
    --region=us-east1

Na VPC1, crie uma regra de firewall da VPC IPv6 para permitir o tráfego originado do intervalo ULA IPv6.

gcloud compute firewall-rules create allow-icmpv6-ula-ncc1 \
    --network=vpc-ncc1 \
    --action=allow \
    --direction=ingress \
    --rules=all \
    --source-ranges=fd20::/20

Na VPC4, crie uma regra de firewall da VPC IPv6 para permitir o tráfego originado do intervalo ULA IPv6.

gcloud compute firewall-rules create allow-icmpv6-ula-ncc4 \
    --network=vpc-ncc4 \
    --action=allow \
    --direction=ingress \
    --rules=all \
    --source-ranges=fd20::/20

Crie três instâncias do GCE IPv6 para verificar a conectividade do caminho de dados na próxima seção. Observação: vpc1-dualstack-vm será usado como um host bastion para ter acesso fora da banda às VMs nativas do GCE IPv6.

gcloud compute instances create vpc4-ipv6-vm \
    --zone us-central1-a \
    --subnet=vpc4-ipv6-sn1 \
    --stack-type=IPV6_ONLY

gcloud compute instances create vpc1-ipv6-vm \
    --zone us-central1-a \
    --subnet=vpc1-ipv6-sn1 \
    --stack-type=IPV6_ONLY

gcloud compute instances create vpc1-dual-stack-vm \
    --zone us-east1-b \
    --network=vpc-ncc1 \
    --subnet=vpc2-ipv64-sn2 \
    --stack-type=IPV4_IPV6

Verificar o hub do NCC para sub-redes IPv6

Verifique a tabela de rotas do hub do NCC para sub-redes ULA IPv6.

gcloud network-connectivity hubs route-tables routes list --route_table=default \
--hub=ncc-hub \
--filter="IP_CIDR_RANGE:fd20"

A saída do comando acima não listou as sub-redes IPv6. Por padrão, as sub-redes IPv6 dos spokes da VPC NÃO são incluídas para exportação à tabela de rotas do hub do NCC.

Listed 0 items.

Use os comandos da gcloud abaixo para atualizar os spokes VPC1 e VPC4 e exportar sub-redes IPv6 para a tabela de rotas do hub do NCC.

gcloud network-connectivity spokes linked-vpc-network update vpc1-spoke1 \
  --global \
  --include-export-ranges=ALL_IPV6_RANGES

gcloud network-connectivity spokes linked-vpc-network update vpc4-spoke4 \
  --global \
  --include-export-ranges=ALL_IPV6_RANGES

gcloud network-connectivity spokes linked-vpc-network update vpc5-spoke5 \
  --global \
  --include-export-ranges=ALL_IPV6_RANGES

Mais uma vez, verifique a tabela de rotas do hub do NCC para sub-redes ULA IPv6.

gcloud network-connectivity hubs route-tables routes list --route_table=default \
--hub=ncc-hub \
--filter="IP_CIDR_RANGE:fd20"

Exemplo de saída

IP_CIDR_RANGE                  PRIORITY  LOCATION     STATE   TYPE                SITE_TO_SITE  NEXT_HOP  HUB            ROUTE_TABLE
fd20:c95:95d2:1000:0:0:0:0/64            us-east1     ACTIVE  VPC_PRIMARY_SUBNET  N/A           vpc-ncc4  ncc-hub  default
fd20:c95:95d2:1:0:0:0:0/64               us-central1  ACTIVE  VPC_PRIMARY_SUBNET  N/A           vpc-ncc4  ncc-hub  default
fd20:670:3823:0:0:0:0:0/64               us-central1  ACTIVE  VPC_PRIMARY_SUBNET  N/A           vpc-ncc5  ncc-hub  default
fd20:90:6768:1000:0:0:0:0/64             us-east1     ACTIVE  VPC_PRIMARY_SUBNET  N/A           vpc-ncc2  ncc-hub  default
fd20:90:6768:0:0:0:0:0/64                us-central1  ACTIVE  VPC_PRIMARY_SUBNET  N/A           vpc-ncc2  ncc-hub  default

Filtrar sub-redes IPv6 com spokes de VPC do NCC

Verificar a tabela de rotas do hub do NCC para rotas de sub-rede IPv6 externas

gcloud network-connectivity hubs route-tables routes list --route_table=default \
--hub=ncc-hub \
--filter="NEXT_HOP:vpc-ncc5"

Exemplo de saída: a tabela de rotas do hub ncc aprendeu o intervalo IPv6 externo.

IP_CIDR_RANGE                  PRIORITY  LOCATION     STATE   TYPE                SITE_TO_SITE  NEXT_HOP  HUB            ROUTE_TABLE
10.5.5.0/24                              us-central1  ACTIVE  VPC_PRIMARY_SUBNET  N/A           vpc-ncc5  ncc-hub  default
2600:1900:4001:ce6:0:0:0:0/64            us-central1  ACTIVE  VPC_PRIMARY_SUBNET  N/A           vpc-ncc5  ncc-hub  default
fd20:670:3823:0:0:0:0:0/64               us-central1  ACTIVE  VPC_PRIMARY_SUBNET  N/A           vpc-ncc5  ncc-hub  default
10.50.10.0/24                            us-central1  ACTIVE  VPC_PRIMARY_SUBNET  N/A           vpc-ncc5  ncc-hub  default

Use o comando gcloud abaixo para atualizar os spokes da VPC5 e excluir as duas sub-redes IPv6 internas específicas e a sub-rede IPv6 externa da injeção na tabela de rotas do hub do NCC.

gcloud network-connectivity spokes linked-vpc-network update vpc5-spoke5 \
 --global \
 --include-export-ranges=fd20:670:3823:0:0:0:0:0/48 \
 --exclude-export-ranges=fd20:670:3823:1::/64,fd20:670:3823:2::/64  

Use o comando gcloud para verificar os filtros de exportação do spoke da VPC5

gcloud network-connectivity spokes linked-vpc-network update vpc5-spoke5 \
 --global \
 --include-export-ranges=fd20:670:3823:0:0:0:0:0/48 \
 --exclude-export-ranges=fd20:670:3823:1::/64,fd20:670:3823:2::/64  

Verificar a tabela de rotas do hub do NCC para rotas de sub-rede IPv6 externas

gcloud network-connectivity hubs route-tables routes list --route_table=default \
--hub=ncc-hub \
--filter="NEXT_HOP:vpc-ncc5"

Exemplo de saída: a tabela de rotas do hub ncc aprendeu o intervalo IPv6 externo.

IP_CIDR_RANGE               PRIORITY  LOCATION     STATE   TYPE                SITE_TO_SITE  NEXT_HOP  HUB            ROUTE_TABLE
fd20:670:3823:0:0:0:0:0/64            us-central1  ACTIVE  VPC_PRIMARY_SUBNET  N/A           vpc-ncc5  demo-mesh-hub  default

9. Verificar a conectividade do caminho de dados

Conectividade do caminho de dados IPv4

Consulte o diagrama e verifique o caminho de dados IPv4 entre cada máquina virtual.

27c61b09f2bf2d02.png

Use SSH para acessar vm1-vpc1-ncc e inicie o despejo de TCP para rastrear pacotes ICMP de vm2-vpc2-ncc. Lembre-se de que essa VM reside na VPC2.

vm1-vpc1-ncc

sudo tcpdump -i any icmp -v -e -n

Estabeleça uma sessão SSH para "vm1-vpc2-ncc" e execute o comando "ping" no endereço IP de "vm1-vpc1-ncc".

vm1-vpc2-ncc

ping 10.1.1.2

Estabeleça um SSH para vm1-vpc2-ncc e faça um ping no endereço IP de vm1-vpc4-ncc.

vm1-vpc2-ncc

ping 240.0.0.2

Conectividade do caminho de dados IPv6

Consulte o diagrama e verifique o caminho de dados IP64 entre cada máquina virtual.

3afe67968317a16d.png

Use o comando gcloud para listar o endereço IP de cada instância habilitada para IPv6.

 gcloud compute instances list --filter="INTERNAL_IP:fd20"

Exemplo de saída

NAME                ZONE           MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP                   EXTERNAL_IP      STATUS
vpc1-ipv6-vm        us-central1-a  n1-standard-1               fd20:90:6768:0:0:1:0:0/96                      RUNNING
vpc4-ipv6-vm        us-central1-a  n1-standard-1               fd20:c95:95d2:1:0:1:0:0/96                     RUNNING
vpc1-dual-stack-vm  us-east1-b     n1-standard-1               10.10.10.3                    XXX.196.137.107  RUNNING
                                                               fd20:90:6768:1000:0:1:0:0/96

Estabeleça uma sessão SSH em "vpc1-dualstack-vm" e execute "ping" no endereço IPv6 de "vpc1-ipv6-vm" para validar a conectividade IPv6 em uma VPC global.

ping fd20:90:6768:1000:0:1::

Estabeleça uma sessão SSH com vpc1-dualstack-vm e execute o comando "ping" no endereço IPv6 de vpc4-ipv6-vm para validar a conectividade IPv6 em uma conexão do NCC.

ping fd20:c95:95d2:1:0:1::

10. Limpeza

Faça login no Cloud Shell e exclua as instâncias de VM nas redes do hub e das filiais.

Excluir configurações NAT de VPC particular

gcloud beta compute routers nats rules delete 1 \
--nat=ncc2-nat \
--router=private-nat-cr \
--region=us-central1 \
--quiet

gcloud beta compute routers nats delete ncc2-nat \
--router=private-nat-cr \
--router-region=us-central1 \
--quiet

gcloud compute routers delete private-nat-cr \
--region=us-central1 \
--quiet

Excluir spokes de NCC

gcloud network-connectivity spokes delete vpc1-spoke1 --global --quiet

gcloud network-connectivity spokes delete vpc2-spoke2 --global --quiet

gcloud network-connectivity spokes delete vpc3-spoke3 --global --quiet

gcloud network-connectivity spokes delete vpc4-spoke4 --global --quiet

Rejeitar spoke entre projetos

Rejeite o spoke VPC entre projetos do hub do NCC.

gcloud network-connectivity spokes reject projects/$xprojname/locations/global/spokes/xproj-spoke \--details="cleanup" \
--global

Excluir hub do NCC

gcloud network-connectivity hubs delete ncc-hub --quiet

Excluir regras de firewall

gcloud compute firewall-rules delete ncc1-vpc-internal --quiet
gcloud compute firewall-rules delete ncc2-vpc-internal --quiet
gcloud compute firewall-rules delete ncc3-vpc-internal --quiet
gcloud compute firewall-rules delete ncc4-vpc-internal --quiet
gcloud compute firewall-rules delete ncc1-vpc-iap --quiet
gcloud compute firewall-rules delete ncc2-vpc-iap --quiet
gcloud compute firewall-rules delete ncc3-vpc-iap --quiet
gcloud compute firewall-rules delete ncc4-vpc-iap --quiet
gcloud compute firewall-rules delete allow-icmpv6-ula-ncc1 
gcloud compute firewall-rules delete allow-icmpv6-ula-ncc4 

Excluir instâncias do GCE

gcloud compute instances delete vm1-vpc1-ncc --zone=us-central1-a --quiet
gcloud compute instances delete vm2-vpc2-ncc --zone=us-central1-a --quiet
gcloud compute instances delete pnat-vm-vpc2 --zone=us-central1-a --quiet
gcloud compute instances delete vm1-vpc4-ncc --zone=us-east1-b --quiet
gcloud compute instances delete vpc4-ipv6-vm  --zone us-central1-a --quiet
gcloud compute instances delete vpc2-dual-stack-vm --zone us-east1-b --quiet
gcloud compute instances delete vpc2-ipv6-vm --zone us-central1-a --quiet

Excluir sub-redes VPC

gcloud compute networks subnets delete ncc2-spoke-nat --region us-central1 --quiet
gcloud compute networks subnets delete vpc1-ncc-subnet1 --region us-central1 --quiet
gcloud compute networks subnets delete vpc1-ncc-subnet2 --region us-central1 --quiet
gcloud compute networks subnets delete vpc1-ncc-subnet3 --region us-central1 --quiet
gcloud compute networks subnets delete vpc2-ncc-subnet1 --region us-central1 --quiet
gcloud compute networks subnets delete overlapping-vpc2 --region us-central1 --quiet 
gcloud compute networks subnets delete overlapping-vpc3 --region us-central1 --quiet

gcloud compute networks subnets delete benchmark-testing-rfc2544 --region us-east1 --quiet
gcloud compute networks subnets delete class-e-rfc5735 --region us-east1 --quiet
gcloud compute networks subnets delete ietf-protcol-assignment-rfc6890 --region us-east1 --quiet
gcloud compute networks subnets delete ipv6-4-relay-rfc7526 --region us-east1 --quiet
gcloud compute networks subnets delete pupi --region us-east1 --quiet
gcloud compute networks subnets delete test-net-1-rfc5737 --region us-east1 --quiet
gcloud compute networks subnets delete test-net-2-rfc5737 --region us-east1 --quiet
gcloud compute networks subnets delete test-net-3-rfc5737 --region us-east1 --quiet
gcloud compute networks subnets delete vpc1-ipv64-sn2 --region=us-east1 --quiet
gcloud compute networks subnets delete vpc1-ipv6-sn1 --region=us-central1 --quiet
gcloud compute networks subnets delete vpc4-ipv64-sn2 --region=us-east1 --quiet
gcloud compute networks subnets delete vpc4-ipv6-sn1 --region=us-central1 --quiet
gcloud compute networks subnets delete vpc5-ext-ipv6 --region=us-central1 --quiet

Excluir VPCs

gcloud compute networks delete vpc1-ncc vpc2-ncc vpc3-ncc vpc4-ncc, vpc5-ncc --quiet 

11. Parabéns!

Você concluiu o laboratório do Network Connectivity Center.

Conteúdo abordado

  • Rede de peering VPC de malha completa configurada com o hub do NCC
  • Filtro de exclusão de spoke do NCC
  • Suporte a spokes entre projetos
  • Private NAT entre VPCs

Próximas etapas

©Google LLC ou afiliadas. Todos os direitos reservados. Distribuição proibida.