O Network Connectivity Center permite usar um dispositivo virtual de rede de terceiros para estabelecer a conectividade entre um site externo e seus recursos de rede de nuvem privada virtual (VPC). Para estabelecer a conectividade desta forma, use o recurso do dispositivo roteador.
O dispositivo roteador é um dos vários tipos de spoke compatíveis com o Network Connectivity Center. Saiba mais sobre o Network Connectivity Center na Visão geral do Network Connectivity Center. Saiba mais sobre o dispositivo roteador na Visão geral do dispositivo roteador.
Exemplo de configuração
Na topologia a seguir, um site externo se conecta a duas redes VPC usando um spoke do dispositivo roteador.
A VM que hospeda a instância do dispositivo roteador tem uma interface em cada rede VPC. A instância do dispositivo roteador mantém as sessões do protocolo de gateway de borda (BGP, na sigla em inglês) com os Cloud Routers nas duas redes.
Cada Cloud Router tem duas interfaces. A interface do dispositivo roteador em cada rede faz peering com as duas interfaces do Cloud Router apropriado, totalizando quatro sessões de peering.
Tarefas necessárias
Para definir a configuração de amostra, confira se você atende aos pré-requisitos para realizar este procedimento e, em seguida, conclua as tarefas necessárias:
Crie a máquina virtual (VM) do Compute Engine que atua como uma instância do dispositivo roteador. É possível criar a VM usando uma solução de parceiro compatível ou sua própria imagem personalizada.
Verifique se a instância do appliance do roteador está acessível para o tráfego BGP por meio da porta TCP 179. Para estabelecer o acesso, pode ser necessário criar regras de firewall.
Crie dois spokes, um em cada rede VPC. Cada spoke usa a mesma instância do dispositivo roteador como recurso de apoio.
Configure dois Cloud Routers, um em cada rede VPC. Para cada Cloud Router, esta tarefa inclui as seguintes subtarefas:
Crie um Cloud Router na mesma região que a instância do dispositivo roteador.
Crie duas interfaces em cada Cloud Router.
Configure o peering do BGP em cada Cloud Router.
Configure o peering do BGP na instância do dispositivo do roteador.
A maneira como você conclui essas tarefas pode variar significativamente. Por exemplo, se você criar uma instância de dispositivo de roteador usando uma solução de parceiro, algumas das tarefas posteriores poderão ser automatizadas para você.
Antes de começar
Antes de começar, leia as seções a seguir.
Crie ou selecione um projeto.
Para facilitar a configuração do Network Connectivity Center, identifique um projeto válido.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Se você estiver usando a Google Cloud CLI, defina o ID do projeto usando o comando
gcloud config set
.gcloud config set project PROJECT_ID
Substitua
PROJECT_ID
pelo ID exclusivo do seu projeto.As instruções da CLI gcloud nesta página presumem que você tenha definido o ID do projeto.
Para confirmar se você definiu o ID do projeto corretamente, use o comando
gcloud config list
.gcloud config list --format='text(core.project)'
Ativar a API Network Connectivity
Antes de executar qualquer tarefa do Network Connectivity Center, é necessário ativar a API Network Connectivity.
Console
Para ativar a API Network Connectivity:
No console do Google Cloud, acesse a página do Network Connectivity Center.
Clique em Ativar.
Como alternativa, é possível ativar a API usando a biblioteca de APIs do console do Google Cloud, conforme descrito em Como ativar APIs.
Conseguir acesso
Para trabalhar com o Network Connectivity Center, você precisa das permissões descritas em Papéis e permissões.
Ao configurar o Network Connectivity Center, você também trabalha com recursos do Google Cloud, como redes VPC, sub-redes e regras de firewall. Para mais informações sobre as permissões necessárias para trabalhar com esses recursos, consulte a documentação de controle de acesso do Compute Engine.
Endereços IP e instâncias de dispositivo do roteador
Para configurar uma instância de dispositivo de roteador, estabeleça o peering entre a instância e o Cloud Router. Para configurar o peering, a VM precisa usar um endereço IP interno RFC 1918. Não é possível fazer o peering desses dois recursos se a VM usar um tipo de endereço diferente. Além disso, os dois endereços IP precisam estar na mesma região.
Para informações sobre como visualizar os endereços IP de uma VM, consulte os seguintes documentos:
- Como localizar endereços IP de uma instância de VM
- Como exibir endereços IP não anexados a uma instância de VM
Para definições e informações detalhadas sobre os tipos de endereços IP, consulte Endereços IP.
Reservar um endereço IP interno e estático (recomendado)
Recomendamos que você forneça à instância do dispositivo de roteador um endereço IP interno estático para que o endereço não seja alterado durante a reinicialização. Se o endereço for alterado, o peering do BGP falhará.
Você tem várias opções para atribuir um endereço IP reservado. É possível reservar o endereço IP com antecedência. Como alternativa, é possível reservar o endereço IP ao criar a VM. Se você atribuir um endereço temporário à VM, poderá convertê-lo em um endereço estático posteriormente. Para mais informações sobre endereços IP estáticos, consulte Como reservar endereços IP estáticos.
Endereços IP para peering do BGP
Uma instância de dispositivo de roteador usa o endereço IP interno
para fazer peering com o Cloud Router. A instância não usa um endereço link-local
(como 169.254.x.x
) para o peering do BGP.
Da mesma forma, o Cloud Router usa dois endereços IP internos RFC 1918 para fazer o peering com a instância do dispositivo do roteador, um endereço para cada interface. Esses endereços IP podem ser atribuídos de modo manual ou automático da sub-rede que contém a instância do dispositivo do roteador e a interface do Cloud Router.
Criar recursos da VPC
Veja nas seções a seguir como criar redes e sub-redes VPC.
Criar duas redes VPC
Se ainda não tiver feito isso, crie duas redes VPC. Defina cada
modo de roteamento dinâmico
da rede como global
.
Para mais informações sobre como criar redes VPC, consulte Como criar redes.
Console
Para criar uma rede VPC personalizada usando o console do Google Cloud,
consulte
Como criar uma rede de modo personalizado.
Defina o Modo de roteamento dinâmico como Global. Se você quiser
seguir as convenções de nomenclatura usadas na configuração de amostra, chame as
redes network-a
e network-b
.
gcloud
Para criar uma rede VPC personalizada, use o
comando gcloud compute networks create
.
gcloud compute networks create NAME \ --subnet-mode custom \ --bgp-routing-mode global
Substitua NAME
pelo nome da rede
VPC, como network-a
ou network-b
.
API
Para criar uma rede VPC personalizada usando a API Compute Engine, consulte Como usar VPC.
Criar uma sub-rede
Crie uma sub-rede em network-a
e uma outra em network-b
.
Console
Para adicionar uma sub-rede usando o console do Google Cloud, consulte Como adicionar sub-redes.
Se quiser seguir as convenções de nomenclatura aplicadas na configuração de
amostra, use os seguintes valores para a sub-rede em network-a
:
- Name:
subnet-a
- Região:
us-central1
- Intervalo:
10.1.3.0/24
Use os seguintes valores para a sub-rede em network-b
:
- Name:
subnet-b
- Região:
us-central1
- Intervalo:
192.168.10.0/24
gcloud
Para criar uma sub-rede VPC, use o
comando gcloud compute networks subnets create
.
gcloud compute networks subnets create NAME \ --network=NETWORK \ --region=REGION \ --range=RANGE
Substitua:
NAME
: o nome da sub-rede que contém a VM do dispositivo roteador, comosubnet-a
ousubnet-b
.NETWORK
: a rede que contém a sub-rede, comonetwork-a
ounetwork-b
.REGION
: a região que contém a sub-rede, por exemplo,us-central1
.RANGE
: o intervalo de IP da sub-rede na notação do CIDR, como10.1.3.0/24
ou192.168.10.0/24
.
API
Para criar uma sub-rede VPC usando a API Compute Engine, consulte Como usar VPC.
Criar a VM do dispositivo roteador
Crie a VM do Compute Engine que atua como uma instância do dispositivo roteador. A
VM está representada na topologia de amostra como router-app-a
. Ela tem duas
interfaces, uma em network-a
e outra em network-b
.
Ao criar a VM, selecione uma imagem de dispositivo virtual de rede. Essa imagem pode ser qualquer uma destas:
Uma solução fornecida por um parceiro compatível do Network Connectivity Center
Uma imagem personalizada, como uma imagem que você criou
Para mais informações sobre como especificar imagens, consulte os seguintes recursos:
- Visão geral das imagens
- Práticas recomendadas para famílias de imagens
- Como criar, excluir e suspender o uso de imagens personalizadas
Saiba mais sobre como criar uma VM em Como criar e iniciar uma instância de VM.
Os exemplos nesta seção pressupõem que você tem endereços IP reservados para a instância do dispositivo do roteador. Para mais informações, consulte Endereços IP para o roteador do roteador.
Console
Saiba como criar a VM usada na configuração de exemplo em Como criar e iniciar uma instância de VM. Ao criar a VM, faça as seguintes opções:
Se você quiser seguir as convenções de nomenclatura usadas na configuração de amostra, use os seguintes valores:
- Name:
router-app-a
- Região:
us-central1
- Zona:
us-central1-a
- Name:
Para selecionar uma imagem, acesse a área Disco de inicialização da página, clique em Alterar e navegue até a imagem apropriada para a VM.
Expanda Opções avançadas e depois Rede. Use os valores a seguir:
- Em Encaminhamento de IP, selecione Ativar.
- Em Interfaces de rede, crie duas interfaces: uma em
network-a
e outra emnetwork-b
. Para criar cada interface, selecione a rede apropriada e clique em Adicionar uma interface de rede. Preencha os campos a seguir:- Selecione a Sub-rede em que você quer localizar a instância do
dispositivo roteador, como
subnet-a
ousubnet-b
. - Em IP interno primário, selecione o endereço IP interno RFC 1918
reservado que você quer usar, como
10.1.3.8
ou192.168.10.3
. - Em Nível de serviço de rede, selecione Premium; Essa escolha maximiza a extensão em que o tráfego usa a rede do Google.
- Selecione a Sub-rede em que você quer localizar a instância do
dispositivo roteador, como
gcloud
Para criar as duas VMs do dispositivo roteador usadas na configuração de
exemplo, use o
comando gcloud compute instances create
.
Execute o comando duas vezes, uma para cada instância do dispositivo roteador. Substitua INSTANCE_NAME pelo nome da VM que atua como uma instância do dispositivo roteador.
No exemplo a seguir, atribua o endereço IP interno estático e o endereço IP externo estático reservado anteriormente à VM. Você também especifica o projeto que contém uma imagem fornecida pelo fornecedor para a VM, junto com o nome da imagem.
gcloud compute instances create INSTANCE_NAME \ --project=PROJECT \ --zone=ZONE \ --machine-type=MACHINE_TYPE \ --network-tier=NETWORK_TIER \ --network-interface=[subnet=SUBNET,private-network-ip=INTERNAL_IP_ADDRESS] \ --can-ip-forward \ --image-project=IMAGE_PROJECT \ --image=IMAGE
Substitua:
INSTANCE_NAME
: o nome da VM que atua como uma instância do dispositivo roteador. Por exemplo,router-app-a
ourouter-app-b
.PROJECT
: o nome do projeto que contém as VMs do dispositivo do roteador. Por exemplo,my-project
.ZONE
: a zona do Google Cloud em que a VM está localizada, por exemplo,us-west1-a
.MACHINE_TYPE
: o recurso do tipo de máquina a ser usado para a VM, por exemplo,n1-standard-2
.NETWORK_TIER
: ao criar as VMs do dispositivo do roteador, defina o nível da rede comopremium
; Essa opção maximiza até que ponto o tráfego usa a rede do GoogleSUBNET
: a sub-rede atribuída à interface de rede principal da VM, por exemplo,subnet-a-1
.INTERNAL_IP_ADDRESS
: o endereço IP interno RFC 1918 atribuído à interface da VM que se conecta ao Cloud Router, por exemplo,10.0.1.10
.IMAGE_PROJECT
: o nome do projeto que contém a imagem especificada no campoimage
. Por exemplo,debian-cloud
.IMAGE
: o nome da imagem a ser instalada. Por exemplo,debian-10-buster-v20210217
.
API
Para criar as duas VMs do dispositivo roteador usadas na configuração de
exemplo, use o
método compute.instances.insert
.
Para ver outros métodos de criação, consulte Como criar e iniciar uma instância de VM.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances { "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "name": "INSTANCE_NAME", "canIpForward": "true", "networkInterfaces": [{ "subnetwork": "regions/REGION/subnetworks/SUBNET", "networkIP": "INTERNAL_IP_ADDRESS", "accessConfigs": [{ "networkTier": "NETWORK_TIER, }] }], "disks": [{ "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true }] }
Substitua:
PROJECT
: o nome do projeto que contém as VMs do dispositivo do roteador. Por exemplo,my-project
.ZONE
: a zona do Google Cloud em que a VM está localizada, por exemplo,us-west1-a
.MACHINE_TYPE
: o recurso do tipo de máquina a ser usado para a VM, por exemplo,zones/us-west1-a/machineTypes/n1-standard-2
.INSTANCE_NAME
: o nome da VM. Por exemplo,router-app-a
ourouter-app-b
REGION
: a região que contém a VM, por exemplo,us-west1
.SUBNET
: a sub-rede atribuída à interface de rede principal da VM, por exemplo,regions/us-west1/subnetworks/subnet-a-1
.INTERNAL_IP_ADDRESS
: o endereço IP interno RFC 1918 atribuído à VM; configure o endereço da interface da VM que se conecta ao Cloud Router, por exemplo,10.0.1.10
NETWORK_TIER
: ao criar as VMs do dispositivo do roteador, defina o nível da rede comopremium
; Essa opção maximiza até que ponto o tráfego usa a rede do GoogleIMAGE_PROJECT
: o nome do projeto que contém a imagem especificada ao criar a VM, por exemplo,debian-cloud
IMAGE
: o nome da imagem a ser usada ao criar a VM, por exemplo,debian-10-buster-v20210217
.
Criar uma regra de firewall para permitir o BGP
Crie duas regras de firewall, uma em network-a
e outra em network-b
. Cada regra
permite o tráfego BGP na porta TCP 179
.
Para mais informações sobre comandos de firewall, consulte Como usar regras de firewall.
Console
Para criar uma regra de firewall da VPC usando o console do Google Cloud, consulte Como criar regras de firewall.
gcloud
Saiba como criar uma regra de firewall da VPC usando a Google Cloud CLI em Como criar regras de firewall.
API
Saiba como criar uma regra de firewall da VPC usando a API Compute Engine em Como criar regras de firewall.
Criar recursos do Network Connectivity Center
Antes de usar uma VM de dispositivo roteador, crie os recursos necessários do Network Connectivity Center.
Criar um hub
Antes de criar spokes do Network Connectivity Center, é preciso criar um hub.
Console
No console do Google Cloud, acesse a página do Network Connectivity Center.
No menu do projeto, selecione um projeto.
Insira um nome do hub.
Insira uma descrição opcional.
Verifique o ID do projeto. Se o ID do projeto estiver incorreto, selecione um projeto diferente usando o menu na parte superior da tela.
Clique em Continuar.
O console exibe um formulário que permite criar um spoke. Para preenchê-lo agora, use as etapas descritas em Criar um spoke de dispositivo com roteador.
Clique em Concluído.
gcloud
Para criar um hub, use o
comando gcloud network-connectivity hubs create
.
gcloud network-connectivity hubs create HUB_NAME \ --description="DESCRIPTION" \ --labels="KEY"="VALUE"
Substitua os seguintes valores:
HUB_NAME
: o nome do novo hubDESCRIPTION
: texto opcional que descreve o hubKEY
: a chave no par de chave-valor do texto do rótulo opcionalVALUE
: o valor no par de chave-valor do texto do rótulo opcional
API
Para criar um hub, use o
método networkconnectivity.hubs.create
.
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/hubs { "name":"HUB_NAME", "description":"DESCRIPTION", "labels": { "KEY": "VALUE" } }
Substitua os seguintes valores:
PROJECT_ID
: o ID do projeto que contém o novo hubHUB_NAME
: o nome do novo hubDESCRIPTION
: texto opcional que descreve o hubKEY
: a chave no par de chave-valor do texto do rótulo opcionalVALUE
: o valor no par de chave-valor do texto do rótulo opcional
Criar dois spokes do dispositivo roteador
Crie dois spokes do dispositivo roteador. Os dois spokes usam o mesmo recurso de
apoio, isto é, a instância do dispositivo roteador que você acabou de criar. Um spoke
usa a interface de network-a
e o outro usa a interface de network-
b
.
A criação de um spoke é necessária para ativar o peering do BGP entre a instância do dispositivo do roteador e o Cloud Router, que você criará na próxima etapa.
Saiba mais sobre como criar um spoke em Trabalhar com hubs e spokes.
Console
Inserir detalhes básicos do spoke
No console do Google Cloud, acesse a página do Network Connectivity Center.
No menu do projeto, selecione um projeto.
Clique na guia Spokes.
Clique em Add spokes.
No formulário Novo spoke, defina o Tipo de spoke como Dispositivo roteador.
Digite um Nome de spoke, como
spoke-a
ouspoke-b
.Opcionalmente, insira uma Descrição.
Selecione o campo Região para o novo spoke.
Em Transferência de dados site a site, selecione Desativado.
Na lista suspensa Rede VPC, selecione uma rede.
Inserir detalhes do dispositivo de roteador
- Em Anexar instâncias ao spoke, use a lista
suspensa para selecionar um dispositivo roteador, como
router-app-a
. - Para adicionar mais instâncias do dispositivo roteador a esse spoke, clique em Adicionar instância e repita a etapa anterior.
- Ao terminar, clique em Concluído e prossiga para Salvar o spoke.
Salvar os spokes
- Para adicionar o segundo spoke, clique em Adicionar spoke e inicie o processo outra vez, começando pelo Nome do spoke.
- Quando terminar de adicionar os spokes, clique em Criar. A página Network Connectivity Center é atualizada para exibir detalhes dos spokes que você criou.
gcloud
Para criar spokes do dispositivo roteador, use o
comando gcloud network-connectivity spokes linked-router-appliances create
.
Execute o comando duas vezes, uma para cada spoke.
gcloud network-connectivity spokes linked-router-appliances create NAME \ --hub="HUB_URI" \ --description="DESCRIPTION" \ --router-appliance=instance="ROUTER_APPLIANCE_URI",ip=IP_ADDRESS \ --region=REGION \ --labels="KEY"="VALUE"
Substitua os seguintes valores:
NAME
: o nome do spoke, comospoke-a
HUB_URI
: o URI do hub ao qual você está anexando o spokeDESCRIPTION
: texto opcional que descreve o spokeROUTER_APPLIANCE_URI
: o nome da instância do dispositivo roteador, comohttps://www.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
IP_ADDRESS
: o endereço IP interno da instância do dispositivo roteador na rede VPC apropriada, como10.1.3.8
ou192.168.10.3
REGION
: a região do Google Cloud em que você quer localizar o spoke, por exemplo,us-central1
KEY
: a chave no par de chave-valor do texto do rótulo opcionalVALUE
: o valor no par de chave-valor do texto do rótulo opcionalPor exemplo, o comando a seguir cria um spoke do dispositivo roteador que usa
router-app-a
como recursos subjacentes. Esse comando faz referência à instância do dispositivo roteador usando a interfacenetwork-a
:gcloud network-connectivity spokes linked-router-appliances create spoke-a \ --hub=my-hub \ --description="Test spoke 1" \ --router-appliance=instance="https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/router-app-a",ip=10.1.3.8 \ --region=us-central1 \
Por exemplo, o comando a seguir cria um spoke do dispositivo roteador que usa
router-app-a
como recursos subjacentes. Esse comando faz referência à instância do dispositivo roteador usando a interfacenetwork-b
:gcloud network-connectivity spokes linked-router-appliances create spoke-b \ --hub=my-hub \ --description="Test spoke 1" \ --router-appliance=instance="https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/router-app-a",ip=192.168.10.3\ --region=us-central1 \
API
Para criar um spoke do dispositivo roteador, use o
método networkconnectivity.spokes.create
.
Para cada instância do roteador do roteador que você quer associar ao spoke, adicione uma instância usando a matriz linkedRouterApplianceInstances.instances
.
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/spokes/SPOKE_NAME { "hub": "HUB_URI", "labels": {"KEY": "VALUE"}, "linkedRouterApplianceInstances": { "instances": [ { "virtualMachine": "ROUTER_APPLIANCE_URI", "ipAddress": INTERNAL_IP_ADDRESS, }, ], "siteToSiteDataTransfer": BOOLEAN } }
Substitua os seguintes valores:
PROJECT_ID
: o ID do projetoREGION
: a região do Google Cloud em que você quer localizar o spoke, por exemplo,us-west1
SPOKE_NAME
: o nome que você quer dar ao dicionário.HUB_URI
: o URI do hub a que você está anexando o spoke, por exemplo,http://networkconnectivity.googleapis.com/v1/projects/PROJECT_NAME/locations/global/hubs/HUB_NAME
KEY
: a chave no par de chave-valor do texto do rótulo opcionalVALUE
: o valor no par de chave-valor do texto do rótulo opcionalROUTER_APPLIANCE_URI
: o nome da instância do dispositivo roteador, comohttps://www.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
IP_ADDRESS
: o endereço IP interno da instância do dispositivo roteador para a rede VPC apropriada, como10.1.3.8
ou192.168.10.3
BOOLEAN
: um valor que determina se a transferência de dados site a site está ativada para esse spoke. Para esse caso de uso, defina a opção comofalse
Por exemplo, para criar um spoke que use
router-app-a
para a interface emnetwork-a
, o corpo da solicitação precisa ser estruturado da seguinte maneira:{ "hub": "http://networkconnectivity.googleapis.com/v1/projects/my-project/locations/global/hubs/my-hub", "labels": { "environment" : "test" }, "linkedRouterApplianceInstances": { "instances": [ { "virtualMachine": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/router-app-a", "ipAddress": "10.1.3.8", }, ], "siteToSiteDataTransfer": false } }
Para criar um spoke que use
router-app-a
para a interface emnetwork-b
, o corpo da solicitação precisa ser estruturado da seguinte maneira:{ "hub": "http://networkconnectivity.googleapis.com/v1/projects/my-project/locations/global/hubs/my-hub", "labels": { "environment" : "test" }, "linkedRouterApplianceInstances": { "instances": [ { "virtualMachine": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/router-app-a", "ipAddress": "192.168.10.3", }, ], "siteToSiteDataTransfer": false } }
Configurar Cloud Routers
O dispositivo roteador usa os Cloud Routers para trocar rotas com as redes VPC. Por isso, crie um Cloud Router em cada rede VPC e realize algumas outras tarefas de configuração.
Criar os Cloud Routers
Se você estiver usando os mesmos valores que a topologia de amostra, crie dois
Cloud Routers, um em network-a
e outro em network-b
. Os dois
Cloud Routers precisam estar em us-central1
.
Para mais informações, consulte Como criar Cloud Routers.
Console
Para criar um Cloud Router no console do Google Cloud, use uma das seguintes abordagens:
Use a página do Cloud Router, conforme descrito em Criar um Cloud Router.
Use a página Centro de conectividade de rede. A vantagem dessa abordagem é que ela permite criar o roteador, as interfaces e as sessões do BGP ao mesmo tempo. Para mais informações sobre como concluir todas essas etapas, consulte Como configurar o peering do BGP no Cloud Router.
gcloud
Para criar um Cloud Router, use o
comando gcloud compute routers create
.
gcloud compute routers create NAME \ --region=REGION \ --network=NETWORK \ --asn=ASN \ --project=PROJECT_ID
Substitua:
NAME
: o nome do Cloud Router, comocloud-router-a
oucloud-router-b
REGION
: a região que contém o Cloud Router. Por exemplo,us-central1
.NETWORK
: a rede VPC que contém o Cloud Router, comonetwork-a
ounetwork-b
ASN
: o número de sistema autônomo (ASN, na sigla em inglês) do Cloud Router. Esse ASN precisa ser um ASN privado de 16 ou 32 bits, conforme definido na RFC 6996, por exemplo,65000
PROJECT_ID
: o ID do projeto para o Cloud Router. Por exemplo,my-project
.
API
Para criar um Cloud Router, use o
método compute.routers.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers { "name": "NAME", "network": "NETWORK", "bgp": { "asn": ASN } }
Substitua:
PROJECT_ID
: o ID do projeto para o Cloud Router. Por exemplo,my-project
.REGION
: a região que contém o Cloud Router. Por exemplo,us-central1
.NAME
: o nome do Cloud Router, comocloud-router-a
oucloud-router-b
NETWORK
: o URI da rede VPC que contém o Cloud Router, como/global/networks/network-a
ou/global/networks/network-b
ASN
: o número de sistema autônomo (ASN, na sigla em inglês) do Cloud Router. Esse ASN precisa ser um ASN privado de 16 ou 32 bits, conforme definido na RFC 6996, por exemplo,65000
Criar duas interfaces em cada Cloud Router
Para estabelecer redundância, crie duas interfaces em cada Cloud Router. Em cada Cloud Router, as duas interfaces precisam ser associadas à mesma sub-rede que a interface do dispositivo roteador correspondente. Se você estiver usando os valores do exemplo de topologia, faça o seguinte:
- Para
cloud-router-a
, crie duas interfaces emsubnet-a
. - Para
cloud-router-b
, crie duas interfaces emsubnet-b
.
A interface do Cloud Router usa um endereço IP interno regional. Se você especificar explicitamente o endereço IP interno para a interface, ele precisa pertencer ao intervalo de endereços IP principal da sub-rede. O endereço não pode estar sendo usado por outro recurso, como uma VM ou outra interface do Cloud Router.
Não há instruções do console do Google Cloud para esta etapa. Se você estiver usando o console do Google Cloud, ao concluir a próxima tarefa (Como criar peering do BGP em cada Cloud Router), as interfaces serão criadas automaticamente.
gcloud
Para criar interfaces redundantes nos Cloud Routers, use o
comando gcloud compute routers add-interface
.
Conclua as etapas a seguir duas vezes, uma para cloud-router-a
e
outra para cloud-router-b
:
Para cada Cloud Router, crie a primeira interface:
gcloud compute routers add-interface ROUTER_NAME \ --interface-name=FIRST_INTERFACE_NAME \ --ip-address=FIRST_INTERFACE_IP_ADDRESS \ --subnetwork=SUBNET \ --region=REGION \ --project=PROJECT_ID
Substitua:
ROUTER_NAME
: o nome do Cloud Router que será atualizado. Por exemplo,cloud-router-a
oucloud-router-b
.FIRST_INTERFACE_NAME
: o nome da interface. Por exemplo,interface-1
.FIRST_INTERFACE_IP_ADDRESS
: o endereço IP interno RFC 1918 que será usado para a primeira interface. Se você não especificar um valor, o Google tentará encontrar um endereço gratuito no intervalo de endereços IP principal da sub-rede.SUBNET
: a sub-rede que contém a interface do Cloud Router e a interface da instância do dispositivo roteador correspondente.REGION
: a região do Google Cloud em que o Cloud Router está. Por exemplo,us-central1
.PROJECT_ID
: o ID do projeto para o Cloud Router. Por exemplo,my-project
.
Para cada Cloud Router, crie a segunda interface:
gcloud compute routers add-interface ROUTER_NAME \ --interface-name=SECOND_INTERFACE_NAME \ --ip-address=SECOND_INTERFACE_IP_ADDRESS \ --subnetwork=SUBNET \ --redundant-interface=FIRST_INTERFACE_NAME \ --region=REGION \ --project=PROJECT_ID
Substitua:
ROUTER_NAME
: o nome do Cloud Router que será atualizado. Por exemplo,cloud-router-a
oucloud-router-b
.SECOND_INTERFACE_NAME
: o nome da interface. Por exemplo,interface-2
.SECOND_INTERFACE_IP_ADDRESS
: o endereço IP interno RFC 1918 que será usado para a segunda interface. Se você não especificar um valor, o Google tentará encontrar um endereço gratuito no intervalo de endereços IP principal da sub-rede.SUBNET
: a sub-rede que contém as duas interfaces do Cloud Router e a interface de instância do dispositivo roteador correspondente.FIRST_INTERFACE_NAME
: o nome da interface que você criou na Etapa 1REGION
: a região do Google Cloud em que o Cloud Router está. Por exemplo,us-central1
.PROJECT_ID
: o ID do projeto para o Cloud Router. Por exemplo,my-project
.
Comandos de amostra para
cloud-router-a
O comando a seguir cria a primeira interface em
cloud-router-a
:gcloud compute routers add-interface cloud-router-a \ --interface-name=interface-1 \ --ip-address=10.1.3.14 \ --subnetwork=subnet-a \ --region=us-central1 \ --project=my-project
O comando a seguir cria a segunda interface em
cloud-router-a
:gcloud compute routers add-interface cloud-router-a \ --interface-name=interface-2 \ --ip-address=10.1.3.15 \ --subnetwork=subnet-a \ --redundant-interface=interface-1 \ --region=us-central1 \ --project=my-project
Comandos de amostra para
cloud-router-b
O comando a seguir cria a primeira interface em
cloud-router-b
:gcloud compute routers add-interface cloud-router-b \ --interface-name=interface-1 \ --ip-address=192.168.10.14 \ --subnetwork=subnet-b \ --region=us-central1 \ --project=my-project
O comando a seguir cria a segunda interface em
cloud-router-b
:gcloud compute routers add-interface cloud-router-b \ --interface-name=interface-2 \ --ip-address=192.168.10.15 \ --subnetwork=subnet-b \ --redundant-interface=interface-1 \ --region=us-central1 \ --project=my-project
API
Para criar interfaces redundantes nos Cloud Routers, use o
método compute.routers.patch
.
Use a seguinte solicitação duas vezes: uma para cloud-router-a
e
novamente para cloud-router-b
:
"PATCH https"://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/NAME { "region":"REGION", "interfaces":[ { "name":"FIRST_INTERFACE_NAME", "privateIpAddress:"FIRST_INTERFACE_IP_ADDRESS", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET" }, { "name":"SECOND_INTERFACE_NAME", "privateIpAddress:"SECOND_INTERFACE_IP_ADDRESS", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET", "redundantInterface": "FIRST_INTERFACE_NAME" } ] }
Substitua:
PROJECT_ID
: o ID do projeto para o Cloud Router. Por exemplo,my-project
.REGION
: a região do Google Cloud em que o Cloud Router está. Por exemplo,us-central1
.NAME
: o nome do Cloud Router a ser atualizado, comocloud-router-a
oucloud-router-b
NETWORK
: a rede VPC que contém o Cloud Router, por exemplo,network-a
FIRST_INTERFACE_NAME
: o nome da primeira interface. Por exemplo,interface-1
.FIRST_INTERFACE_IP_ADDRESS
: o endereço IP interno RFC 1918 que será usado para a primeira interface. Se você não especificar um valor, o Google tentará encontrar um endereço gratuito no intervalo de endereços IP principal da sub-rede.SUBNET
: a sub-rede que contém as duas interfaces do Cloud Router e a interface de instância do dispositivo roteador correspondente.SECOND_INTERFACE_NAME
: o nome da segunda interface. Por exemplo,interface-2
.SECOND_INTERFACE_IP_ADDRESS
: o endereço IP interno RFC 1918 que será usado para a segunda interface. Se você não especificar um valor, o Google tentará encontrar um endereço gratuito no intervalo de endereços IP principal da sub-rede.Comandos de amostra para
cloud-router-a
O comando a seguir cria duas interfaces em
cloud-router-a
:"PATCH https"://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/routers/cloud-router-a { "region":"us-central1", "interfaces":[ { "name":"router-appliance-interface-0", "privateIpAddress:"10.1.3.14", "subnetwork": "https://www.googleapis.com/compute/v1/projects/my-project/regions/us-west1/subnetworks/subnet-a" }, { "name":"router-appliance-interface-1", "privateIpAddress:"10.1.3.15", "subnetwork": "https://www.googleapis.com/compute/v1/projects/my-project/regions/us-west1/subnetworks/subnet-a", "redundantInterface": "router-appliance-interface-0" } ] }
Exemplo de comando para
cloud-router-b
O comando a seguir cria duas interfaces em
cloud-router-b
:"PATCH https"://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/routers/cloud-router-b { "region":"us-central1", "interfaces":[ { "name":"router-appliance-interface-0", "privateIpAddress:"192.168.10.14", "subnetwork": "https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/subnetworks/subnet-b" }, { "name":"router-appliance-interface-1", "privateIpAddress:"192.168.10.15", "subnetwork": "https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/subnetworks/subnet-b", "redundantInterface": "router-appliance-interface-0" } ] }
Configurar o peering do BGP no Cloud Router
Para cada interface na instância do dispositivo roteador, crie duas sessões de peering do BGP, uma para a interface de cada Cloud Router. Se você estiver usando os valores da topologia de amostra, faça o seguinte:
Crie duas sessões de peering entre
cloud-router-a
e a interfacenetwork-a
derouter-app-a
.Crie duas sessões de peering entre
cloud-router-b
e a interfacenetwork-b
derouter-app-a
.
Console
Conclua as etapas a seguir duas vezes, uma para spoke-a
e
outra para spoke-b
:
- Acesse a página Network Connectivity Center. Acessar o Network Connectivity Center
- No menu do projeto, selecione um projeto.
- Clique na guia Spokes.
- Na coluna Nome do spoke, selecione um spoke para ver a página
Detalhes do spoke. Por exemplo, selecione
spoke-a
ouspoke-b
.
Na coluna Nome, localize
router-app-a
. Clique no ícone de expansão para exibir os links Configurar sessão do BGP. Clique em um desses links. Em resposta, o sistema exibe o painel Configurar o Cloud Router e as sessões do BGP.
-
Na seção Cloud Router, siga um destes procedimentos:
- Para selecionar um Cloud Router existente, clique em Usar existente. Use o campo Cloud Router para identificar o recurso apropriado e, em seguida, clique em Selecionar e continuar.
- Para criar um Cloud Router na página Centro de conectividade de rede, clique em Criar novo e siga as instruções para criar o Cloud Router. Em seguida, clique em Criar e continuar.
- Em Sessões do BGP, configure as duas sessões do BGP. Conclua
as etapas a seguir duas vezes, uma para cada sessão:
- Clique em Editar sessão do BGP.
- Preencha o formulário inserindo um Nome, um ASN de peering e uma Prioridade de rota anunciada (MED, na sigla em inglês). Clique em Salvar e continuar.
- Clique em Criar.
gcloud
Para criar pares do BGP nos Cloud Routers, use o
comando gcloud compute routers add-bgp-peer
.
Conclua as etapas a seguir duas vezes, uma para cloud-router-a
e
outra para cloud-router-b
:
Crie o primeiro peering do BGP:
gcloud compute routers add-bgp-peer NAME \ --peer-name=PEER_NAME \ --interface=INTERFACE \ --peer-ip-address=PEER_IP_ADDRESS \ --peer-asn=PEER_ASN \ --instance=ROUTER_APPLIANCE \ --instance-zone=ROUTER_APPLIANCE_ZONE \ --region=REGION
Crie o segundo peering do
gcloud compute routers add-bgp-peer NAME \ --peer-name=PEER_NAME \ --interface=INTERFACE \ --peer-ip-address=PEER_IP_ADDRESS \ --peer-asn=PEER_ASN \ --instance=ROUTER_APPLIANCE \ --instance-zone=ROUTER_APPLIANCE_ZONE \ --region=REGION
Substitua:
NAME
: o nome do Cloud Router a ser atualizado, comocloud-router-a
oucloud-router-b
PEER_NAME
: o nome da sessão de peering do BGP a ser estabelecida com a instância do dispositivo do roteador.INTERFACE
: o nome da interface para este peering do BGPSPEER_IP_ADDRESS
: o endereço IP interno do roteador de mesmo nível (a instância do dispositivo roteador), como10.1.3.8
ou192.168.10.3
PEER_ASN
: o número de sistema autônomo (ASN, na sigla em inglês) do BGP para este par do BGP. Esse ASN precisa ser um ASN privado de 16 ou 32 bits, conforme definido na RFC 6996ROUTER_APPLIANCE
: o nome da VM que atua como a instância do dispositivo roteador, comorouter-app-a
ROUTER_APPLIANCE_ZONE
: a zona em que a VM atua como a instância do dispositivo roteador está localizada, comous-central1-a
REGION
: a região onde a VM atua como a instância do dispositivo do roteador está localizada, por exemplo,us-central1
.
Comandos de amostra para
cloud-router-a
Use os comandos a seguir para criar os pares do BGP para
cloud-router-a
:gcloud compute routers add-bgp-peer cloud-router-a \ --peer-name=router-appliance-bgp-peer-router-app-a-0 \ --interface=router-appliance-interface-0 \ --peer-ip-address=10.1.3.8 \ --peer-asn=65001 \ --instance=router-app-a \ --instance-zone=us-central1-a \ --region=us-central1
gcloud compute routers add-bgp-peer cloud-router-a \ --peer-name=router-appliance-bgp-peer-router-app-a-1 \ --interface=router-appliance-interface-1 \ --peer-ip-address=10.1.3.8 \ --peer-asn=65001 \ --instance=router-app-a \ --instance-zone=us-central1-a \ --region=us-central1
Comandos de amostra para
cloud-router-b
Use os comandos a seguir para criar os pares do BGP para
cloud-router-b
:gcloud compute routers add-bgp-peer cloud-router-b \ --peer-name=router-appliance-bgp-peer-router-app-a-0 \ --interface=router-appliance-interface-0 \ --peer-ip-address=192.168.10.3 \ --peer-asn=65001 \ --instance=router-app-a \ --instance-zone=us-central1-a \ --region=us-central1
gcloud compute routers add-bgp-peer cloud-router-b \ --peer-name=router-appliance-bgp-peer-router-app-a-1 \ --interface=router-appliance-interface-1 \ --peer-ip-address=192.168.10.3 \ --peer-asn=65001 \ --instance=router-app-a \ --instance-zone=us-central1-a \ --region=us-central1
API
Para criar pares do BGP em um Cloud Router, use o
método compute.routers.patch
.
Use esse método duas vezes, uma para cloud-router-a
e outra para
cloud-router-b
.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/NAME { "bgpPeers": [ { "name": "PEER_NAME", "interfaceName": "INTERFACE_NAME", "ipAddress": "IP_ADDRESS", "peerIpAddress": "PEER_IP_ADDRESS", "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zone/ROUTER_APPLIANCE_ZONE/instances/ROUTER_APPLIANCE_INSTANCE", "peerAsn": PEER_ASN, } { "name": "PEER_NAME", "interfaceName": "INTERFACE_NAME", "ipAddress": "IP_ADDRESS", "peerIpAddress": "PEER_IP_ADDRESS", "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zone/ROUTER_APPLIANCE_ZONE/instances/ROUTER_APPLIANCE_INSTANCE", "peerAsn": PEER_ASN } ] }
Substitua:
PROJECT_ID
: o ID do projeto para o Cloud Router.REGION
: a região onde a VM atua como a instância do dispositivo do roteador está localizada.NAME
: o nome do Cloud Router a ser atualizado.PEER_NAME
: o nome da sessão de peering do BGP a ser estabelecida com a instância do dispositivo do roteador.INTERFACE_NAME
: o nome da interface do Cloud Router à qual o peering será adicionadoIP_ADDRESS
: o endereço IP interno RFC 1918 do Cloud Router a ser usado para a sessão de peering.PEER_IP_ADDRESS
: o endereço IP interno da VM que atua como uma instância do dispositivo roteador, como10.1.3.8
ou192.168.10.3
ROUTER_APPLIANCE_INSTANCE
: o nome no formato do URL para a VM que atua como a instância do dispositivo do roteador.ROUTER_APPLIANCE_ZONE
: a zona em que a VM atua como a instância do dispositivo do roteador está localizada.PEER_ASN
: o número de sistema autônomo (ASN, na sigla em inglês) do BGP para este par do BGP. Esse ASN precisa ser um ASN privado de 16 ou 32 bits, conforme definido na RFC 6996Comandos de amostra para
cloud-router-a
PATCH https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-west1/routers/cloud-router-a { "bgpPeers": [ { "name": "router-appliance-bgp-peer-router-app-a-0", "interfaceName": "router-appliance-interface-0", "ipAddress": "10.1.3.14", "peerIpAddress": "10.1.3.8", "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-central1-a/instances/router-app-a", "peerAsn": 65001, } { "name": "router-appliance-bgp-peer-router-app-a-1", "interfaceName": "router-appliance-interface-1", "ipAddress": "10.1.3.15", "peerIpAddress": "10.1.3.8", "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-central1-a/instances/router-app-a", "peerAsn": 65001 } ] }
Comandos de amostra para
cloud-router-b
PATCH https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-west1/routers/cloud-router-b { "bgpPeers": [ { "name": "router-appliance-bgp-peer-router-app-a-0", "interfaceName": "router-appliance-interface-0", "ipAddress": "192.168.10.14", "peerIpAddress": "192.168.10.3", "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-central1-a/instances/router-app-a", "peerAsn": 65001, } { "name": "router-appliance-bgp-peer-router-app-a-1", "interfaceName": "router-appliance-interface-1", "ipAddress": "192.168.10.15, "peerIpAddress": "192.168.10.3", "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-central1-a/instances/router-app-a", "peerAsn": 65001 } ] }
Configurar o BGP na instância do dispositivo do roteador
Configure a instância do dispositivo roteador para conectividade do BGP com os dois Cloud Routers. Para fazer isso, consulte a documentação do fornecedor sobre a imagem do dispositivo roteador.
A seguir
- Consulte Excluir instâncias de dispositivo do roteador para aprender a excluí-las.
- Para uma lista de parceiros com soluções integradas à Network Connectivity Center, consulte Parceiros da Network Connectivity Center.
- Saiba mais sobre os recursos que podem ser adicionados a spokes em Spokes.
- Para informações sobre monitoramento e registro do dispositivo Router, consulte Como visualizar registros e métricas.
- Para encontrar soluções de problemas de dispositivo do roteador, consulte Solução de problemas.
- Para informações sobre como interagir com o Network Connectivity Center usando a API ou a CLI gcloud, consulte APIs e referência.