BGP 경로 정책 만들기

이 가이드에서는 Cloud Router에서 BGP 경로 정책을 만드는 방법을 설명합니다.

다음 중 하나를 사용하여 Cloud Router에 대해 BGP 경로 정책을 만들 수 있습니다.

BGP 경로 정책 빌드

  1. Cloud Router에 경로 정책을 추가합니다.

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

    다음을 바꿉니다.

    • ROUTER_NAME: Cloud Router의 이름
    • BGP_ROUTE_POLICY_NAME: BGP 경로 정책의 이름
    • ROUTE_POLICY_TYPE: 추가할 정책 유형입니다. 인바운드 경로의 경우 IMPORT, 아웃바운드 경로의 경우 EXPORT입니다.
    • REGION: Cloud Router가 있는 리전

    예를 들어 다음 명령어는 Cloud Router에 인바운드 경로의 경로 정책을 추가합니다.

    gcloud beta compute routers add-route-policy ROUTER_NAME \
        --policy-name=BGP_ROUTE_POLICY_NAME \
        --policy-type=IMPORT \
        --region=REGION
    
  2. 다음 명령어를 실행하여 BGP 경로 정책 용어를 추가합니다.

    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
    

    다음을 바꿉니다.

    • ROUTE_POLICY_PRIORITY: the priority for this policy, such as1`.
    • ROUTE_POLICY_MATCH_EXPRESSION: 이 경로 정책에 일치하는 표현식입니다.
    • ROUTE_POLICY_ACTIONS_EXPRESSION: 이 경로 정책의 작업

    예를 들어 다음 명령어는 192.168.10.0/24에 포함되지 않고 BGP 커뮤니티 65000:165000:2 집합과 일치하는 BGP 경로의 BGP 다중 종료 구분자 (MED) 속성 값을 12345로 설정하는 BGP 정책을 만듭니다.

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

    ROUTE_POLICY_PRIORITY를 이 정책에 원하는 우선순위(예: 1)로 바꿉니다.

BGP 경로 정책 업로드

  1. 원하는 텍스트 편집기에서 BGP 경로 정책을 만듭니다. JSON 또는 YAML 형식을 사용해서 BGP 경로 정책을 만들 수 있습니다. 다음 예시에서는 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
    

    다음을 바꿉니다.

    • BGP_ROUTE_POLICY_NAME: BGP 경로 정책의 이름입니다.
    • ROUTE_POLICY_TYPE: 만들려는 BGP 경로 정책의 유형입니다. 유형은 다음 중 하나일 수 있습니다.

      • ROUTE_POLICY_TYPE_IMPORT: 인바운드 경로의 BGP 경로 정책입니다.
      • ROUTE_POLICY_TYPE_EXPORT: 아웃바운드 경로의 BGP 경로 정책입니다.
    • ROUTE_POLICY_PRIORITY: 이 정책의 우선순위입니다(예: 1).

    • ROUTE_POLICY_MATCH_EXPRESSION: 이 경로 정책에 일치하는 표현식입니다.

    • ROUTE_POLICY_ACTIONS_EXPRESSION: 이 경로 정책의 작업

    예를 들어 다음 YAML 파일 명령어는 192.168.10.0/24에 포함되지 않고 BGP 커뮤니티 집합 65000:165000:2과 일치하는 BGP 경로의 BGP 다중 종료 구분자 (MED) 속성 값을 12345로 설정하는 수신 경로의 BGP 정책을 만듭니다.

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

    다음을 바꿉니다.

    • ROUTER_NAME: Cloud Router의 이름
    • REGION: Cloud Router가 있는 리전
    • FILENAME: 업로드할 파일 이름
  3. BGP 피어에 BGP 경로 정책을 적용합니다.

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

    다음을 바꿉니다.

    • PEER_NAME: BGP 경로 정책을 적용할 BGP 피어의 이름입니다.
    • IMPORT_POLICIES: 쉼표로 구분된 가져오기 정책 목록입니다. 빈 문자열을 전달하면 모든 가져오기 정책이 삭제됩니다.

다음 단계