BGP 경로 나열

이 페이지에서는 개별 경계 게이트웨이 프로토콜(BGP) 세션에서 공지된 경로와 학습된 경로를 나열하는 방법을 설명합니다. 이를 통해 Cloud Router 경로 문제를 해결할 수 있습니다. BGP 경로 정책이 경로에 적용되기 전이나 후에 경로를 나열할 수 있습니다. 공지된 경로와 학습된 경로의 문제를 해결하려면 다음 섹션을 순서대로 완료하는 것이 좋습니다.

시작하기 전에

gcloud

이 가이드의 명령줄 예시를 사용하려면 다음을 수행하세요.

  1. 최신 버전의 Google Cloud CLI를 설치하거나 업데이트합니다.
  2. 기본 리전 및 영역을 설정합니다.

API

이 가이드의 API 예를 사용하려면 API 액세스를 설정합니다.

정책이 적용되기 전 BGP 경로 나열

콘솔

다음 단계를 따르세요.

  1. Trusted Cloud 콘솔에서 Cloud Router 페이지로 이동합니다.

    Cloud Router로 이동

  2. Cloud Router 페이지에서 BGP 세션 탭을 클릭합니다.

  3. 목록에 표시할 BGP 세션 피어를 선택합니다. BGP 세션 세부정보 페이지가 표시됩니다. 공지된 경로는 공지된 경로 섹션에 나열됩니다.

gcloud

gcloud compute routers list-bgp-routes 명령어를 사용합니다.

gcloud compute routers list-bgp-routes ROUTER_NAME \
    --address-family=ADDRESS_FAMILY \
    --no-policy-applied \
    --peer=PEER_NAME \
    --region=REGION \
    --route-direction=ROUTE_DIRECTION

다음을 바꿉니다.

  • ROUTER_NAME: Cloud Router의 이름

  • ADDRESS_FAMILY: 경로를 표시할 IP 주소 패밀리

    • IPV4: IPv4 기반 BGP 주소의 경우
    • IPV6: IPv6 기반 BGP 주소의 경우
  • PEER_NAME: BGP 피어의 이름

  • REGION: Cloud Router가 있는 리전

  • ROUTE_DIRECTION: 경로를 표시할 방향

    • INBOUND: BGP 피어에서 학습한 경로
    • OUTBOUND: BGP 피어에 공지된 경로

출력은 다음과 비슷합니다.

---
asPaths:
- asns:
  - 64515
  type: AS_PATH_TYPE_SEQUENCE
destination:
  prefix: 192.168.1.0/24
med: 100
origin: BGP_ORIGIN_INCOMPLETE
---
asPaths:
- asns:
  - 64515
  type: AS_PATH_TYPE_SEQUENCE
destination:
  prefix: 192.168.2.0/24
med: 333
origin: BGP_ORIGIN_INCOMPLETE

API

routers.listBgpRoutes 메서드를 사용합니다.

GET https://compute.googleapis.com/compute/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME/listBgpRoutes
{
  "addressFamily": "ADDRESS_FAMILY",
  "peer": "PEER_NAME",
  "policyApplied": FALSE,
  "routeType": "ROUTE_TYPE"
}

다음을 바꿉니다.

  • PROJECT_ID: Cloud Router를 포함하는 프로젝트

  • REGION: Cloud Router가 있는 리전

  • ROUTER_NAME: Cloud Router의 이름

  • ADDRESS_FAMILY: 경로를 표시할 IP 주소 패밀리

    • IPV4: IPv4 기반 BGP 주소의 경우
    • IPV6: IPv6 기반 BGP 주소의 경우
  • PEER_NAME: BGP 피어의 이름

  • ROUTE_TYPE: 표시할 경로의 유형

    • LEARNED: BGP 피어에서 학습한 경로
    • ADVERTISED: BGP 피어에 공지된 경로

출력은 다음과 비슷합니다.

{
  "kind": "compute#routersListBgpRoutes",
  "result": [
    {
      "destination": {
        "prefix": "10.0.1.0/24"
      },
      "med": 100
    },
    {
      "destination": {
        "prefix": "10.0.2.0/24"
      },
      "med": 338
    }
  ]
}

정책이 적용된 후 BGP 경로 나열

콘솔

  1. Trusted Cloud 콘솔에서 Cloud Router 페이지로 이동합니다.

    Cloud Router로 이동

  2. Cloud Router 페이지에서 BGP 세션 탭을 클릭합니다.

  3. 목록에 표시할 BGP 세션 피어를 선택합니다. BGP 세션 세부정보 페이지가 표시됩니다. 공지된 경로는 공지된 경로 섹션에 나열됩니다.

gcloud

gcloud compute routers list-bgp-routes 명령어를 사용합니다.

gcloud compute routers list-bgp-routes ROUTER_NAME \
    --address-family=ADDRESS_FAMILY \
    --policy-applied \
    --peer=PEER_NAME \
    --region=REGION \
    --route-direction=ROUTE_DIRECTION

다음을 바꿉니다.

  • ADDRESS_FAMILY: 경로를 표시할 IP 주소 패밀리

    • IPV4: IPv4 기반 BGP 주소의 경우
    • IPV6: IPv6 기반 BGP 주소의 경우
  • PEER_NAME: BGP 피어의 이름

  • ROUTE_DIRECTION: 경로를 표시할 방향

    • INBOUND: BGP 피어에서 학습한 경로
    • OUTBOUND: BGP 피어에 공지된 경로

출력은 다음과 비슷합니다.

---
asPaths:
- asns:
- 64515
type: AS_PATH_TYPE_SEQUENCE
communities:
- 65535:65281
destination:
prefix: 192.168.1.0/24
med: 100
origin: BGP_ORIGIN_INCOMPLETE
---
asPaths:
- asns:
- 64515
type: AS_PATH_TYPE_SEQUENCE
communities:
- 65535:65281
destination:
prefix: 192.168.2.0/24
med: 333
origin: BGP_ORIGIN_INCOMPLETE

API

routers.listBgpRoutes 메서드를 사용합니다.

GET https://compute.googleapis.com/compute/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME/listBgpRoutes
{
"addressFamily": "ADDRESS_FAMILY",
"peer": "PEER_NAME",
"policyApplied": TRUE,
"routeType": "ROUTE_TYPE"
}

다음을 바꿉니다.

  • PROJECT_ID: Cloud Router를 포함하는 프로젝트

  • REGION: Cloud Router가 있는 리전

  • ROUTER_NAME: Cloud Router의 이름

  • ADDRESS_FAMILY: 경로를 표시할 IP 주소 패밀리

    • IPV4: IPv4 기반 BGP 주소의 경우
    • IPV6: IPv6 기반 BGP 주소의 경우
  • PEER_NAME: BGP 피어의 이름

  • ROUTE_TYPE: 표시할 경로의 유형

    • LEARNED: BGP 피어에서 학습한 경로
    • ADVERTISED: BGP 피어에 공지된 경로

출력은 다음과 비슷합니다.

{
  "kind": "compute#routersListBgpRoutes",
  "result": [
    {
      "destination": {
        "prefix": "10.0.1.0/24"
      },
      "asPaths": [
        {
          "type": "AS_PATH_TYPE_SEQUENCE",
          "asns": [
            64514
          ]
        }
      ],
      "origin": "BGP_ORIGIN_INCOMPLETE",
      "med": 100
    },
    {
      "destination": {
        "prefix": "10.0.2.0/24"
      },
      "asPaths": [
        {
          "type": "AS_PATH_TYPE_SEQUENCE",
          "asns": [
            64514
          ]
        }
      ],
      "origin": "BGP_ORIGIN_INCOMPLETE",
      "med": 338
    }
  ]
}

최적의 동적 경로 확인

Cloud Router별, 리전별, VPC별 최적의 동적 경로를 확인합니다.

gcloud

gcloud compute routers get-status 명령어를 사용합니다.

gcloud compute routers get-status ROUTER_NAME \
    --region=REGION

출력에는 다음 정보가 포함됩니다.

  • bestRoutesForRouter: 특정 Cloud Router의 최적 경로를 나타냅니다.
  • bestRoutes: 해당 VPC의 Cloud Router의 리전별 최적 경로를 나타냅니다.

출력은 bestRoutesForRouter의 경우 다음 예시와 비슷합니다.

  bestRoutesForRouter:
  - asPaths:
    - asLists:
      - 65002
      pathSegmentType: AS_SEQUENCE
    creationTimestamp: '2024-09-26T18:28:54.346-07:00'
    destRange: 192.168.1.0/24
    kind: compute#route
    network: https://www.googleapis.com/compute/projects/PROJECT_ID/global/networks/NETWORK_NAME
    nextHopIp: 169.254.0.2
    nextHopOrigin: INCOMPLETE
    nextHopVpnTunnel: https://www.googleapis.com/compute/projects/PROJECT_ID/regions/REGION/vpnTunnels/vpc-demo-tunnel0
    priority: 100
    routeStatus: ACTIVE
    routeType: BGP
  - asPaths:
    - asLists:
      - 65002
      pathSegmentType: AS_SEQUENCE
    creationTimestamp: '2024-09-27T12:44:56.575-07:00'
    destRange: 192.168.1.0/24
    kind: compute#route
    network: https://www.googleapis.com/compute/projects/PROJECT_ID/global/networks/NETWORK_NAME
    nextHopIp: 169.254.1.2
    nextHopOrigin: INCOMPLETE
    nextHopVpnTunnel: https://www.googleapis.com/compute/projects/PROJECT_ID/regions/REGION/vpnTunnels/vpc-demo-tunnel1
    priority: 100
    routeStatus: ACTIVE
    routeType: BGP

출력은 bestRoutes의 경우 다음 예시와 비슷합니다.

  bestRoutes:
  - asPaths:
    - asLists:
      - 65002
      pathSegmentType: AS_SEQUENCE
    creationTimestamp: '2024-09-26T18:33:50.505-07:00'
    destRange: 192.168.1.0/24
    kind: compute#route
    network: https://www.googleapis.com/compute/projects/PROJECT_ID/global/networks/NETWORK_NAME
    nextHopIp: 169.254.0.2
    nextHopOrigin: INCOMPLETE
    nextHopVpnTunnel: https://www.googleapis.com/compute/projects/PROJECT_ID/regions/REGION/vpnTunnels/vpc-demo-tunnel0
    priority: 100
    routeType: BGP
  - asPaths:
    - asLists:
      - 65002
      pathSegmentType: AS_SEQUENCE
    creationTimestamp: '2024-09-27T12:46:49.028-07:00'
    destRange: 192.168.1.0/24
    kind: compute#route
    network: https://www.googleapis.com/compute/projects/PROJECT_ID/global/networks/NETWORK_NAME
    nextHopIp: 169.254.1.2
    nextHopOrigin: INCOMPLETE
    nextHopVpnTunnel: https://www.googleapis.com/compute/projects/PROJECT_ID/regions/REGION/vpnTunnels/vpc-demo-tunnel1
    priority: 100
    routeType: BGP

출력에는 다음 값이 포함됩니다.

  • PROJECT_ID: Cloud Router를 포함하는 프로젝트

  • NETWORK_NAME: VPC 네트워크의 이름

  • REGION: 리전의 이름

API

routers.getRouterStatus 메서드를 사용합니다.

GET https://compute.googleapis.com/compute/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME/getRouterStatus

다음을 바꿉니다.

  • PROJECT_ID: Cloud Router를 포함하는 프로젝트

  • REGION: Cloud Router가 있는 리전

  • ROUTER_NAME: Cloud Router의 이름

출력에는 다음 정보가 포함됩니다.

  • bestRoutes: 해당 VPC의 Cloud Router의 리전별 최적 경로를 나타냅니다.
  • bestRoutesForRouter: 특정 Cloud Router의 최적 경로를 나타냅니다.

출력은 bestRoutes의 경우 다음 예시와 비슷합니다.

    "bestRoutes": [
      {
        "kind": "compute#route",
        "creationTimestamp": "2025-03-05T11:20:40.323-08:00",
        "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME",
        "destRange": "200.0.0.0/24",
        "priority": 100,
        "nextHopIp": "169.254.0.1",
        "nextHopVpnTunnel": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels/TUNNEL_NAME",
        "routeType": "BGP",
        "asPaths": [
          {
            "pathSegmentType": "AS_SEQUENCE",
            "asLists": [
              65001
            ]
          }
        ],
        "nextHopOrigin": "INCOMPLETE"
      },

출력은 bestRoutesForRouter의 경우 다음 예시와 비슷합니다.

    "bestRoutesForRouter": [
      {
        "kind": "compute#route",
        "creationTimestamp": "2025-03-05T11:20:50.240-08:00",
        "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME",
        "destRange": "10.2.1.0/24",
        "priority": 100,
        "nextHopIp": "169.254.0.1",
        "nextHopVpnTunnel": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/REGION/vpnTunnels/TUNNEL_NAME",
        "routeType": "BGP",
        "asPaths": [
          {
            "pathSegmentType": "AS_SEQUENCE",
            "asLists": [
              65001
            ]
          }
        ],
        "routeStatus": "ACTIVE",
        "nextHopOrigin": "INCOMPLETE"
      },
      {
        "kind": "compute#route",
        "creationTimestamp": "2025-03-05T01:50:01.725-08:00",
        "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/on-prem",
        "destRange": "200.0.0.0/24",
        "priority": 100,
        "nextHopIp": "169.254.0.1",
        "nextHopVpnTunnel": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels/TUNNEL_NAME",
        "routeType": "BGP",
        "asPaths": [
          {
            "pathSegmentType": "AS_SEQUENCE",
            "asLists": [
              65001
            ]
          }
        ],
        "routeStatus": "ACTIVE",
        "nextHopOrigin": "INCOMPLETE"
      },
      {
        "kind": "compute#route",
        "creationTimestamp": "2025-03-06T05:30:06.277-08:00",
        "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/on-prem",
        "destRange": "10.2.1.0/24",
        "priority": 100,
        "nextHopIp": "169.254.1.1",
        "nextHopVpnTunnel": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels/TUNNEL_NAME",
        "routeType": "BGP",
        "asPaths": [
          {
            "pathSegmentType": "AS_SEQUENCE",
            "asLists": [
              65001
            ]
          }
        ],
        "routeStatus": "ACTIVE",
        "nextHopOrigin": "INCOMPLETE"
      }
    ],

출력에는 다음 값이 포함됩니다.

  • PROJECT_ID: Cloud Router를 포함하는 프로젝트

  • REGION: Cloud Router가 있는 리전

  • ROUTER_NAME: Cloud Router의 이름

  • TUNNEL_NAME: 해당하는 경우 VPN 터널의 이름

VPC 전달 경로 테이블 보기

다음 단계를 따르세요.

  1. Trusted Cloud 콘솔에서 경로 페이지로 이동합니다.

    경로로 이동

  2. 유효한 경로 탭에서 경로를 나열할 네트워크를 선택합니다.

  3. 리전 목록에서 경로를 나열할 리전을 선택한 다음 보기를 클릭합니다.