Como divulgar intervalos de IP personalizados

É possível atualizar as sessões atuais do Cloud Routers ou do BGP em um Cloud Router para divulgar intervalos de IP diferentes dos intervalos de endereço IP de sub-rede da rede privada virtual (VPC). Por exemplo, é possível divulgar endereços IP externos, endereços IP internos arbitrários ou endereços IP internos de intervalos de sub-redes de endereços IP em redes VPC de mesmo nível conectadas pelo VPC Network Peering.

Para especificar divulgações ao criar um Cloud Router ou configurar uma sessão do BGP, consulte Como criar roteadores do Cloud ou Como criar sessões do BGP.

Especificar divulgações em um Cloud Router

Para especificar divulgações em um roteador do Cloud atual, siga estas etapas.

Console

  1. No Console do Google Cloud, acesse a página do Cloud Routers.

    Acesse o Cloud Routers

  2. Selecione o roteador do Cloud a ser atualizado.

  3. Na página Detalhes do Router, clique em Editar.

  4. Na seção Rotas divulgadas, para Rotas, selecione Criar rotas personalizadas.

  5. Selecione a caixa de seleção Divulgar todas as sub-redes visíveis para o Cloud Router para continuar divulgando as sub-redes disponíveis para o Cloud Router. A ativação dessa opção imita o comportamento padrão do Cloud Router.

  6. Selecione Adicionar rota personalizada para adicionar uma rota anunciada.

  7. Configure a divulgação de rota.

    • Origem: selecione Intervalo de IP personalizado.
    • Intervalo de endereços IP: use a notação CIDR para especificar o intervalo de IP personalizado.
    • Descrição: adicione uma descrição para ajudar você a identificar a finalidade dessa divulgação de rotas e clique em Concluído.
  8. Depois de terminar de adicionar as rotas personalizadas, clique em Salvar.

gcloud

Execute o comando update. Para especificar os intervalos de IP personalizados, use a sinalização --set-advertisement-ranges ou --add-advertisement-ranges.

  1. Use a sinalização --set-advertisement-ranges. Todas as divulgações personalizadas existentes serão substituídas:

    gcloud compute routers update ROUTER_NAME \
       --project=PROJECT_ID \
       --advertisement-mode custom \
       --set-advertisement-groups=ADVERTISED_GROUPS \
       --set-advertisement-ranges=ADVERTISED_IP_RANGES
    

    Substitua:

    • ROUTER_NAME: o nome do Cloud Router
    • PROJECT_ID: o projeto que contém o Cloud Router
    • ADVERTISED_GROUPS: um grupo definido pelo Google que o Cloud Router divulga dinamicamente

      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).

    • ADVERTISED_IP_RANGES: o conteúdo da nova matriz de intervalos de endereços IP

    O exemplo a seguir atualiza o Cloud Router my-router para divulgar todas as sub-redes e os intervalos de IP personalizados 1.2.3.4 e 6.7.0.0/16:

    gcloud compute routers update my-router \
       --advertisement-mode custom \
       --set-advertisement-groups all_subnets \
       --set-advertisement-ranges 1.2.3.4,6.7.0.0/16
    

    A sinalização --set-advertisement-groups aceita grupos definidos pelo Google que o Cloud Router divulga dinamicamente. É possível remover a sinalização --set-advertisement-groups para excluir divulgações de sub-rede. Para ver uma lista de todos os grupos de divulgações, consulte a sinalização set-advertisement-groups na documentação do SDK do Google.

  2. Use a sinalização --add-advertisement-ranges, que exige que o modo de divulgação do Cloud Router já esteja configurado como custom:

    gcloud compute routers update ROUTER_NAME \
       --add-advertisement-ranges=ADVERTISED_IP_RANGES
    

    Substitua:

    • ROUTER_NAME: o nome do Cloud Router
    • ADVERTISED_IP_RANGES: o conteúdo da nova matriz de intervalos de endereços IP

    O exemplo a seguir acrescenta o IP personalizado 1.2.3.5 às divulgações do Cloud Router:

    gcloud compute routers update my-router \
       --add-advertisement-ranges 1.2.3.5
    

API

Use o método routers.patch para atualizar os campos bgp.advertisedGroups[] e bgp.advertisedIpRanges[].

Os campos bgp.advertisedGroups[] e bgp.advertisedIpRanges[] armazenam matrizes de grupos anunciados e intervalos de endereços IP anunciados. Quando você PATCH esses campos, você substitui as matrizes atuais pelas novas na sua solicitação.

  1. Envie uma solicitação GET para ver as matrizes atuais de grupos anunciados e intervalos de endereços IP anunciados no roteador. Para detalhes, consulte Como visualizar as configurações da sessão do BGP.

  2. Envie uma solicitação PATCH com novas matrizes de grupos anunciados e intervalos de endereços IP anunciados. Use as matrizes da solicitação GET na etapa anterior e adicione os grupos ou intervalos de endereços IP que você quer no roteador.

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
      "bgp": {
        "advertisedGroups": [
        "ADVERTISED_GROUPS"
       ],
        "advertisedIpRanges": [
        ADVERTISED_IP_RANGES
       ]
     }
    }
    

    Substitua:

    • PROJECT_ID: o projeto que contém o Cloud Router
    • REGION: a região onde o Cloud Router está localizado.
    • ROUTER_NAME: o nome do Cloud Router
    • ADVERTISED_GROUPS: um grupo definido pelo Google que o Cloud Router divulga dinamicamente

      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).

    • ADVERTISED_IP_RANGES: o conteúdo da nova matriz de intervalos de endereços IP

    O exemplo a seguir contém dois intervalos de endereços IP:

        {
          "range": "1.2.3.4",
          "description": "First example range"
        },
        {
          "range": "6.7.0.0/16",
          "description": "Second example range"
        }
    

Especificar divulgações em uma sessão do BGP

Para especificar divulgações em uma sessão do BGP existente, siga estas etapas.

Console

  1. No Console do Google Cloud, acesse a página do Cloud Routers.

    Acesse o Cloud Routers

  2. Selecione o roteador do Cloud Router que contém a sessão do BGP a ser atualizada.

  3. Na página Detalhes do Router, selecione a sessão do BGP a ser atualizada.

  4. Na página detalhes da sessão do BGP, clique em Editar.

  5. Em Rotas, selecione Criar rotas personalizadas.

  6. Selecione a caixa de seleção Divulgar todas as sub-redes visíveis para o Cloud Router para continuar divulgando as sub-redes disponíveis para o Cloud Router. A ativação dessa opção imita o comportamento padrão do Cloud Router.

  7. Selecione Adicionar rota personalizada para adicionar uma rota anunciada.

  8. Configure a divulgação de rota.

    • Origem: selecione Intervalo de IP personalizado.
    • Intervalo de endereços IP: use a notação CIDR para especificar o intervalo de IP personalizado.
    • Descrição: adicione uma descrição para ajudar você a identificar a finalidade dessa divulgação de rotas e clique em Concluído.
  9. Depois de terminar de adicionar as rotas personalizadas, clique em Salvar.

gcloud

Execute o comando update-bgp-peer. Para especificar os intervalos de IP personalizados, use a sinalização --set-advertisement-ranges ou --add-advertisement-ranges.

  1. Use a sinalização --set-advertisement-ranges. Todas as divulgações personalizadas existentes serão substituídas:

    gcloud compute routers update-bgp-peer ROUTER_NAME \
        --peer-name=PEER_NAME \
        --advertisement-mode custom \
        --set-advertisement-groups=ADVERTISED_GROUPS \
        --set-advertisement-ranges=ADVERTISED_IP_RANGES
    

    Substitua:

    • ROUTER_NAME: o nome do Cloud Router
    • PEER_NAME: o nome do peer do BGP
    • ADVERTISED_GROUPS: um grupo definido pelo Google que o Cloud Router divulga dinamicamente

      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).

    • ADVERTISED_IP_RANGES: o conteúdo da nova matriz de intervalos de endereços IP

    O exemplo a seguir atualiza a sessão do BGP my-bgp-session no Cloud Router my-router para divulgar todas as sub-redes e os intervalos de IP personalizados 1.2.3.4 e 6.7.0.0/16:

    gcloud compute routers update-bgp-peer my-router \
        --peer-name my-bgp-session \
        --advertisement-mode custom \
        --set-advertisement-groups all_subnets \
        --set-advertisement-ranges 1.2.3.4,6.7.0.0/16
    

    A sinalização --set-advertisement-groups aceita grupos definidos pelo Google que a sessão do BGP divulga dinamicamente. É possível remover a sinalização --add-advertisement-groups para excluir divulgações de sub-rede. Para ver uma lista de todos os grupos de divulgações, consulte a sinalização set-advertisement-groups na documentação do SDK do Google.

  2. Use a sinalização --add-advertisement-ranges, que exige que o modo de divulgação do Cloud Router já esteja configurado como custom:

    gcloud compute routers update-bgp-peer ROUTER_NAME \
        --peer-name=PEER_NAME \
        --add-advertisement-ranges=ADVERTISED_IP_RANGES
    

    Substitua:

    • ROUTER_NAME: o nome do Cloud Router
    • PEER_NAME: o nome do peer do BGP
    • ADVERTISED_IP_RANGES: o conteúdo da nova matriz de intervalos de endereços IP

    O exemplo a seguir acrescenta o IP personalizado 1.2.3.5 às divulgações do Cloud Router:

    gcloud compute routers update-bgp-peer my-router \
        --peer-name my-bgp-session \
        --add-advertisement-ranges 1.2.3.5
    

API

Use o método routers.patch para atualizar o campo bgpPeers[].

O campo bgpPeers[] aceita uma matriz de pares do BGP. Quando você PATCH esse campo, você substitui a matriz atual de pares do BGP pela nova matriz incluída na solicitação.

  1. Envie uma solicitação GET para receber a matriz atual de pares do BGP para o roteador. Para detalhes, consulte Como visualizar as configurações da sessão do BGP.

  2. Envie uma solicitação PATCH com uma nova matriz de pares do BGP. Para cada peer BGP a que você quer adicionar divulgações, faça o seguinte:

    • Adicione todas as divulgações de intervalo de endereços IP que você quer no campo bgpPeers[].advertisedIpRanges[].
    • Adicione todas as divulgações de grupo que você quer no campo bgpPeers[].advertisedGroups[]. Os valores válidos são ALL_SUBNETS e ALL_VPC_SUBNETS. Para mais informações sobre esses valores, consulte routers.patch na documentação da API.
    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
      "bgpPeers": [
        BGP_PEERS
      ]
    }
    

    Substitua:

    • PROJECT_ID: o projeto que contém o Cloud Router
    • REGION: a região onde o Cloud Router está localizado
    • ROUTER_NAME: o nome do Cloud Router
    • BGP_PEERS: o conteúdo da nova matriz de pares do BGP

    O exemplo a seguir contém dois pares do BGP com divulgações personalizadas:

        {
          "name": "peer-1",
          "interfaceName": "if-peer-1",
          "ipAddress": "169.254.10.1",
          "peerIpAddress": "169.254.10.2",
          "peerAsn": 64512,
          "advertisedRoutePriority": 100,
          "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": "peer-2",
          "interfaceName": "if-peer-2",
          "ipAddress": "169.254.20.1",
          "peerIpAddress": "169.254.20.2",
          "peerAsn": 64513,
          "advertisedRoutePriority": 100,
          "advertiseMode": "CUSTOM",
          "advertisedIpRanges": [
            {
              "range": "192.168.10.0/24",
              "description": "Third example range"
            }
          ]
        }
    

A seguir