Criar políticas de rota do BGP

Neste guia, descrevemos como criar políticas de rota do BGP no Cloud Router.

É possível criar políticas de rota do BGP para o Cloud Router usando qualquer uma das seguintes opções:

Criar uma política de rota do BGP

  1. Adicione uma política de rota ao Cloud Router:

    gcloud beta compute routers add-route-policy ROUTER_NAME \
        --policy-name=BGP_ROUTE_POLICY_NAME \
        --policy-type=ROUTE_POLICY_TYPE \
        --region=REGION
    

    Substitua:

    • ROUTER_NAME: o nome do Cloud Router
    • BGP_ROUTE_POLICY_NAME: um nome para a política de rota do BGP
    • ROUTE_POLICY_TYPE: o tipo de política a ser adicionada, IMPORT para rotas de entrada ou EXPORT para rotas de saída.
    • REGION: a região onde o Cloud Router está localizado.

    Por exemplo, o comando a seguir adiciona uma política de rota para rotas de entrada ao Cloud Router:

    gcloud beta compute routers add-route-policy ROUTER_NAME \
        --policy-name=BGP_ROUTE_POLICY_NAME \
        --policy-type=IMPORT \
        --region=REGION
    
  2. Para adicionar um termo de política de rota do BGP, execute o seguinte comando:

    gcloud beta compute routers add-route-policy-term ROUTER_NAME \
        --policy-name=BGP_ROUTE_POLICY_NAME \
        --region=REGION \
        --priority=ROUTE_POLICY_PRIORITY \
        --match=ROUTE_POLICY_MATCH_EXPRESSION \
        --actions=ROUTE_POLICY_ACTIONS_EXPRESSION
    

    Substitua:

    • ROUTE_POLICY_PRIORITY: the priority for this policy, such as1`.
    • ROUTE_POLICY_MATCH_EXPRESSION: uma expressão a ser correspondida com essa política de rota
    • ROUTE_POLICY_ACTIONS_EXPRESSION: ações para essa política de rota

    Por exemplo, o comando a seguir cria uma política do BGP para definir o valor do atributo discriminador de várias saídas (MED, na sigla em inglês) do BGP como 12345 para rotas do BGP que não estão incluídas em 192.168.10.0/24 e que correspondem ao conjunto de comunidades do BGP 65000:1 e 65000:2.

    gcloud beta compute routers add-route-policy-term ROUTER_NAME \
        --policy-name=BGP_ROUTE_POLICY_NAME \
        --region=REGION \
        --priority=ROUTE_POLICY_PRIORITY \
        --match='destination != "192.168.10.0/24" && communities.matchesEvery(["65000:1", "65000:2"])' \
        --actions='med.set(12345)'
    

    Substitua ROUTE_POLICY_PRIORITY pela prioridade que você quer para essa política, como 1.

Fazer upload de uma política de rota do BGP

  1. Crie a política de rota do BGP no editor de texto de sua preferência. Use a formatação JSON ou YAML para criar sua política de rota do BGP. O exemplo a seguir usa um arquivo YAML:

    name: BGP_ROUTE_POLICY_NAME
    type: ROUTE_POLICY_TYPE 
    terms:
    - priority: ROUTE_POLICY_PRIORITY
      match:
        expression: >
          ROUTE_POLICY_MATCH_EXPRESSION
      actions:
      - expression: ROUTE_POLICY_ACTIONS_EXPRESSION
    

    Substitua:

    • BGP_ROUTE_POLICY_NAME: um nome para a política de rota do BGP.
    • ROUTE_POLICY_TYPE: o tipo de política de rota do BGP que você está criando. O tipo pode ser um dos seguintes:

      • ROUTE_POLICY_TYPE_IMPORT: políticas de rota do BGP para rotas de entrada.
      • ROUTE_POLICY_TYPE_EXPORT: políticas de rota do BGP para rotas de saída.
    • ROUTE_POLICY_PRIORITY: a prioridade dessa política, como 1.

    • ROUTE_POLICY_MATCH_EXPRESSION: uma expressão a ser correspondida com essa política de rota

    • ROUTE_POLICY_ACTIONS_EXPRESSION: ações para essa política de rota

    Por exemplo, o comando de arquivo YAML a seguir cria uma política do BGP para rotas de entrada que define o valor do atributo discriminador de várias saídas (MED) do BGP como 12345 para rotas do BGP que não estão incluídas em 192.168.10.0/24 e que correspondem ao conjunto de comunidades do BGP 65000:1 e 65000:2.

    # Set the MED value for BGP routes that aren't 192.168.10.0/24 and
    # communities that include (65000:1, 65000:2)
    name: BGP_ROUTE_POLICY_NAME
    type: ROUTE_POLICY_TYPE_IMPORT
    terms:
    - priority: 1
      match:
        expression: >
          destination != '192.168.10.0/24' && communities.matchesEvery(['65000:1', '65000:2'])
      actions:
      - expression: med.set(12345)
    
  2. Faça upload da política de rota do BGP:

    gcloud beta compute routers upload-route-policy ROUTER_NAME \
        --region=REGION \
        --policy-name=BGP_ROUTE_POLICY_NAME \
        --file-name=FILE_NAME \
        --file-format=yaml
    

    Substitua:

    • ROUTER_NAME: o nome do Cloud Router
    • REGION: a região em que o Cloud Router está
    • FILENAME: o nome do arquivo que você está enviando
  3. Aplique as políticas de rota do BGP aos peerings do BGP:

    gcloud beta compute routers update-bgp-peer ROUTER_NAME \
        --region=REGION \
        --peer-name=PEER_NAME \
        --import-policies='IMPORT_POLICIES'
    

    Substitua:

    • PEER_NAME: o nome do peering do BGP a que a política de rota do BGP será aplicada.
    • IMPORT_POLICIES: uma lista separada por vírgulas de políticas de importação. Transmitir uma string vazia remove todas as políticas de importação.

A seguir