Como criar Cloud Routers

Crie um Cloud Router que pode ser usado para trocar rotas dinamicamente entre uma rede de nuvem privada virtual (VPC) e sua rede local. Depois de criar um Cloud Router, você pode estabelecer sessões do BGP entre ele e seu roteador local.

Ao criar um roteador do Cloud, você pode usar as divulgações de rota padrão ou especificar divulgações personalizadas. Por padrão, o Cloud Router divulga sub-redes na região para roteamento dinâmico regional ou todas as sub-redes em uma rede VPC para roteamento dinâmico global.

Com divulgações de rota personalizadas, você escolhe quais rotas o Cloud Router divulga, como endereços IP estáticos externos ou intervalos CIDR específicos.

Para mais informações sobre o modo de roteamento dinâmico ou divulgações de rota personalizadas, consulte Modo de roteamento dinâmico ou Divulgações de rota do BGP na Visão geral do Cloud Router.

Console

  1. No Console do Google Cloud, acesse a página Criar um Cloud Router.

    Acessar "Criar um Cloud Router"

  2. Especifique os detalhes do roteador de nuvem.

    • Nome: o nome do Cloud Router. Esse nome é exibido no console e usado pela ferramenta de linha de comando gcloud para fazer referência ao Cloud Router. Exemplo: my-router
    • Rede VPC: a rede que contém as instâncias que você quer alcançar. Exemplo: my-network
    • Região: região onde o roteador do Cloud Router ficará localizado. O Cloud Router anuncia todas as sub-redes na região em que ele está localizado. Exemplo: asia-east1
    • ASN do Google: o ASN particular (64512 - 65534, 4200000000 - 4294967294) do Cloud Router que você está configurando. Pode ser qualquer ASN privado que você já não esteja usando como um ASN de mesmo nível na mesma região e rede. Exemplo: 65001.
  3. Para especificar divulgações de rota personalizadas, expanda a seção Rotas anunciadas.

    1. Em Rotas, selecione Criar rotas personalizadas.
    2. Escolha se você quer divulgar as sub-redes disponíveis para o Cloud Router. A ativação dessa opção imita o comportamento padrão do Cloud Router.
    3. Selecione Adicionar rota personalizada para adicionar uma rota anunciada e configure-a.
      Seu novo roteador do Cloud Router é exibido na página de listagem do Cloud Router. Selecione-o para visualizar os detalhes e configure uma sessão do BGP.

gcloud

Crie um roteador do Cloud Router na região que contém as instâncias que você quer alcançar.

  • Substitua [ASN_NUMBER]. Use qualquer ASN particular (64512 - 65534, 4200000000 - 4294967294) que ainda não seja usado na rede local.
  • Substitua [NETWORK] pela rede VPC que contém as instâncias que você quer alcançar.
  • Substitua [REGION] pela região em que você quer posicionar o roteador do Cloud Router. O Cloud Router anuncia todas as sub-redes na região em que ele está localizado.
gcloud compute routers create my-router \
    --network [NETWORK] \
    --asn [ASN_NUMBER]
    --region [REGION]

Para criar um Cloud Router com divulgações de rotas personalizadas, defina --advertisement-mode como custom e use as sinalizações --set-advertisement-ranges e --set-advertisement-groups para especificar divulgações de rotas.

O --set-advertisement-ranges aceita uma lista de intervalos CIDR. A sinalização --set-advertisement-groups aceita grupos definidos pelo Google que o Cloud Router divulga dinamicamente. Atualmente, o único valor válido é all_subnets, que divulga sub-redes com base no modo de roteamento dinâmico da rede VPC (semelhante às divulgações padrão).

O exemplo a seguir divulga sub-redes e intervalos de IP personalizados 1.2.3.4 e 6.7.0.0/16:

gcloud compute routers create my-router \
    --network [NETWORK] \
    --asn [ASN_NUMBER] \
    --advertisement-mode custom \
    --set-advertisement-groups all_subnets \
    --set-advertisement-ranges 1.2.3.4,6.7.0.0/16

API

Para criar um Cloud Router, use o método routers.insert.

 POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers
 {
   "bgp": {
     "asn": "ASN_NUMBER"
   },
   "name": "ROUTER-NAME",
   "network": "NETWORK"
 }

Substitua os seguintes valores:

  • PROJECT_ID é o ID do projeto que contém a rede VPC.
  • REGION: a região em que você quer localizar o Cloud Router. O Cloud Router anuncia todas as sub-redes na região em que ele está localizado.
  • ASN_NUMBER: o ASN privado (64512 - 65534, 4200000000 - 4294967294) do Cloud Router que você está configurando. Pode ser qualquer ASN privado que você já não esteja usando como um ASN de mesmo nível na mesma região e rede. Exemplo: 65001. .
  • ROUTER-NAME: o nome do Cloud Router Esse nome é exibido no console e usado pela ferramenta de linha de comando gcloud para fazer referência ao Cloud Router.
  • NETWORK: a rede que contém as instâncias que você quer alcançar.

Para criar um Cloud Router com divulgações de rotas personalizadas, defina o campo bgp.advertiseMode como CUSTOM e use os campos bgp.advertisedGroups[] e bgp.advertisedIpRanges[] para especificar divulgações de rotas.

O campo bgp.advertisedIpRanges[] aceita uma matriz de intervalos CIDR. O campo bgp.advertisedGroups[] aceita grupos definidos pelo Google que o Cloud Router divulga dinamicamente. Atualmente, o único valor válido é ALL_SUBNETS, que divulga sub-redes com base no modo de roteamento dinâmico da rede VPC (semelhante às divulgações padrão).

O exemplo a seguir divulga sub-redes e os intervalos de endereços IP personalizados 1.2.3.4 e 6.7.0.0/16:

 POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers
 {
   "bgp": {
     "asn": "ASN_NUMBER",
     "advertiseMode": "CUSTOM",
     "advertisedGroups": [
       "ALL_SUBNETS"
     ],
     "advertisedIpRanges": [
       {
         "range": "1.2.3.4",
         "description": "First example range"
       },
       {
         "range": "6.7.0.0/16",
         "description": "Second example range"
       }
     ]
   },
   "name": "ROUTER-NAME",
   "network": "NETWORK"
 }

Terraform

É possível criar um Cloud Router usando um módulo do Terraform.

module "cloud_router" {
  source  = "terraform-google-modules/cloud-router/google"
  version = "~> 0.4"

  name   = "my-router"
  region = "us-central1"

  bgp = {
    # The ASN (16550, 64512 - 65534, 4200000000 - 4294967294) can be any private ASN
    # not already used as a peer ASN in the same region and network or 16550 for Partner Interconnect.
    asn = "65001"
  }

  # project = "my-project-id"
  project = var.project
  # network = "my-network"
  network = var.network
}

A seguir