Anunciar sub-redes VPC específicas

É possível criar rotas divulgadas personalizadas para limitar as sub-redes na rede de nuvem privada virtual (VPC) que o Cloud Router divulga. As sub-redes que você divulga são as únicas visíveis para os clientes locais. O Cloud Router não anuncia dinamicamente novas sub-redes, a menos que você configure o Cloud Router para anunciar todas as sub-redes. Se você optar por anunciar apenas sub-redes específicas e quiser anunciar novas sub-redes, adicione-as como rotas divulgadas personalizadas.

Para sessões do BGP ativadas para IPv6, é possível configurar divulgações de rota personalizadas para intervalos de sub-redes IPv6 internos (ULA) e externos (GUA) específicos. Para informações sobre os tipos de sub-rede IPv6, consulte Intervalos de sub-rede IPv6.

Para especificar rotas divulgadas personalizadas ao criar um Cloud Router ou configurar uma sessão do BGP, consulte Criar Cloud Routers ou Estabelecer sessões do BGP.

Especificar rotas divulgadas personalizadas em um Cloud Router

Para especificar rotas divulgadas personalizadas em um Cloud Router 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. Se a caixa de seleção Divulgar todas as sub-redes visíveis para o Cloud Router estiver marcada, desmarque-a.

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

  7. Configure a rota divulgada personalizada:

    • Origem: selecione uma lista predefinida de sub-redes. O Cloud Router lista todas as sub-redes disponíveis, o que depende do modo de roteamento dinâmico da rede VPC.
    • Intervalo de endereços IP: você pode modificar o intervalo de IP da sub-rede divulgada. Por exemplo, é possível especificar um intervalo mais limitado para que o Cloud Router divulgue parte da sub-rede. É possível especificar os intervalos de IP personalizados IPv4 e IPv6. No entanto, os intervalos personalizados IPv6 são anunciados apenas em sessões do BGP em que o IPv6 está ativado.
    • Descrição: adicione uma descrição para ajudar a identificar o propósito dessa rota anunciada personalizada e clique em Concluído.
  8. Depois de terminar de adicionar as rotas personalizadas, clique em Salvar.

gcloud

Antes de começar, grave os intervalos de IP das sub-redes a serem anunciadas.

Execute o comando update. Para especificar os intervalos de IP da sub-rede para divulgação, use a sinalização --set-advertisement-ranges. Para anexar intervalos de IP a divulgações atuais, use a sinalização --add-advertisement-ranges.

  1. Use a flag --set-advertisement-ranges. todas as rotas divulgadas personalizadas existentes serão substituídas:

    gcloud compute routers update ROUTER_NAME \
       --advertisement-mode custom \
       --set-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. É possível especificar os intervalos de IP personalizados IPv4 e IPv6. No entanto, os intervalos personalizados IPv6 são anunciados apenas em sessões do BGP em que o IPv6 está ativado.

    O exemplo a seguir atualiza o Cloud Router my-router para divulgar as sub-redes 10.0.0.0/24 e 10.0.10.0/24. as rotas divulgadas personalizadas atuais são substituídas:

    gcloud compute routers update my-router \
       --advertisement-mode custom \
       --set-advertisement-ranges 10.0.0.0/24,10.0.10.0/24
    

    O exemplo a seguir atualiza o Cloud Router my-router para anunciar as sub-redes IPv4 10.0.0.0/24 e 10.0.10.0/24, além da sub-rede IPv6 2001:db8:abcd:12::/64:

    gcloud compute routers update my-router \
       --advertisement-mode custom \
       --set-advertisement-ranges 10.0.0.0/24,10.0.10.0/24,2001:db8:abcd:12::/64
    

    O Cloud Router anuncia intervalos IPv6 apenas em sessões do BGP que estão ativadas para IPv6.

  2. O exemplo a seguir usa a sinalização --add-advertisement-ranges para anexar intervalos de IP a uma divulgação atual:

    gcloud compute routers update my-router \
       --add-advertisement-ranges 10.0.20.0/24
    

    O exemplo a seguir adiciona o intervalo IPv6 personalizado do 2001:db8:abcd:12::/64 às divulgações do Cloud Router:

    gcloud compute routers update my-router \
       --add-advertisement-ranges 2001:db8:abcd:12::/64
    

    O Cloud Router anuncia intervalos IPv6 somente em sessões do BGP que estão ativadas para IPv6.

Se o grupo de divulgação do seu Cloud Router incluir todas as sub-redes, remova-o para evitar que o Cloud Router divulgue outras sub-redes. Grupos de divulgação são intervalos de IP definidos pelo Google que o Cloud Router divulga dinamicamente. 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.

  1. O exemplo a seguir usa o comando describe para verificar as rotas divulgadas do Cloud Router:

    gcloud compute routers describe my-router
    
  2. Se a saída contiver o campo advertisedGroups com o valor all_subnets, remova-o. O exemplo a seguir usa o comando update com a sinalização --remove-advertisement-groups:

    gcloud compute routers update my-router \
       --remove-advertisement-groups all_subnets
    

API

Use o método routers.patch para atualizar o campo bgp.advertisedIpRanges[]. Também pode ser necessário atualizar o campo bgp.advertisedGroups[] se ele tiver um valor de ALL_SUBNETS no momento.

Os campos bgp.advertisedGroups[] e bgp.advertisedIpRanges[] aceitam 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 IP anunciados no roteador. Para detalhes, consulte Como visualizar o status e as rotas do Cloud Router.

  2. Envie uma solicitação PATCH com novas matrizes de grupos divulgados e intervalos de endereços IP anunciados.

    • Adicione no campo bgp.advertisedIpRanges[] todos os intervalos de endereços IP de sub-rede que você quer no roteador.
    • Se o campo advertisedGroups[] especificar atualmente o valor ALL_SUBNETS, remova-o enviando uma matriz vazia, conforme mostrado no exemplo a seguir. Isso impede que o Cloud Router divulgue outras sub-redes.
    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
      "bgp": {
        "advertisedGroups": [],
        "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_IP_RANGES: o conteúdo da nova matriz de intervalos de endereços IP. É possível especificar intervalos de endereços IP personalizados IPv6, além de intervalos de endereços IPv4. No entanto, os intervalos IPv6 só serão anunciados se você ativar a troca do IPv6 para essa sessão do BGP.

    O exemplo a seguir contém dois intervalos de endereço IPv4 de sub-rede e um intervalo de endereço IPv6:

        {
          "range": "10.0.0.0/24",
          "description": "First example range"
        },
        {
          "range": "10.0.10.0/24",
          "description": "Second example range"
        },
        {
          "range": "2001:db8:abcd:12::/64",
          "description: "Third example range"
        }
    

Especificar rotas anunciadas personalizadas para uma sessão do BGP

Para especificar rotas anunciadas personalizadas para 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 de detalhes da sessão do BGP, clique em Editar.

  5. Em Rotas, selecione Criar rotas personalizadas.

  6. Se a caixa de seleção Divulgar todas as sub-redes visíveis para o Cloud Router estiver marcada, desmarque-a.

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

  8. Configure a rota divulgada personalizada:

    • Origem: selecione uma lista predefinida de sub-redes. O Cloud Router lista todas as sub-redes disponíveis, o que depende do modo de roteamento dinâmico da rede VPC.
    • Intervalo de endereços IP: você pode modificar o intervalo de IP da sub-rede divulgada. Por exemplo, é possível especificar um intervalo mais limitado para que o Cloud Router divulgue parte da sub-rede. É possível especificar intervalos de endereços IP personalizados IPv6, além de intervalos de endereços IPv4. No entanto, os intervalos IPv6 só serão anunciados se você ativar a troca do IPv6 para essa sessão do BGP.
    • Descrição: adicione uma descrição para ajudar a identificar o propósito dessa rota anunciada personalizada e clique em Concluído.
  9. Depois de terminar de adicionar as rotas personalizadas, clique em Salvar.

gcloud

Antes de começar, grave os intervalos de IP das sub-redes a serem anunciadas.

Execute o comando update-bgp-peer. Para especificar os intervalos de IP da sub-rede para divulgação, use a sinalização --set-advertisement-ranges. Para anexar intervalos de IP a divulgações atuais, use a sinalização --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-ranges=ADVERTISED_IP_RANGES
    

    Substitua:

    • ROUTER_NAME: o nome do Cloud Router
    • PEER_NAME: o nome do peer do BGP
    • Se quiser, adicione a sinalização --enable-ipv6 se estiver adicionando intervalos IPv6 personalizados.
    • ADVERTISED_IP_RANGES: o conteúdo da nova matriz de intervalos de endereços IP. É possível especificar os intervalos de IP personalizados IPv4 e IPv6. No entanto, os intervalos personalizados IPv6 são anunciados apenas em sessões do BGP em que o IPv6 está ativado.

    O exemplo a seguir atualiza a sessão do BGP my-bgp-session no Cloud Router my-router para divulgar as sub-redes 10.0.0.0/24, 10.0.10.0/24 e 2001:db8:abcd:12::/64. As divulgações personalizadas existentes são substituídas:

    gcloud compute routers update-bgp-peer my-router \
       --peer-name my-bgp-session \
       --enable-ipv6 \
       --advertisement-mode custom \
       --set-advertisement-ranges 10.0.0.0/24,10.0.10.0/24
    
  2. O exemplo a seguir usa a sinalização --add-advertisement-ranges para anexar intervalos de IP a uma divulgação atual:

    gcloud compute routers update-bgp-peer my-router \
       --peer-name my-bgp-session \
       --add-advertisement-ranges 10.0.20.0/24
    

    O exemplo a seguir adiciona o endereço IPv6 personalizado 2001:db8:abcd:12::/64 às rotas divulgadas do Cloud Router:

    gcloud compute routers update-bgp-peer my-router \
        --peer-name my-bgp-session \
        --enable-ipv6 \
        --add-advertisement-ranges 2001:db8:abcd:12::/64
    

Se o grupo de divulgação da sessão do BGP incluir todas as sub-redes, remova-o para evitar que o Cloud Router divulgue outras sub-redes. Grupos de divulgação são intervalos de IP definidos pelo Google que o Cloud Router divulga dinamicamente. 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.

  1. O exemplo a seguir usa o comando describe para verificar as rotas divulgadas do Cloud Router:

    gcloud compute routers describe my-router
    
  2. Se a sessão do BGP relacionada contiver o campo advertisedGroups com o valor all_subnets, remova-o. O exemplo a seguir usa o comando update com a sinalização --remove-advertisement-groups:

    gcloud compute routers update-bgp-peer my-router \
       --peer-name my-bgp-session \
       --remove-advertisement-groups all_subnets
    

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 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 peering do BGP em que você quer adicionar rotas divulgadas personalizadas, faça o seguinte:

    • Adicione todas as divulgações de intervalo de endereços IP de sub-rede que você quer ao campo bgpPeers[].advertisedIpRanges[].
    • Se o campo bgpPeers[].advertisedGroups[] especificar o valor ALL_SUBNETS no momento, remova-o para impedir que a sessão do BGP divulgue outras sub-redes.
    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 rotas divulgadas personalizadas:

        {
          "name": "peer-1",
          "interfaceName": "if-peer-1",
          "ipAddress": "169.254.10.1",
          "peerIpAddress": "169.254.10.2",
          "peerAsn": 64512,
          "enableIpv6": true,
          "advertisedRoutePriority": 100,
          "advertiseMode": "CUSTOM",
          "advertisedGroups": [],
          "advertisedIpRanges": [
            {
              "range": "10.0.0.0/24",
              "description": "First example subnet"
            },
            {
              "range": "10.0.10.0/24",
              "description": "Second example subnet"
            },
            {
              "range": "2001:db8:abcd:12::/64",
              "description: "Third example subnet"
            }
          ]
        },
        {
          "name": "peer-2",
          "interfaceName": "if-peer-2",
          "ipAddress": "169.254.20.1",
          "peerIpAddress": "169.254.20.2",
          "peerAsn": 64513,
          "advertisedRoutePriority": 100,
          "advertiseMode": "CUSTOM",
          "advertisedGroups": [],
          "advertisedIpRanges": [
            {
              "range": "10.0.20.0/24",
              "description": "Fourth example subnet"
            }
          ]
        }
    

A seguir