O dispositivo roteador é um dos vários tipos de spoke compatíveis com o Network Connectivity Center. Veja nesta página como criar e configurar uma instância do dispositivo roteador. Conforme a abordagem escolhida, algumas partes do processo podem ser automatizadas. No entanto, todas as tarefas necessárias precisam ser concluídas antes de estabelecer a conectividade usando um spoke de dispositivo roteador.
As tarefas necessárias incluem:
Crie a VM que você quer usar como 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 garantir essa acessibilidade, talvez seja necessário criar uma regra de firewall.
Crie um spoke que use a instância do seu roteador.
Configure um Cloud Router. Esta tarefa inclui as seguintes subtarefas:
Crie um Cloud Router na mesma região que a instância do dispositivo roteador.
Criar duas interfaces no Cloud Router.
Configurar o peering do BGP no 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ê.
O Network Connectivity Center permite implementar uma arquitetura hub e spoke para o gerenciamento da conectividade de rede no Google Cloud. Saiba mais na Visão geral do Network Connectivity Center.
Exemplo de configuração
Veja nesta página como definir um exemplo de configuração site a nuvem. Nesta configuração, duas instâncias do dispositivo roteador fornecem conectividade entre uma rede de nuvem privada virtual (VPC, na sigla em inglês) e uma rede local. O Network Connectivity Center usa o roteamento de vários caminhos de custo igual (ECMP, na sigla em inglês) para balancear a carga do tráfego nas instâncias do dispositivo roteador. Ele usa o Border Gateway Protocol (BGP) para distribuir rotas entre as redes.
A configuração de amostra coloca as instâncias do dispositivo roteador na mesma sub-rede. No entanto, cada instância do dispositivo roteador está em uma zona diferente.
Cada instância do dispositivo roteador mantém as sessões do BGP com o mesmo Cloud Router. Esse Cloud Router tem duas interfaces. Cada instância do dispositivo roteador faz peering com cada uma dessas interfaces, totalizando quatro sessões de peering.
Essa topologia não exemplifica a transferência de dados site a site. No entanto, as instruções para configurar essa topologia são quase idênticas às que você usaria para metade de uma topologia de transferência de dados site a site. As exceções estão explicadas nas instruções. Saiba mais sobre a transferência de dados site a site na Visão geral do roteador Router.
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.
-
Make sure that billing is enabled for your Google Cloud project.
- 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.
-
Make sure that billing is enabled for your Google Cloud project.
- 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.
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 um endereço IP interno estático.
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
As seções a seguir descrevem como criar uma rede e uma sub-rede VPC.
Crie uma rede VPC
Se ainda não tiver feito isso, crie uma rede VPC. Defina
o
modo de roteamento dinâmico da rede como global
.
Para mais informações sobre como criar redes VPC, consulte 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 sua
rede network-a
.
gcloud
Para criar uma rede VPC personalizada, use o
comando gcloud compute networks create
.
gcloud compute networks create NETWORK \ --subnet-mode custom \ --bgp-routing-mode global
Substitua NETWORK
pelo nome da rede VPC. Por exemplo, network-a
.
API
Para criar uma rede VPC personalizada usando a API Compute Engine, consulte Criar e gerenciar redes VPC.
Criar uma sub-rede
Crie uma sub-rede em network-a
para conter as instâncias de VM usadas como instâncias do dispositivo do roteador.
Console
Para adicionar uma sub-rede usando o console do Google Cloud, consulte Como adicionar sub-redes.
Se você quiser seguir as convenções de nomenclatura usadas na configuração de amostra, use os seguintes valores:
- Name:
subnet-a-1
- Região:
us-west1
- Intervalo:
10.0.1.0/24
gcloud
Para criar uma sub-rede VPC, use o
comando gcloud compute networks subnets create
.
gcloud compute networks subnets create SUBNET \ --network=NETWORK \ --region=REGION \ --range=RANGE
Substitua:
SUBNET
: o nome da sub-rede que contém a VM do dispositivo do roteador. Por exemplo,subnet-a-1
.NETWORK
: a rede que contém a sub-rede, por exemplo,network-a
.REGION
: a região que contém a sub-rede, por exemplo,us-west1
.RANGE
: o intervalo de IP da sub-rede na notação CIDR, por exemplo,10.0.1.0/24
.
API
Para criar uma sub-rede VPC usando a API Compute Engine, consulte Criar e gerenciar redes VPC.
Criar VMs de dispositivo roteador
Criar as VMs do Compute Engine que atuam como instâncias de appliance do roteador. A configuração de
amostra usa duas VMs, router-app-a
e router-app-b
.
Em um nível alto, você cria uma imagem de dispositivo de roteador criando uma VM que usa 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
- Criar, excluir e descontinuar imagens personalizadas
Para informações detalhadas sobre como criar VMs, consulte 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 e instâncias do dispositivo roteador.
Console
Para criar as duas VMs mostradas na configuração de amostra, consulte 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:
- Nome:
router-app-a
ourouter-app-b
- Região:
us-west1
- Zona:
us-west1-a
ouus-west1-b
- Nome:
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, selecione Adicionar uma interface de rede e
preencha os seguintes campos:
- Selecione a Sub-rede em que você quer localizar a instância do dispositivo do roteador, por exemplo,
subnet-a-1
. - Em IP interno primário, selecione o endereço IP interno RFC 1918 reservado que você quer usar, por exemplo,
10.0.1.10
. - 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 do roteador, por exemplo,
gcloud
Para criar as duas VMs do dispositivo de roteador mostradas na configuração de amostra,
use o
comando gcloud compute instances create
.
Use o comando duas vezes, uma vez para criar router-app-a
e novamente para criar
router-app-b
.
O snippet de amostra a seguir atribui à VM um endereço IP interno estático e um endereço IP externo estático. Ele também especifica uma imagem fornecida pelo fornecedor para usar na VM.
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 mostradas na configuração de amostra,
use o
método compute.instances.insert
.
Use o método duas vezes: uma para criar router-app-a
e outra para
router-app-b
.
O snippet de amostra a seguir atribui à VM um endereço IP interno estático e um endereço IP externo estático. Ele também especifica uma imagem fornecida pelo fornecedor para usar na 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 uma regra de firewall que permita o tráfego do BGP para network-a
na porta TCP 179
.
Crie também regras de firewall específicas para permitir que o tráfego flua para o dispositivo virtual de rede (NVA).
Para mais informações sobre os comandos de firewall, consulte Usar regras de firewall da VPC.
Console
Para criar uma regra de firewall da VPC usando o console do Google Cloud, consulte Usar regras de firewall da VPC.
gcloud
Saiba como criar uma regra de firewall da VPC usando a Google Cloud CLI em Usar regras de firewall da VPC.
API
Para criar uma regra de firewall VPC usando a API Compute Engine, consulte Usar regras de firewall VPC.
Criar recursos do Network Connectivity Center
Antes de usar uma VM de dispositivo roteador, você precisa criar os recursos necessários do Network Connectivity Center, incluindo um spoke de roteador.
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 um spoke de dispositivo roteador
Crie um spoke de dispositivo do roteador que use as duas instâncias do appliance do roteador que você acabou de criar. 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. Acessar o Network Connectivity Center
- No menu do projeto, selecione um projeto do Google Cloud.
- Clique na guia Spokes.
- Clique em Add spokes.
- No formulário Novo spoke, defina o Tipo de spoke.
- Insira um Nome de spoke e, opcionalmente, uma Descrição.
- Selecione o campo Região para o novo spoke.
- Em Transferência de dados site a site, selecione Ativado ou Desativado. Se a região selecionada não oferecer suporte para a transferência de dados, o campo será desativado. Saiba mais sobre esse caso de uso na Visão geral da transferência de dados site a site.
- Na lista Rede VPC, selecione uma rede. Se você tiver mais de um spoke que use o recurso de transferência de dados, todos esses spokes deverão estar na mesma rede VPC. Portanto, se você já tiver criado um spoke que usa a transferência de dados, o valor da Rede VPC será preenchido automaticamente e não poderá ser alterado.
Inserir detalhes do dispositivo de roteador
- Defina o Spoke type como Router Appliance.
- Selecione a Região do spoke.
- Escolha uma instância do roteador:
- Clique em Adicionar instância.
- No menu Instâncias, selecione uma instância de dispositivo de roteador existente.
- Para adicionar mais instâncias do dispositivo de roteador a este spoke, repita a etapa anterior. Quando terminar, clique em Concluído e continue para Salvar o spoke.
Salvar o spoke
- Se quiser adicionar mais spokes, clique em Adicionar spoke e comece o processo novamente, primeiramente inserindo um Nome do spoke.
- Quando terminar de adicionar os spokes, clique em Criar. A página Network Connectivity Center é atualizada para mostrar detalhes sobre os spokes que você criou.
gcloud
Para criar um spoke do dispositivo roteador, use o
comando gcloud network-connectivity spokes linked-router-appliances create
.
O snippet de amostra a seguir cria um spoke com duas instâncias de
appliance do roteador. Neste exemplo, o spoke não usa o
recurso de transferência de dados site a site. Para ativar a transferência de dados, adicione mais uma
sinalização: --site-to-site-data-transfer
.
gcloud network-connectivity spokes linked-router-appliances create NAME \ --hub="HUB_NAME" \ --description="DESCRIPTION" \ --router-appliance=instance="ROUTER_APPLIANCE_URI",ip=IP_ADDRESS \ --router-appliance=instance="ROUTER_APPLIANCE_URI_2",ip=IP_ADDRESS_2 \ --region=REGION \ --labels="KEY"="VALUE"
Substitua os seguintes valores:
NAME
: o nome do spokeHUB_NAME
: o nome do hub ao qual você está anexando o spokeDESCRIPTION
: texto opcional que descreve o spoke. Por exemplo:us-vpn-spoke
ROUTER_APPLIANCE_URI
: o nome da instância do roteador de roteador. Por exemplo,https://www.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
IP_ADDRESS
: o endereço IP interno da primeira instância do appliance de roteadorROUTER_APPLIANCE_URI_2
: o URI da segunda instância do appliance do roteadorIP_ADDRESS_2
: o endereço IP interno da segunda instância do appliance de roteadorREGION
: a região do Google Cloud em que você quer localizar o spoke, por exemplo,us-west1
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 appliance que usa
router-app-a
erouter-app-b
como recursos subjacentes:gcloud network-connectivity spokes linked-router-appliances create my-spoke \ --hub=my-hub \ --description="Test spoke 1" \ --router-appliance=instance="https://www.googleapis.com/compute/v1/projects/my-project/zones/us-west1-a/instances/router-app-a",ip=10.0.1.10 \ --router-appliance=instance="https://www.googleapis.com/compute/v1/projects/my-project/zones/us-west1-b/instances/router-app-b",ip=10.0.1.11 \ --region=us-west1 \ --labels="environment"="test"
Para criar o mesmo spoke, mas ativar a transferência de dados, use este comando:
gcloud network-connectivity spokes linked-router-appliances create my-spoke \ --hub=my-hub \ --description="Test spoke 1" \ --router-appliance=instance="https://www.googleapis.com/compute/v1/projects/my-project/zones/us-west1-a/instances/router-app-a",ip=10.0.1.10 \ --router-appliance=instance="https://www.googleapis.com/compute/v1/projects/my-project/zones/us-west1-b/instances/router-app-b",ip=10.0.1.11 \ --region=us-west1 \ --labels="environment"="test" --site-to-site-data-transfer
API
Para criar um spoke do dispositivo roteador, use o
método networkconnectivity.spokes.create
.
O snippet de amostra a seguir cria um spoke com duas
instâncias do dispositivo roteador.
Cada instância está incluída na 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, }, { "virtualMachine": "ROUTER_APPLIANCE_URI_2, "ipAddress": INTERNAL_IP_ADDRESS_2, } ], "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 roteador de roteador. Por exemplo,https://www.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
IP_ADDRESS
: o endereço IP interno da primeira instância do appliance de roteadorROUTER_APPLIANCE_URI_2
: o URI da segunda instância do appliance do roteadorIP_ADDRESS_2
: o endereço IP interno da segunda instância do appliance de roteadorBOOLEAN
: um valor que determina se a transferência de dados site a site está ativada para esse spoke.Por exemplo, para criar um spoke que usa
router-app-a
erouter-app-b
como seus recursos subjacentes, o corpo da sua solicitação deve 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-west1-a/instances/router-app-a", "ipAddress": "10.0.1.10", }, { "virtualMachine": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-west1-b/instances/router-app-b", "ipAddress": "10.0.1.11", } ], "siteToSiteDataTransfer": true } }
Configurar um Cloud Router
O appliance do Cloud Router usa um Cloud Router para trocar rotas com sua rede VPC. Por isso, é preciso criar um Cloud Router e concluir algumas outras tarefas de configuração.
Criar um Cloud Router
Crie o recurso na mesma rede e região na qual a VM do roteador
está. Na configuração de amostra, esses recursos são network-a
e us-west1
.
Para mais informações, consulte Criar um Cloud Router.
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 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. Por exemplo,cloud-router-a
.REGION
: a região que contém o Cloud Router. Por exemplo,us-west1
.NETWORK
: a rede VPC que contém o Cloud Router. Por exemplo,network-a
.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-west1
.NAME
: o nome do Cloud Router. Por exemplo,cloud-router-a
.NETWORK
: o URI da rede VPC que contém o Cloud Router. Por exemplo,/global/networks/network-a
.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 redundantes no Cloud Router
Crie duas interfaces redundantes do Cloud Router que, na configuração de amostra, estejam associadas a subnet-a-1
.
A interface do Cloud Router usa um endereço IP interno regional.
Se você especificar o endereço IP interno da interface, o endereço IP precisará pertencer ao intervalo de endereços IP primário da sub-rede. Ele não pode estar sendo usado por outro recurso, como uma VM ou uma interface diferente do Cloud Router. Para reservar um endereço IP da sub-rede com antecedência, crie um recurso de endereço e use o endereço IP reservado para a interface do Cloud Router.
Não há instruções do console do Google Cloud para esta etapa, porque ao criar um peering do BGP usando o console do Google Cloud, as interfaces são criadas automaticamente.
gcloud
Para criar as duas interfaces redundantes do Cloud Router mostradas na
configuração da amostra, use o
comando gcloud compute routers add-interface
.
Use o comando duas vezes: uma vez para criar router-appliance-interface-0
e
novamente para criar router-appliance-interface-1
.
Se você não especificar a opção --ip-address
, o Google tentará encontrar um endereço IP gratuito do intervalo de IP principal da sub-rede para ser atribuído à interface.
Crie a primeira interface do Cloud Router:
gcloud compute routers add-interface NAME \ --interface-name=INTERFACE_NAME \ --ip-address=IP_ADDRESS \ --subnetwork=SUBNET \ --region=REGION \ --project=PROJECT_ID
Crie a interface redundante do Cloud Router:
gcloud compute routers add-interface NAME \ --interface-name=INTERFACE_2_NAME \ --ip-address=IP_ADDRESS \ --subnetwork=SUBNET \ --redundant-interface=INTERFACE_NAME \ --region=REGION \ --project=PROJECT_ID
Substitua:
NAME
: o nome do Cloud Router a ser atualizado. Por exemplo,cloud-router-a
.INTERFACE_NAME
: o nome da interface. Por exemplo,router-appliance-interface-0
.IP_ADDRESS
: o endereço IP interno RFC 1918 a ser usado para a interface, por exemplo,10.0.1.5
ou10.0.1.6
.SUBNET
: a sub-rede que inclui o endereço IP interno, por exemplo,subnet-a-1
INTERFACE_2_NAME
: a interface redundante do Cloud Router que faz peering com a mesma instância do dispositivo do roteador da interface principal. Por exemplo,router-appliance-interface-1
REGION
: a região do Google Cloud em que o Cloud Router está. Por exemplo,us-west1
.PROJECT_ID
: o ID do projeto para o Cloud Router. Por exemplo,my-project
.
O comando a seguir cria a primeira interface no Cloud Router, conforme descrito na configuração de amostra:
gcloud compute routers add-interface cloud-router-a \ --interface-name=router-appliance-interface-0 \ --ip-address=10.0.1.5 \ --subnetwork=subnet-a-1 \ --region=us-west1 \ --project=my-project
O comando a seguir cria as interfaces redundantes no Cloud Router, conforme descrito na configuração de amostra:
gcloud compute routers add-interface cloud-router-a \ --interface-name=router-appliance-interface-1 \ --ip-address=10.0.1.6 \ --subnetwork=subnet-a-1 \ --redundant-interface=router-appliance-interface-0 \ --region=us-west1 \ --project=my-project
API
Para criar as duas interfaces redundantes do Cloud Router mostradas na
configuração da amostra, use o
método compute.routers.patch
.
Use o método duas vezes, uma vez para criar router-appliance-interface-0
e
novamente para criar router-appliance-interface-1
.
Se você não especificar a opção privateIpAddress
, o Google tentará encontrar um endereço IP gratuito do intervalo de IP principal da sub-rede para ser atribuído à interface.
Crie a primeira interface do Cloud Router:
"PATCH https"://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/NAME { "region":"REGION", "interfaces":[ { "name":"INTERFACE_NAME", "privateIpAddress:"IP_ADDRESS", "subnetwork": "https":"//www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET" } ] }
Crie a interface redundante do Cloud Router:
"PATCH https"://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/NAME { "region":"REGION", "interfaces":[ { "name":"INTERFACE_NAME_1", "privateIpAddress:"IP_ADDRESS", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET" }, { "name":"INTERFACE_NAME_2", "privateIpAddress:"IP_ADDRESS", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET", "redundantInterface": "INTERFACE_NAME_1" } ] }
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-west1
.NAME
: o nome do Cloud Router a ser atualizado. Por exemplo,cloud-router-a
.NETWORK
: a rede VPC que contém o Cloud Router, por exemplo,network-a
INTERFACE_NAME_1
: o nome da interface principal. Por exemplo,router-appliance-interface-0
SUBNET
: o URL da sub-rede que contém o endereço IP interno RFC 1918.IP_ADDRESS
: o endereço IP interno a ser usado para a interface, por exemplo,10.0.1.5
ou10.0.1.6
.INTERFACE_NAME_2
: o nome da interface redundante do Cloud Router, por exemplo,router-appliance-interface-1
O comando a seguir cria a primeira interface em
cloud-router-a
, conforme descrito na configuração de amostra:"PATCH https"://www.googleapis.com/compute/v1/projects/my-project/regions/us-west1/routers/cloud-router-a { "region":"us-west1", "interfaces":[ { "name":"router-appliance-interface-0", "privateIpAddress:"10.0.1.5", "subnetwork": "https://www.googleapis.com/compute/v1/projects/my-project/regions/us-west1/subnetworks/>" } ] }
O comando a seguir cria as interfaces redundantes em
cloud-router-a
, conforme descrito na configuração de amostra:"PATCH https"://www.googleapis.com/compute/v1/projects/my-project/regions/us-west1/routers/cloud-router-a { "region":"us-west1", "interfaces":[ { "name":"router-appliance-interface-0", "privateIpAddress:"10.0.1.5", "subnetwork": "https://www.googleapis.com/compute/v1/projects/my-project/regions/us-west1/subnetworks/subnet-a-1" }, { "name":"router-appliance-interface-0", "privateIpAddress:"10.0.1.6", "subnetwork": "https://www.googleapis.com/compute/v1/projects/my-project/regions/us-west1/subnetworks/subnet-a-1", "redundantInterface": "router-appliance-interface-0" } ] }
Configurar o peering do BGP no Cloud Router
Para cada instância do dispositivo roteador, é necessário criar dois peerings do BGP no Cloud Router, um para cada interface do Cloud Router. O endereço IP de peering do BGP precisa ser o endereço IP interno principal da VM configurada como uma instância do dispositivo roteador.
Crie pares do BGP para router-app-a
Nesta seção, descrevemos como criar dois peerings de BGP para a instância do dispositivo
roteador chamada router-app-a
na configuração da amostra. A próxima seção
descreve como criar dois peerings de BGP em router-app-b
.
O exemplo a seguir mostra como configurar router-app-a
como um peering do BGP em ambas as interfaces do Cloud Router cloud-router-a
.
Console
- Acesse a página Network Connectivity Center. Acessar o Network Connectivity Center
- No menu suspenso, selecione um projeto.
- Clique na guia Spokes.
- Na coluna Nome do spoke, selecione um spoke para visualizar a página Detalhes do spoke.
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 no Cloud Router para router-app-a
, use o
comando gcloud compute routers add-bgp-peer
.
Use o comando duas vezes: uma vez para criar o primeiro peering do BGP e novamente para
criar o segundo peering do BGP.
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.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 peering (a instância do dispositivo de roteador). Esse endereço precisa corresponder ao endereço IP interno principal da interface de rede principal da VM (nic0
)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 atuando 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.REGION
: a região onde a VM atua como a instância do dispositivo do roteador está localizada.
Os snippets de amostra a seguir mostram como criar os dois pares para
router-app-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.0.1.10 \ --peer-asn=65001 \ --instance=router-app-a \ --instance-zone=us-west1-a \ --region=us-west1
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.0.1.10 \ --peer-asn=65001 \ --instance=router-app-a \ --instance-zone=us-west1-a \ --region=us-west1
API
Para criar dois pares do BGP no Cloud Router para router-app-a
, use o
método compute.routers.patch
.
Use o método duas vezes: uma para criar o primeiro peering do BGP e novamente para
criar o segundo peering do BGP.
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 a ser usado para a interface do Cloud Router.PEER_IP_ADDRESS
: o endereço IP interno da VM que atua como uma instância de dispositivo do roteador.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 6996
Os snippets de amostra a seguir mostram como criar os dois pares para
router-app-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.0.1.5", "peerIpAddress": "10.0.1.10", "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-west1-a/instances/router-app-a", "peerAsn": 65001, } { "name": "router-appliance-bgp-peer-router-app-a-1", "interfaceName": "router-appliance-interface-1", "ipAddress": "10.0.1.6", "peerIpAddress": "10.0.1.10", "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-west1-a/instances/router-app-a", "peerAsn": 65001 } ] }
Crie pares do BGP para router-app-b
Conforme descrito anteriormente, o Cloud Router pode estabelecer sessões do BGP para várias VMs configuradas como instâncias de dispositivo do roteador. Todas essas VMs precisam estar na mesma região. Para gerar essa configuração, crie sessões de peering do BGP adicionais nas mesmas interfaces do Cloud Router.
A seção anterior descreve como configurar o peering do BGP para router-app-a
.
Nesta seção, você verá como configurar router-app-b
como
um peering do BGP em ambas as interfaces do Cloud Router cloud-router-a
.
Console
- Acesse a página Network Connectivity Center. Acessar o Network Connectivity Center
- No menu suspenso, selecione um projeto.
- Clique na guia Spokes.
- Na coluna Nome do spoke, selecione um spoke para visualizar a página Detalhes do spoke.
- Na coluna Nome, localize
router-app-b
. 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 dois pares do BGP no Cloud Router para router-app-b
, use o
método gcloud compute routers add-bgp-peer
.
Use o comando duas vezes: uma vez para criar o primeiro peering do BGP e novamente para
criar o segundo peering do BGP.
Exemplo de configuração para o primeiro peering do BGP:
gcloud compute routers add-bgp-peer cloud-router-a \ --peer-name=router-appliance-bgp-peer-router-app-b-0 \ --interface=router-appliance-interface-0 \ --peer-ip-address=10.0.1.11 \ --peer-asn=65002 \ --instance=router-app-b \ --instance-zone=us-west1-b \ --region=us-west1
Exemplo de configuração para o segundo peering do BGP:
gcloud compute routers add-bgp-peer cloud-router-a \ --peer-name=router-appliance-bgp-peer-router-app-b-1 \ --interface=router-appliance-interface-1 \ --peer-ip-address=10.0.1.11 \ --peer-asn=65002 \ --instance=router-app-b \ --instance-zone=us-west1-b \ --region=us-west1
API
Para criar dois pares do BGP no Cloud Router para router-app-b
, use o
método compute.routers.patch
.
Use o método duas vezes: uma vez para criar o primeiro peering do BGP e
novamente para criar o segundo peering do BGP.
PATCH https://compute.googleaps.com/compute/v1/projects/my-project/regions/us-west1/routers/cloud-router-a { "bgpPeers": [ { "name": "router-appliance-bgp-peer-router-app-b-0", "interfaceName": "router-appliance-interface-0", "ipAddress": "10.0.1.5", "peerIpAddress": "10.0.1.11", "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-west1-b/instances/router-app-b", "peerAsn": 65002, } { "name": "router-appliance-bgp-peer-router-app-b-1", "interfaceName": "router-appliance-interface-1", "ipAddress": "10.0.1.6", "peerIpAddress": "10.0.1.11", "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-west1-b/instances/router-app-b", "peerAsn": 65002 } ] }
Configurar o BGP na instância do dispositivo do roteador
Para configurar a instância do dispositivo de roteador para conectividade do BGP com o Cloud Router, consulte a documentação do fornecedor da imagem do dispositivo do roteador.
Usar rotas aprendidas personalizadas
Também é possível configurar a instância do dispositivo roteador para usar rotas aprendidas personalizadas. Quando você configura rotas aprendidas personalizadas, o Cloud Router se comporta como se tivesse aprendido as rotas do par BGP (a instância do dispositivo roteador).
Para usar rotas aprendidas personalizadas, siga estas etapas:
Faça login no seu dispositivo. Para cada rota personalizada que você quiser especificar, configure uma rota estática para esse prefixo IP com o próximo salto definido para a rede externa. Essa etapa é necessária porque a instância do dispositivo roteador precisa saber como encaminhar o tráfego que usa a rota personalizada aprendida.
Atualize a sessão do BGP no Cloud Router para usar as rotas aprendidas. Siga as etapas descritas em Atualizar uma sessão para usar rotas aprendidas personalizadas.
Usar a autenticação MD5
Se a imagem do dispositivo roteador que você está usando for compatível com a autenticação MD5, será possível adicionar a autenticação às sessões de peering do BGP. Para mais informações sobre o uso da autenticação MD5 com o Cloud Router, consulte Usar a autenticação MD5.
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.
- 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 ver detalhes sobre a API e a CLI gcloud, consulte APIs e referência.