라우터 어플라이언스 인스턴스 만들기

라우터 어플라이언스는 Network Connectivity Center에서 지원되는 스포크 유형 중 하나입니다. 이 페이지에서는 라우터 어플라이언스 인스턴스를 만들고 설정하는 방법을 설명합니다. 선택한 방법에 따라 프로세스의 일부가 자동화될 수 있습니다. 하지만 라우터 어플라이언스 스포크를 사용하여 연결을 설정하려면 먼저 필요한 모든 태스크를 완료해야 합니다.

필수 태스크는 다음과 같습니다.

  1. 라우터 어플라이언스 인스턴스로 사용할 VM을 만듭니다. 지원되는 파트너 솔루션이나 자체 커스텀 이미지를 사용하여 VM을 만들 수 있습니다.

  2. 라우터 어플라이언스 인스턴스가 TCP 포트 179를 통해 BGP 트래픽에 액세스할 수 있는지 확인합니다. 이러한 접근성을 보장하려면 방화벽 규칙을 만들어야 합니다.

  3. 라우터 어플라이언스 인스턴스를 사용하는 스포크를 만듭니다.

  4. Cloud Router를 설정합니다. 이 태스크에는 다음과 같은 하위 태스크가 포함됩니다.

    1. 라우터 어플라이언스 인스턴스와 동일한 리전에서 Cloud Router를 만듭니다.

    2. Cloud Router에 2개의 인터페이스를 만듭니다.

    3. Cloud Router에서 BGP 피어링을 구성합니다.

  5. 라우터 어플라이언스 인스턴스에서 BGP 피어링을 구성합니다.

이 태스크를 완료하는 방법은 크게 다를 수 있습니다. 예를 들어 파트너 솔루션을 사용하여 라우터 어플라이언스 인스턴스를 만드는 경우 이후 태스크 중 일부는 자동으로 수행될 수 있습니다.

Network Connectivity Center에서는 Google Cloud에서 네트워크 연결 관리를 위해 허브 및 스포크 아키텍처를 구현할 수 있습니다. 자세한 내용은 Network Connectivity Center 개요를 참조하세요.

샘플 구성

이 페이지에서는 샘플 사이트-클라우드 구성을 설정하는 방법을 설명합니다. 이 설정에서는 2개의 어플라이언스 인스턴스가 Virtual Private Cloud(VPC) 네트워크 및 온프레미스 네트워크 사이의 연결을 제공합니다. Network Connectivity Center는 동일 비용의 다중 경로(ECMP) 라우팅을 사용하여 라우터 어플라이언스 인스턴스 사이에 트래픽을 부하 분산합니다. 경계 게이트웨이 프로토콜(BGP)을 사용하여 네트워크 간에 경로를 분산합니다.

이 샘플 구성에서는 라우터 어플라이언스 인스턴스를 동일한 서브네트워크(서브넷)에 배치합니다. 그러나 각 라우터 어플라이언스 인스턴스는 다른 영역에 있습니다.

각 라우터 어플라이언스 인스턴스는 동일한 Cloud Router를 사용해 BGP 세션을 유지보수합니다. 이 Cloud Router에는 2개의 인터페이스가 있습니다. 각 라우터 어플라이언스 인스턴스가 이와 같은 각 인터페이스와 피어링되어 총 4개의 피어링 세션이 수행됩니다.

이 토폴로지는 사이트 간 데이터 전송을 예시로 들지 않습니다. 하지만 이 토폴로지 설정을 위한 안내는 사이트 간 데이터 전송 토폴로지의 절반에 사용되는 것과 거의 동일합니다. 예외사항은 해당 안내를 참조하세요. 사이트 간 데이터 전송에 대한 자세한 내용은 라우터 어플라이언스 개요를 참조하세요.

라우터 어플라이언스의 BGP 세션 만들기
라우터 어플라이언스 인스턴스의 BGP 세션 만들기(확대하려면 클릭)

시작하기 전에

시작하기 전에 다음 섹션을 검토합니다.

프로젝트 생성 또는 선택

Network Connectivity Center를 더 쉽게 구성하려면 먼저 유효한 프로젝트를 식별합니다.

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Install the Google Cloud CLI.
  5. To initialize the gcloud CLI, run the following command:

    gcloud init
  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  7. Make sure that billing is enabled for your Google Cloud project.

  8. Install the Google Cloud CLI.
  9. To initialize the gcloud CLI, run the following command:

    gcloud init
  10. Google Cloud CLI를 사용하는 경우 gcloud config set 명령어를 사용하여 프로젝트 ID를 설정합니다.

    gcloud config set project PROJECT_ID

    PROJECT_ID를 고유한 프로젝트 ID로 바꿉니다.

    이 페이지의 gcloud CLI 안내에서는 프로젝트 ID를 설정했다고 가정합니다.

  11. 프로젝트 ID를 올바르게 설정했는지 확인하려면 gcloud config list 명령어를 사용합니다.

    gcloud config list --format='text(core.project)'

Network Connectivity API 사용 설정

Network Connectivity Center를 사용하는 아무 태스크든 수행하려면 먼저 Network Connectivity API를 사용 설정해야 합니다.

콘솔

Network Connectivity API를 사용 설정하려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 Network Connectivity Center 페이지로 이동합니다.

    Network Connectivity Center로 이동

  2. 사용 설정을 클릭합니다.

또는 API 사용 설정의 설명대로 Google Cloud 콘솔 API 라이브러리를 사용하여 API를 사용 설정할 수 있습니다.

액세스하기

Network Connectivity Center를 사용하려면 역할 및 권한에 설명된 권한이 필요합니다.

Network Connectivity Center를 구성할 때 VPC 네트워크, 서브넷, 방화벽 규칙과 같은 Google Cloud 리소스도 사용합니다. 이러한 리소스 작업에 필요한 권한에 대한 자세한 내용은 Compute Engine 액세스 제어 문서를 참조하세요.

IP 주소 및 라우터 어플라이언스 인스턴스

라우터 어플라이언스 인스턴스를 설정하려면 인스턴스와 Cloud Router 간에 피어링을 설정해야 합니다. 피어링을 설정하려면 VM이 RFC 1918 내부 IP 주소를 사용해야 합니다. VM에 다른 유형의 주소가 사용될 경우 이러한 두 리소스를 피어링할 수 없습니다.

VM의 IP 주소를 확인하는 방법은 다음 문서를 참조하세요.

IP 주소 유형의 정의 및 자세한 내용은 IP 주소를 참조하세요.

고정 내부 IP 주소 예약(권장)

재부팅 중에 주소가 변경되지 않도록 라우터 어플라이언스 인스턴스에 고정 내부 IP 주소를 지정하는 것이 좋습니다. 주소가 변경되면 BGP 피어링이 실패합니다.

예약된 IP 주소를 할당하는 데에는 여러 옵션이 있습니다. 미리 IP 주소를 예약할 수 있습니다. 또는 VM을 만들 때 IP 주소를 예약할 수 있습니다. 실수로 VM에 임시 주소를 지정한 경우 나중에 이를 고정 주소로 전환할 수 있습니다. 고정 IP 주소에 대한 자세한 내용은 고정 내부 IP 주소 예약을 참조하세요.

BGP 피어링의 IP 주소

라우터 어플라이언스 인스턴스는 내부 IP 주소를 사용하여 Cloud Router와 피어링합니다. 인스턴스는 BGP 피어링에 링크-로컬 주소(예: 169.254.x.x)를 사용하지 않습니다.

마찬가지로 Cloud Router는 두 개의 RFC 1918 내부 IP 주소를 사용하여 라우터 어플라이언스 인스턴스와 피어링합니다(각 인터페이스에 대해 1개의 주소). 이러한 IP 주소는 라우터 어플라이언스 인스턴스 인터페이스와 Cloud Router 인터페이스를 모두 포함하는 서브넷에서 수동으로 또는 자동으로 할당할 수 있습니다.

VPC 리소스 만들기

다음 섹션에서는 VPC 네트워크 및 서브넷을 만드는 방법을 설명합니다.

VPC 네트워크 만들기

VPC 네트워크를 아직 만들지 않은 경우 먼저 만듭니다. 네트워크의 동적 라우팅 모드global로 설정합니다.

VPC 네트워크를 만드는 방법에 대한 자세한 내용은 네트워크 만들기를 참조하세요.

콘솔

Google Cloud 콘솔을 사용하여 커스텀 VPC 네트워크를 만들려면 커스텀 모드 네트워크 만들기를 참조하세요. 동적 라우팅 모드전역으로 설정해야 합니다. 샘플 구성에 사용된 이름 지정 규칙을 따르려면 network-a 네트워크를 호출합니다.

gcloud

커스텀 VPC 네트워크를 만들려면 gcloud compute networks create 명령어를 사용합니다.

  gcloud compute networks create NETWORK \
      --subnet-mode custom \
      --bgp-routing-mode global

NETWORK을 VPC 네트워크 이름(예: network-a)으로 바꿉니다.

API

Compute Engine API를 사용하여 커스텀 VPC 네트워크를 만들려면 VPC 네트워크 만들기 및 관리를 참조하세요.

서브넷 만들기

라우터 어플라이언스 인스턴스로 사용되는 VM 인스턴스를 포함하도록 network-a에 하나의 서브넷을 만듭니다.

콘솔

Google Cloud 콘솔을 사용하여 서브넷을 추가하려면 서브넷 추가를 참조하세요.

샘플 구성에 사용된 이름 지정 규칙을 따르려면 다음 값을 사용합니다.

  • 이름: subnet-a-1
  • 리전: us-west1
  • 범위: 10.0.1.0/24

gcloud

VPC 서브넷을 만들려면 gcloud compute networks subnets create 명령어를 사용합니다.

  gcloud compute networks subnets create SUBNET \
      --network=NETWORK \
      --region=REGION \
      --range=RANGE

다음을 바꿉니다.

  • SUBNET: 라우터 어플라이언스 VM이 포함된 서브넷의 이름입니다(예: subnet-a-1).
  • NETWORK: 서브넷이 포함된 네트워크입니다(예: network-a).
  • REGION: 서브넷이 포함된 리전입니다(예: us-west1).
  • RANGE: CIDR 표기법으로 된 서브넷의 IP 범위입니다(예: 10.0.1.0/24).

API

Compute Engine API를 사용하여 VPC 서브넷을 만들려면 VPC 네트워크 만들기 및 관리를 참조하세요.

라우터 어플라이언스 VM 만들기

라우터 어플라이언스 인스턴스 역할을 수행하는 Compute Engine VM을 만듭니다. 샘플 구성에서는 router-app-arouter-app-b와 같은 2개의 VM을 사용합니다.

상위 수준에서 네트워크 가상 어플라이언스 이미지를 사용하는 VM을 만들어 라우터 어플라이언스 이미지를 만듭니다. 이 이미지는 다음 중 하나일 수 있습니다.

이미지 지정에 대한 자세한 내용은 다음 리소스를 참조하세요.

VM 만들기에 대한 자세한 내용은 VM 인스턴스 만들기 및 시작을 참조하세요.

이 섹션의 예시에서는 라우터 어플라이언스 인스턴스에 IP 주소를 예약했다고 가정합니다. 자세한 내용은 IP 주소 및 라우터 어플라이언스 인스턴스를 참조하세요.

콘솔

샘플 구성에 표시된 2개의 VM을 만들려면 VM 인스턴스 만들기 및 시작을 참조하세요. VM을 만들 때 다음을 선택합니다.

  • 샘플 구성에 사용된 이름 지정 규칙을 따르려면 다음 값을 사용합니다.

    • 이름: router-app-a 또는 router-app-b
    • 리전: us-west1
    • 영역: us-west1-a 또는 us-west1-b
  • 이미지를 선택하려면 페이지의 부팅 디스크 영역으로 이동하고 변경을 클릭한 후 VM에 적합한 이미지로 이동합니다.

  • 고급 옵션을 펼친 후 네트워킹을 펼칩니다. 다음 값을 사용합니다.

    • IP 전달에서 사용 설정을 선택합니다.
    • 네트워크 인터페이스에서 네트워크 인터페이스 추가를 선택하고 다음 필드를 작성합니다.
      • 라우터 어플라이언스 인스턴스를 찾을 서브넷을 선택합니다(예: subnet-a-1).
      • 기본 내부 IP에서 사용하려는 예약된 RFC 1918 내부 IP 주소를 선택합니다(예: 10.0.1.10).
      • 네트워크 서비스 등급에서 프리미엄을 선택합니다. 이렇게 선택하면 트래픽에서 Google 네트워크를 사용하는 범위가 극대화됩니다.

gcloud

샘플 구성에 표시된 2개의 라우터 어플라이언스 VM을 만들려면 gcloud compute instances create 명령어를 사용합니다. router-app-a를 생성하는 데 한 번, router-app-b를 만드는 데 한 번 이렇게 명령어를 두 번 사용하세요.

다음 샘플 스니펫은 VM에 고정 내부 IP 주소 및 고정 외부 IP 주소를 할당합니다. 또한 VM에 사용할 공급업체 제공 이미지도 지정합니다.

  gcloud compute instances create INSTANCE_NAME \
      --project=PROJECT \
      --zone=ZONE \
      --machine-type=MACHINE_TYPE \
      --network-tier=NETWORK_TIER \
      --network-interface=[subnet=SUBNET,private-network-ip=INTERNAL_IP_ADDRESS] \
      --can-ip-forward \
      --image-project=IMAGE_PROJECT \
      --image=IMAGE

다음을 바꿉니다.

  • INSTANCE_NAME: 라우터 어플라이언스 인스턴스로 작동하는 VM의 이름입니다(예: router-app-a 또는 router-app-b).
  • PROJECT: 라우터 어플라이언스 VM이 포함된 프로젝트의 이름입니다(예: my-project).
  • ZONE: VM이 위치한 Google Cloud 영역입니다(예: us-west1-a).
  • MACHINE_TYPE: VM에 사용할 머신 유형 리소스입니다(예: n1-standard-2).
  • NETWORK_TIER: 라우터 어플라이언스 VM을 만들 때 네트워크 등급premium으로 설정합니다. 이 옵션은 트래픽에 사용되는 Google 네트워크 범위를 극대화합니다.
  • SUBNET: VM의 기본 네트워크 인터페이스에 할당된 서브넷입니다(예: subnet-a-1).
  • INTERNAL_IP_ADDRESS: Cloud Router에 연결되는 VM 인터페이스에 할당된 RFC 1918 내부 IP 주소입니다(예: 10.0.1.10).
  • IMAGE_PROJECT: image 필드에 지정된 이미지가 포함된 프로젝트의 이름입니다(예: debian-cloud).
  • IMAGE: 설치할 이미지의 이름입니다(예: debian-10-buster-v20210217).

API

샘플 구성에 표시된 2개의 라우터 어플라이언스 VM을 만들려면 compute.instances.insert 메서드를 사용합니다. 메서드를 두 번 사용하여 한 번은 router-app-a를 만들고 다시 한 번은 router-app-b를 만듭니다.

다음 샘플 스니펫은 VM에 고정 내부 IP 주소 및 고정 외부 IP 주소를 할당합니다. 또한 VM에 사용할 공급업체 제공 이미지도 지정합니다.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances
 {
   "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
   "name": "INSTANCE_NAME",
   "canIpForward": "true",
   "networkInterfaces": [{
     "subnetwork": "regions/REGION/subnetworks/SUBNET",
     "networkIP": "INTERNAL_IP_ADDRESS",
     "accessConfigs": [{
         "networkTier": "NETWORK_TIER,
       }]
     }],
    "disks": [{
      "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      },
      "boot": true
   }]
 }

다음을 바꿉니다.

  • PROJECT: 라우터 어플라이언스 VM이 포함된 프로젝트의 이름입니다(예: my-project).
  • ZONE: VM이 위치한 Google Cloud 영역입니다(예: us-west1-a).
  • MACHINE_TYPE: VM에 사용할 머신 유형 리소스입니다(예: zones/us-west1-a/machineTypes/n1-standard-2).
  • INSTANCE_NAME: VM의 이름입니다(예: router-app-a 또는 router-app-b).
  • REGION: VM이 포함된 리전입니다(예: us-west1).
  • SUBNET: VM의 기본 네트워크 인터페이스에 할당된 서브넷입니다(예: regions/us-west1/subnetworks/subnet-a-1).
  • INTERNAL_IP_ADDRESS: VM에 할당된 RFC 1918 내부 IP 주소입니다. Cloud Router에 연결되는 VM 인터페이스의 주소를 구성합니다(예: 10.0.1.10).
  • NETWORK_TIER: 라우터 어플라이언스 VM을 만들 때 네트워크 등급premium으로 설정합니다. 이 옵션은 트래픽에 사용되는 Google 네트워크 범위를 극대화합니다.
  • IMAGE_PROJECT: VM을 만들 때 지정하는 이미지가 포함된 프로젝트의 이름입니다(예: debian-cloud).
  • IMAGE: VM을 만들 때 사용할 이미지의 이름입니다(예: debian-10-buster-v20210217).

BGP를 허용하는 방화벽 규칙 만들기

TCP 포트 179에서 network-a에 대한 BGP 트래픽을 허용하는 방화벽 규칙을 만듭니다.

또한 트래픽이 네트워크 가상 어플라이언스(NVA)로 흐르도록 허용하는 특정 방화벽 규칙을 만들어야 합니다.

방화벽 명령어에 대한 자세한 내용은 VPC 방화벽 규칙 사용을 참조하세요.

콘솔

Google Cloud 콘솔을 사용하여 VPC 방화벽 규칙을 만들려면 VPC 방화벽 규칙 사용을 참조하세요.

gcloud

Google Cloud CLI를 사용하여 VPC 방화벽 규칙을 만들려면 VPC 방화벽 규칙 사용을 참조하세요.

API

Compute Engine API를 사용하여 VPC 방화벽 규칙을 만들려면 VPC 방화벽 규칙 사용을 참조하세요.

Network Connectivity Center 리소스 만들기

라우터 어플라이언스 VM을 사용하려면 먼저 라우터 어플라이언스 스포크 등 필요한 Network Connectivity Center 리소스를 만들어야 합니다.

허브 만들기

Network Connectivity Center 스포크를 만들려면 먼저 허브를 만들어야 합니다.

콘솔

  1. Google Cloud 콘솔에서 Network Connectivity Center 페이지로 이동합니다.

    Network Connectivity Center로 이동

  2. 프로젝트 메뉴에서 프로젝트를 선택합니다.

  3. 허브 이름을 입력합니다.

  4. 선택사항으로 목록에 대한 설명을 입력합니다.

  5. 프로젝트 ID를 확인합니다. 프로젝트 ID가 잘못되었으면 화면 위쪽에 있는 메뉴를 사용하여 다른 프로젝트를 선택합니다.

  6. 계속을 클릭합니다.

  7. 콘솔에 스포크를 만들 수 있는 양식이 표시됩니다. 지금 작성하려면 라우터 어플라이언스 스포크 만들기에 설명된 단계를 따르세요.

  8. 완료를 클릭합니다.

gcloud

허브를 만들려면 gcloud network-connectivity hubs create 명령어를 사용합니다.

  gcloud network-connectivity hubs create HUB_NAME \
    --description="DESCRIPTION" \
    --labels="KEY"="VALUE"

다음 값을 바꿉니다.

  • HUB_NAME: 새 허브의 이름
  • DESCRIPTION: 허브를 설명하는 텍스트(선택사항)
  • KEY: 선택적 라벨 텍스트의 키-값 쌍에 있는 키
  • VALUE: 선택적 라벨 텍스트의 키-값 쌍에 있는 값

API

허브를 만들려면 networkconnectivity.hubs.create 메서드를 사용합니다.

  POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/hubs
  {
    "name":"HUB_NAME",
    "description":"DESCRIPTION",
    "labels": {
      "KEY": "VALUE"
    }
  }

다음 값을 바꿉니다.

  • PROJECT_ID: 새 허브가 포함된 프로젝트의 프로젝트 ID
  • HUB_NAME: 새 허브의 이름
  • DESCRIPTION: 허브를 설명하는 텍스트(선택사항)
  • KEY: 선택적 라벨 텍스트의 키-값 쌍에 있는 키
  • VALUE: 선택적 라벨 텍스트의 키-값 쌍에 있는 값입니다.

라우터 어플라이언스 스포크 만들기

바로 전에 만든 2개의 라우터 어플라이언스 인스턴스를 사용하는 라우터 어플라이언스 스포크를 만듭니다. 스포크 만들기는 다음 단계에서 만드는 라우터 어플라이언스 인스턴스와 Cloud Router 사이의 BGP 피어링을 사용 설정하기 위해 필요합니다.

스포크를 만드는 방법에 대한 자세한 내용은 허브 및 스포크 작업을 참조하세요.

콘솔

기본 스포크 세부정보 입력

  1. Google Cloud 콘솔에서 Network Connectivity Center 페이지로 이동합니다.
  2. Network Connectivity Center로 이동
  3. 프로젝트 메뉴에서 Google Cloud 프로젝트를 선택합니다.
  4. 스포크 탭을 클릭합니다.
  5. 스포크 추가를 클릭합니다.
  6. 새 스포크 양식에서 스포크 유형을 설정합니다.
  7. 스포크 이름과 선택사항인 설명을 입력합니다.
  8. 새 스포크의 리전 필드를 선택합니다.
  9. 사이트 간 데이터 전송에서 설정 또는 해제를 선택합니다. 선택한 리전이 데이터 전송을 지원하지 않으면 필드가 사용 중지됩니다. 이 사용 사례에 대한 자세한 내용은 사이트 간 데이터 전송 개요를 참조하세요.
  10. VPC 네트워크 목록에서 네트워크를 선택합니다. 데이터 전송 기능을 사용하는 스포크가 2개 이상 있으면 모든 스포크가 동일한 VPC 네트워크에 있어야 합니다. 따라서 데이터 전송을 사용하는 스포크를 이미 만든 경우 VPC 네트워크 값이 자동 입력되고 이를 변경할 수 없습니다.

라우터 어플라이언스 세부정보 입력

  1. 스포크 유형라우터 어플라이언스로 설정합니다.
  2. 스포크의 리전을 선택합니다.
  3. 라우터 어플라이언스 인스턴스를 선택합니다.
    1. 인스턴스 추가를 클릭합니다.
    2. 인스턴스 메뉴에서 기존 라우터 어플라이언스 인스턴스를 선택합니다.
  4. 이 스포크에 라우터 어플라이언스 인스턴스를 더 추가하려면 이전 단계를 반복합니다. 완료되었으면 완료를 클릭하고 계속해서 스포크 저장을 수행합니다.

스포크 저장

  1. 스포크를 더 추가하려면 스포크 추가를 클릭하고 스포크 이름을 입력하여 프로세스를 다시 시작합니다.
  2. 스포크 추가를 완료하면 만들기를 클릭합니다. Network Connectivity Center 페이지가 업데이트되어 생성한 스포크에 대한 세부정보가 표시됩니다.

gcloud

라우터 어플라이언스 스포크를 만들려면 gcloud network-connectivity spokes linked-router-appliances create 명령어를 사용합니다.

다음 샘플 스니펫은 라우터 어플라이언스 인스턴스 2개가 포함된 스포크를 만듭니다. 이 샘플에서 스포크는 사이트 간 데이터 전송 기능을 사용하지 않습니다. 데이터 전송을 사용 설정하려면 --site-to-site-data-transfer 플래그를 하나 더 추가합니다.

  gcloud network-connectivity spokes linked-router-appliances create NAME \
    --hub="HUB_NAME" \
    --description="DESCRIPTION" \
    --router-appliance=instance="ROUTER_APPLIANCE_URI",ip=IP_ADDRESS \
    --router-appliance=instance="ROUTER_APPLIANCE_URI_2",ip=IP_ADDRESS_2 \
    --region=REGION \
    --labels="KEY"="VALUE"
 

다음 값을 바꿉니다.

  • NAME: 스포크 이름입니다.
  • HUB_NAME: 스포크를 연결할 허브의 이름입니다.
  • DESCRIPTION: 선택사항으로서 스포크를 설명하는 텍스트입니다(예: us-vpn-spoke).
  • ROUTER_APPLIANCE_URI: 첫 번째 라우터 어플라이언스 인스턴스의 URI, 예를 들면 다음과 같습니다.
    https://www.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME 
  • IP_ADDRESS: 첫 번째 라우터 어플라이언스 인스턴스의 내부 IP 주소입니다.
  • ROUTER_APPLIANCE_URI_2: 두 번째 라우터 어플라이언스 인스턴스의 URI
  • IP_ADDRESS_2: 두 번째 라우터 어플라이언스 인스턴스의 내부 IP 주소입니다.
  • REGION: 스포크를 찾을 Google Cloud 리전(예: us-west1)
  • KEY: 선택적 라벨 텍스트의 키-값 쌍에 있는 키입니다.
  • VALUE: 선택적 라벨 텍스트의 키-값 쌍에 있는 값입니다.

    예를 들어 다음 명령어는 router-app-arouter-app-b를 기본 리소스로 사용하는 라우터 어플라이언스 스포크를 만듭니다.

    gcloud network-connectivity spokes linked-router-appliances create my-spoke \
        --hub=my-hub \
        --description="Test spoke 1" \
        --router-appliance=instance="https://www.googleapis.com/compute/v1/projects/my-project/zones/us-west1-a/instances/router-app-a",ip=10.0.1.10 \
        --router-appliance=instance="https://www.googleapis.com/compute/v1/projects/my-project/zones/us-west1-b/instances/router-app-b",ip=10.0.1.11 \
        --region=us-west1 \
        --labels="environment"="test"
    

    동일한 스포크를 만들지만 데이터 전송을 사용 설정하려면 다음 명령어를 사용합니다.

    gcloud network-connectivity spokes linked-router-appliances create my-spoke \
        --hub=my-hub \
        --description="Test spoke 1" \
        --router-appliance=instance="https://www.googleapis.com/compute/v1/projects/my-project/zones/us-west1-a/instances/router-app-a",ip=10.0.1.10 \
        --router-appliance=instance="https://www.googleapis.com/compute/v1/projects/my-project/zones/us-west1-b/instances/router-app-b",ip=10.0.1.11 \
        --region=us-west1 \
        --labels="environment"="test"
        --site-to-site-data-transfer
    

API

라우터 어플라이언스 스포크를 만들려면 networkconnectivity.spokes.create 메서드를 사용합니다.

다음 샘플 스니펫은 라우터 어플라이언스 인스턴스 2개가 포함된 스포크를 만듭니다. 각 인스턴스는 linkedRouterApplianceInstances.instances 배열에 포함됩니다.

  POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/spokes/SPOKE_NAME
  {
    "hub": "HUB_URI",
    "labels": {"KEY": "VALUE"},
    "linkedRouterApplianceInstances": {
      "instances": [
        {
          "virtualMachine": "ROUTER_APPLIANCE_URI",
          "ipAddress": INTERNAL_IP_ADDRESS,
        },
        {
          "virtualMachine": "ROUTER_APPLIANCE_URI_2,
          "ipAddress": INTERNAL_IP_ADDRESS_2,
        }
      ],
      "siteToSiteDataTransfer": BOOLEAN
    }
  }
 

다음 값을 바꿉니다.

  • PROJECT_ID: 프로젝트의 프로젝트 ID
  • REGION: 스포크를 찾을 Google Cloud 리전(예: us-west1)
  • SPOKE_NAME: 스포크에 지정할 이름
  • HUB_URI: 스포크를 연결할 허브의 URI(예는 다음 참조)
    http://networkconnectivity.googleapis.com/v1/projects/PROJECT_NAME/locations/global/hubs/HUB_NAME 
  • KEY: 선택적 라벨 텍스트의 키-값 쌍에 있는 키입니다.
  • VALUE: 선택적 라벨 텍스트의 키-값 쌍에 있는 값입니다.
  • ROUTER_APPLIANCE_URI: 첫 번째 라우터 어플라이언스 인스턴스의 URI, 예를 들면 다음과 같습니다.
    https://www.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME 
  • IP_ADDRESS: 첫 번째 라우터 어플라이언스 인스턴스의 내부 IP 주소입니다.
  • ROUTER_APPLIANCE_URI_2: 두 번째 라우터 어플라이언스 인스턴스의 URI
  • IP_ADDRESS_2: 두 번째 라우터 어플라이언스 인스턴스의 내부 IP 주소입니다.
  • BOOLEAN: 이 스포크에 대해 사이트 간 데이터 전송이 사용 설정되는지 여부를 결정하는 값입니다.

    예를 들어 router-app-arouter-app-b를 기본 리소스로 사용하는 스포크를 만들려면 요청 본문을 다음과 같이 구성해야 합니다.

    {
      "hub": "http://networkconnectivity.googleapis.com/v1/projects/my-project/locations/global/hubs/my-hub",
    
      "labels": {
        "environment" : "test"
      },
    
      "linkedRouterApplianceInstances": {
         "instances": [
           {
             "virtualMachine": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-west1-a/instances/router-app-a",
             "ipAddress": "10.0.1.10",
           },
           {
             "virtualMachine": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-west1-b/instances/router-app-b",
             "ipAddress":  "10.0.1.11",
           }
        ],
        "siteToSiteDataTransfer": true
      }
    }
    
    

Cloud Router 설정

라우터 어플라이언스는 Cloud Router를 사용하여 경로를 VPC 네트워크와 교환합니다. 따라서 Cloud Router를 만들고 다른 적은 설정 태스크를 완료해야 합니다.

Cloud Router 만들기

라우터 VM이 있는 동일한 네트워크 및 리전에서 리소스를 만듭니다. 샘플 구성에서 이러한 리소스는 network-aus-west1입니다.

자세한 내용은 Cloud Router 만들기를 참조하세요.

콘솔

Google Cloud 콘솔에서 Cloud Router를 만들려면 다음 방법 중 하나를 사용합니다.

  • Cloud Router 만들기에 설명된 대로 Cloud Router 페이지를 사용합니다.

  • Network Connectivity Center 페이지를 사용합니다. 이 방법을 사용할 때의 장점은 라우터, 인터페이스, BGP 세션을 동시에 만들 수 있다는 것입니다. 이 모든 단계를 함께 완료하는 방법에 대한 자세한 내용은 Cloud Router에서 BGP 피어링 구성을 참조하세요.

gcloud

Cloud Router를 만들려면 gcloud compute routers create 명령어를 사용합니다.

  gcloud compute routers create NAME \
      --region=REGION \
      --network=NETWORK \
      --asn=ASN \
      --project=PROJECT_ID

다음을 바꿉니다.

  • NAME: Cloud Router의 이름입니다(예: cloud-router-a).
  • REGION: Cloud Router를 포함하는 리전입니다(예: us-west1).
  • NETWORK: Cloud Router를 포함하는 VPC 네트워크입니다(예: network-a).
  • ASN: Cloud Router의 자율 시스템 번호(ASN)입니다. 이 ASN은 RFC 6996에 정의된 16비트 또는 32비트 비공개 ASN이어야 합니다(예: 65000).
  • PROJECT_ID: Cloud Router의 프로젝트 ID입니다(예: my-project).

API

Cloud Router를 만들려면 compute.routers.insert 메서드를 사용합니다.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers
{
 "name": "NAME",
 "network": "NETWORK",
 "bgp": {
   "asn": ASN
  }
}

다음을 바꿉니다.

  • PROJECT_ID: Cloud Router의 프로젝트 ID입니다(예: my-project).
  • REGION: Cloud Router를 포함하는 리전입니다(예: us-west1).
  • NAME: Cloud Router의 이름입니다(예: cloud-router-a).
  • NETWORK: Cloud Router를 포함하는 VPC 네트워크의 URI입니다(예: /global/networks/network-a).
  • ASN: Cloud Router의 자율 시스템 번호(ASN)입니다. 이 ASN은 RFC 6996에 정의된 16비트 또는 32비트 비공개 ASN이어야 합니다(예: 65000).

Cloud Router에 2개의 중복 인터페이스 만들기

샘플 구성에서 subnet-a-1과 연결된 2개의 중복 Cloud Router 인터페이스를 만듭니다.

Cloud Router 인터페이스는 리전별 내부 IP 주소를 사용합니다.

인터페이스의 내부 IP 주소를 명시적으로 지정하는 경우 IP 주소는 서브넷의 기본 IP 주소 범위에 속해야 합니다. VM 또는 다른 Cloud Router 인터페이스와 같은 다른 리소스에서 사용되지 않아야 합니다. 서브넷에서 IP 주소를 미리 예약하려면 주소 리소스를 만든 다음 Cloud Router 인터페이스에 예약된 IP 주소를 사용합니다.

Google Cloud 콘솔을 사용하여 BGP 피어를 만들면 인터페이스가 자동으로 생성되므로 이 단계에 대한 Google Cloud 콘솔 안내는 제공되지 않습니다.

gcloud

샘플 구성에 표시된 2개의 중복 Cloud Router 인터페이스를 만들려면 gcloud compute routers add-interface 명령어를 사용합니다. router-appliance-interface-0을 생성하는 데 한 번, router-appliance-interface-1를 만드는 데 한 번 이렇게 명령어를 두 번 사용하세요.

--ip-address 옵션을 지정하지 않으면 Google에서는 인터페이스에 할당할 서브넷의 기본 IP 범위에서 무료 IP 주소를 찾으려고 시도합니다.

  1. 첫 번째 Cloud Router 인터페이스를 만듭니다.

    gcloud compute routers add-interface NAME \
        --interface-name=INTERFACE_NAME \
        --ip-address=IP_ADDRESS \
        --subnetwork=SUBNET \
        --region=REGION \
        --project=PROJECT_ID
    
  2. 중복 Cloud Router 인터페이스를 만듭니다.

    gcloud compute routers add-interface NAME \
        --interface-name=INTERFACE_2_NAME \
        --ip-address=IP_ADDRESS \
        --subnetwork=SUBNET \
        --redundant-interface=INTERFACE_NAME \
        --region=REGION \
        --project=PROJECT_ID
    

    다음을 바꿉니다.

    • NAME: 업데이트할 Cloud Router의 이름입니다(예: cloud-router-a).
    • INTERFACE_NAME: 인터페이스의 이름입니다(예: router-appliance-interface-0).
    • IP_ADDRESS: 인터페이스에 사용할 RFC 1918 내부 IP 주소입니다(예: 10.0.1.5 또는 10.0.1.6).
    • SUBNET: 내부 IP 주소가 포함된 서브넷입니다(예: subnet-a-1).
    • INTERFACE_2_NAME: 기본 인터페이스와 동일한 라우터 어플라이언스 인스턴스와 피어링하는 중복 Cloud Router 인터페이스입니다(예: router-appliance-interface-1).
    • REGION: Cloud Router가 있는 Google Cloud 리전입니다(예: us-west1).
    • PROJECT_ID: Cloud Router의 프로젝트 ID입니다(예: my-project).
  • 다음 명령어는 샘플 구성에 설명된 대로 Cloud Router에 첫 번째 인터페이스를 만듭니다.

    gcloud compute routers add-interface cloud-router-a \
        --interface-name=router-appliance-interface-0 \
        --ip-address=10.0.1.5 \
        --subnetwork=subnet-a-1 \
        --region=us-west1 \
        --project=my-project
    
  • 다음 명령어는 샘플 구성에 설명된 대로 Cloud Router에 중복 인터페이스를 만듭니다.

    gcloud compute routers add-interface cloud-router-a \
        --interface-name=router-appliance-interface-1 \
        --ip-address=10.0.1.6 \
        --subnetwork=subnet-a-1 \
        --redundant-interface=router-appliance-interface-0 \
        --region=us-west1 \
        --project=my-project
    

API

샘플 구성에 표시된 2개의 중복 Cloud Router 인터페이스를 만들려면 compute.routers.patch 메서드를 사용합니다. 메서드를 두 번 사용하여 한 번은 router-appliance-interface-0를 만들고 다시 한 번은 router-appliance-interface-1를 만듭니다.

privateIpAddress 옵션을 지정하지 않으면 Google에서는 인터페이스에 할당할 서브넷의 기본 IP 범위에서 무료 IP 주소를 찾으려고 시도합니다.

  1. 첫 번째 Cloud Router 인터페이스를 만듭니다.

    "PATCH
    https"://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/NAME
    {
      "region":"REGION",
      "interfaces":[
        {
          "name":"INTERFACE_NAME",
          "privateIpAddress:"IP_ADDRESS",
          "subnetwork": "https":"//www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET"
        }
      ]
    }
    
  2. 중복 Cloud Router 인터페이스를 만듭니다.

    "PATCH
    https"://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/NAME
    {
      "region":"REGION",
      "interfaces":[
        {
          "name":"INTERFACE_NAME_1",
          "privateIpAddress:"IP_ADDRESS",
          "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET"
        },
        {
          "name":"INTERFACE_NAME_2",
          "privateIpAddress:"IP_ADDRESS",
          "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET",
          "redundantInterface": "INTERFACE_NAME_1"
        }
      ]
    }
    

    다음을 바꿉니다.

    • PROJECT_ID: Cloud Router의 프로젝트 ID입니다(예: my-project).
    • REGION: Cloud Router가 있는 Google Cloud 리전입니다(예: us-west1).
    • NAME: 업데이트할 Cloud Router의 이름입니다(예: cloud-router-a).
    • NETWORK: Cloud Router를 포함하는 VPC 네트워크입니다(예: network-a).
    • INTERFACE_NAME_1: 기본 인터페이스의 이름입니다(예: router-appliance-interface-0).
    • SUBNET: RFC 1918 내부 IP 주소가 포함된 서브넷의 URL입니다.
    • IP_ADDRESS: 인터페이스에 사용할 내부 IP 주소입니다(예: 10.0.1.5 또는 10.0.1.6).
    • INTERFACE_NAME_2: 중복 Cloud Router 인터페이스의 이름입니다(예: router-appliance-interface-1).
  • 다음 명령어는 샘플 구성에 설명된 대로 cloud-router-a에 첫 번째 인터페이스를 만듭니다.

    "PATCH https"://www.googleapis.com/compute/v1/projects/my-project/regions/us-west1/routers/cloud-router-a
    {
    "region":"us-west1",
    "interfaces":[
      {
        "name":"router-appliance-interface-0",
        "privateIpAddress:"10.0.1.5",
        "subnetwork": "https://www.googleapis.com/compute/v1/projects/my-project/regions/us-west1/subnetworks/>"
      }
    ]
    }
    
  • 다음 명령어는 샘플 구성에 설명된 대로 cloud-router-a에 중복 인터페이스를 만듭니다.

    "PATCH https"://www.googleapis.com/compute/v1/projects/my-project/regions/us-west1/routers/cloud-router-a
    {
    "region":"us-west1",
    "interfaces":[
      {
        "name":"router-appliance-interface-0",
        "privateIpAddress:"10.0.1.5",
        "subnetwork": "https://www.googleapis.com/compute/v1/projects/my-project/regions/us-west1/subnetworks/subnet-a-1"
      },
      {
        "name":"router-appliance-interface-0",
        "privateIpAddress:"10.0.1.6",
        "subnetwork": "https://www.googleapis.com/compute/v1/projects/my-project/regions/us-west1/subnetworks/subnet-a-1",
        "redundantInterface": "router-appliance-interface-0"
      }
    ]
    }
    

Cloud Router에서 BGP 피어링 구성

각 라우터 어플라이언스 인스턴스에서 Cloud Router에 BGP 피어를 Cloud Router 인스턴스마다 하나씩, 총 2개를 만들어야 합니다. BGP 피어 IP 주소는 라우터 어플라이언스 인스턴스로 구성된 VM의 기본 내부 IP 주소여야 합니다.

router-app-a용 BGP 피어 만들기

이 섹션에서는 샘플 구성에서 router-app-a라는 라우터 어플라이언스 인스턴스에 2개의 BGP 피어를 만드는 방법을 설명합니다. 다음 섹션에서는 router-app-b에서 BGP 피어 2개를 만드는 방법을 설명합니다.

다음 예시에서는 Cloud Router cloud-router-a의 두 인터페이스에서 router-app-a를 BGP 피어로 구성하는 방법을 보여줍니다.

콘솔

  1. Network Connectivity Center 페이지로 이동합니다.
  2. Network Connectivity Center로 이동
  3. 프로젝트 풀다운 메뉴에서 프로젝트를 선택합니다.
  4. 스포크 탭을 클릭합니다.
  5. 스포크 이름 열에서 스포크를 선택하여 스포크 세부정보 페이지를 봅니다.

  1. 이름 열에서 router-app-a를 찾습니다. 확장 아이콘을 클릭하여 BGP 세션 구성 링크를 표시합니다. 다음 링크 중 하나를 클릭합니다. 이에 따라 시스템에 Cloud Router 및 BGP 세션 구성 패널이 표시됩니다.

  1. Cloud Router 섹션에서 다음 중 하나를 수행합니다.

    • 기존 Cloud Router를 선택하려면 기존 것 사용을 클릭합니다. Cloud Router 필드를 사용하여 적절한 리소스를 식별한 후 선택 및 계속을 클릭합니다.
    • Network Connectivity Center 페이지에서 Cloud Router를 만들려면 새로 만들기를 클릭하고 메시지에 따라 Cloud Router를 만듭니다. 그런 다음 만들고 계속하기를 클릭합니다.
  2. BGP 세션에서 BGP 세션 두 개를 설정합니다. 다음 단계를 세션별로 한 번씩 총 두 번 완료합니다.
    1. BGP 세션 수정을 클릭합니다.
    2. 이름, 피어 ASN, 공지된 경로 우선순위(MED)를 입력하여 양식을 작성합니다. 저장 후 계속을 클릭합니다.
  3. 만들기를 클릭합니다.

gcloud

router-app-a의 Cloud Router에 BGP 피어를 만들려면 gcloud compute routers add-bgp-peer 메서드를 사용합니다. 명령어를 두 번 사용하여 첫 번째 BGP 피어를 만들고 다시 두 번째 BGP 피어를 만듭니다.

  1. 첫 번째 BGP 피어를 만듭니다.

    gcloud compute routers add-bgp-peer NAME \
        --peer-name=PEER_NAME \
        --interface=INTERFACE \
        --peer-ip-address=PEER_IP_ADDRESS \
        --peer-asn=PEER_ASN \
        --instance=ROUTER_APPLIANCE \
        --instance-zone=ROUTER_APPLIANCE_ZONE \
        --region=REGION
    
  2. 두 번째 BGP 피어를 만듭니다.

    gcloud compute routers add-bgp-peer NAME \
        --peer-name=PEER_NAME \
        --interface=INTERFACE \
        --peer-ip-address=PEER_IP_ADDRESS \
        --peer-asn=PEER_ASN \
        --instance=ROUTER_APPLIANCE \
        --instance-zone=ROUTER_APPLIANCE_ZONE \
        --region=REGION
    

    다음을 바꿉니다.

    • NAME: 업데이트할 Cloud Router의 이름입니다.
    • PEER_NAME: 라우터 어플라이언스 인스턴스로 설정할 BGP 피어링 세션의 이름입니다.
    • INTERFACE: 이 BGP 피어의 인터페이스 이름입니다.
    • PEER_IP_ADDRESS: 피어 라우터(라우터 어플라이언스 인스턴스)의 내부 IP 주소 - 이 주소는 VM의 기본 네트워크 인터페이스에 대한 기본 내부 IP 주소와 일치해야 합니다(nic0).
    • PEER_ASN: 이 BGP 피어의 자율 시스템 번호(ASN)입니다. 이 ASN은 RFC 6996에 정의된 16비트 또는 32비트 비공개 ASN이어야 합니다.
    • ROUTER_APPLIANCE: 라우터 어플라이언스 인스턴스로 작동하는 VM의 이름입니다.
    • ROUTER_APPLIANCE_ZONE: 라우터 어플라이언스 인스턴스로 작동하는 VM이 위치한 영역입니다.
    • REGION: 라우터 어플라이언스 인스턴스로 작동하는 VM이 위치한 리전입니다.

다음 샘플 스니펫은 router-app-a에 대해 두 피어를 모두 만드는 방법을 보여줍니다.

  gcloud compute routers add-bgp-peer cloud-router-a \
      --peer-name=router-appliance-bgp-peer-router-app-a-0 \
      --interface=router-appliance-interface-0 \
      --peer-ip-address=10.0.1.10 \
      --peer-asn=65001 \
      --instance=router-app-a \
      --instance-zone=us-west1-a \
      --region=us-west1
  gcloud compute routers add-bgp-peer cloud-router-a \
      --peer-name=router-appliance-bgp-peer-router-app-a-1 \
      --interface=router-appliance-interface-1 \
      --peer-ip-address=10.0.1.10 \
      --peer-asn=65001 \
      --instance=router-app-a \
      --instance-zone=us-west1-a \
      --region=us-west1

API

router-app-a의 Cloud Router에 BGP 피어를 만들려면 compute.routers.patch 메서드를 사용합니다. 메서드를 두 번 사용하여, 첫 번째 BGP 피어를 만들고 다시 두 번째 BGP 피어를 만듭니다.

PATCH
https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/NAME
{
  "bgpPeers": [
  {
    "name": "PEER_NAME",
    "interfaceName": "INTERFACE_NAME",
    "ipAddress": "IP_ADDRESS",
    "peerIpAddress": "PEER_IP_ADDRESS",
    "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zone/ROUTER_APPLIANCE_ZONE/instances/ROUTER_APPLIANCE_INSTANCE",
    "peerAsn": PEER_ASN,
  }
  {
    "name": "PEER_NAME",
    "interfaceName": "INTERFACE_NAME",
    "ipAddress": "IP_ADDRESS",
    "peerIpAddress": "PEER_IP_ADDRESS",
    "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zone/ROUTER_APPLIANCE_ZONE/instances/ROUTER_APPLIANCE_INSTANCE",
    "peerAsn": PEER_ASN
   }
 ]
}

다음을 바꿉니다.

  • PROJECT_ID: Cloud Router의 프로젝트 ID입니다.
  • REGION: 라우터 어플라이언스 인스턴스로 작동하는 VM이 위치한 리전입니다.
  • NAME: 업데이트할 Cloud Router의 이름입니다.
  • PEER_NAME: 라우터 어플라이언스 인스턴스로 설정할 BGP 피어링 세션의 이름입니다.
  • INTERFACE_NAME: 피어를 추가할 Cloud Router 인터페이스의 이름입니다.
  • IP_ADDRESS: Cloud Router 인터페이스에 사용할 RFC 1918 내부 IP 주소입니다.
  • PEER_IP_ADDRESS: 라우터 어플라이언스 인스턴스로 작동하는 VM의 내부 IP 주소입니다.
  • ROUTER_APPLIANCE_INSTANCE: 라우터 어플라이언스 인스턴스로 작동하는 VM의 URL 형식 이름입니다.
  • ROUTER_APPLIANCE_ZONE: 라우터 어플라이언스 인스턴스로 작동하는 VM이 위치한 영역입니다.
  • PEER_ASN: 이 BGP 피어의 자율 시스템 번호(ASN)입니다. 이 ASN은 RFC 6996에 정의된 16비트 또는 32비트 비공개 ASN이어야 합니다.

다음 샘플 스니펫은 router-app-a에 대해 두 피어를 모두 만드는 방법을 보여줍니다.

PATCH
https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-west1/routers/cloud-router-a
{
  "bgpPeers": [
  {
    "name": "router-appliance-bgp-peer-router-app-a-0",
    "interfaceName": "router-appliance-interface-0",
    "ipAddress": "10.0.1.5",
    "peerIpAddress": "10.0.1.10",
    "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-west1-a/instances/router-app-a",
    "peerAsn": 65001,
  }
  {
    "name": "router-appliance-bgp-peer-router-app-a-1",
    "interfaceName": "router-appliance-interface-1",
    "ipAddress": "10.0.1.6",
    "peerIpAddress": "10.0.1.10",
    "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-west1-a/instances/router-app-a",
    "peerAsn": 65001
   }
 ]
}

router-app-b용 BGP 피어 만들기

앞에서 설명한 것처럼 Cloud Router는 라우터 어플라이언스 인스턴스로 구성된 여러 VM에 BGP 세션을 설정할 수 있습니다. 이러한 VM은 모두 동일한 리전에 있어야 합니다. 이 구성을 만들려면 동일한 Cloud Router 인터페이스에 BGP 피어링 세션을 추가로 만듭니다.

이전 섹션에서는 router-app-a에 BGP 피어링을 설정하는 방법을 설명했습니다. 이 섹션에서는 추가로 Cloud Router cloud-router-a의 두 인터페이스 모두에서 router-app-b를 BGP 피어로 구성하는 방법을 설명합니다.

콘솔

  1. Network Connectivity Center 페이지로 이동합니다.
  2. Network Connectivity Center로 이동
  3. 프로젝트 풀다운 메뉴에서 프로젝트를 선택합니다.
  4. 스포크 탭을 클릭합니다.
  5. 스포크 이름 열에서 스포크를 선택하여 스포크 세부정보 페이지를 봅니다.

  1. 이름 열에서 router-app-b를 찾습니다. 확장 아이콘을 클릭하여 BGP 세션 구성 링크를 표시합니다. 다음 링크 중 하나를 클릭합니다. 이에 따라 시스템에 Cloud Router 및 BGP 세션 구성 패널이 표시됩니다.

  1. Cloud Router 섹션에서 다음 중 하나를 수행합니다.

    • 기존 Cloud Router를 선택하려면 기존 것 사용을 클릭합니다. Cloud Router 필드를 사용하여 적절한 리소스를 식별한 후 선택 및 계속을 클릭합니다.
    • Network Connectivity Center 페이지에서 Cloud Router를 만들려면 새로 만들기를 클릭하고 메시지에 따라 Cloud Router를 만듭니다. 그런 다음 만들고 계속하기를 클릭합니다.
  2. BGP 세션에서 BGP 세션 두 개를 설정합니다. 다음 단계를 세션별로 한 번씩 총 두 번 완료합니다.
    1. BGP 세션 수정을 클릭합니다.
    2. 이름, 피어 ASN, 공지된 경로 우선순위(MED)를 입력하여 양식을 작성합니다. 저장 후 계속을 클릭합니다.
  3. 만들기를 클릭합니다.

gcloud

router-app-b의 Cloud Router에 BGP 피어 2개를 만들려면 gcloud compute routers add-bgp-peer 메서드를 사용합니다. 명령어를 두 번 사용하여 첫 번째 BGP 피어를 만들고 다시 두 번째 BGP 피어를 만듭니다.

  • 첫 번째 BGP 피어의 샘플 구성:

    gcloud compute routers add-bgp-peer cloud-router-a \
        --peer-name=router-appliance-bgp-peer-router-app-b-0 \
        --interface=router-appliance-interface-0 \
        --peer-ip-address=10.0.1.11 \
        --peer-asn=65002 \
        --instance=router-app-b \
        --instance-zone=us-west1-b \
        --region=us-west1
    
  • 두 번째 BGP 피어의 샘플 구성:

    gcloud compute routers add-bgp-peer cloud-router-a \
        --peer-name=router-appliance-bgp-peer-router-app-b-1 \
        --interface=router-appliance-interface-1 \
        --peer-ip-address=10.0.1.11 \
        --peer-asn=65002 \
        --instance=router-app-b \
        --instance-zone=us-west1-b \
        --region=us-west1
    

API

router-app-b의 Cloud Router에 BGP 피어 2개를 만들려면 compute.routers.patch 메서드를 사용합니다. 메서드를 두 번 사용하여, 첫 번째 BGP 피어를 만들고 다시 두 번째 BGP 피어를 만듭니다.

PATCH
https://compute.googleaps.com/compute/v1/projects/my-project/regions/us-west1/routers/cloud-router-a
{
  "bgpPeers": [
  {
    "name": "router-appliance-bgp-peer-router-app-b-0",
    "interfaceName": "router-appliance-interface-0",
    "ipAddress": "10.0.1.5",
    "peerIpAddress": "10.0.1.11",
    "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-west1-b/instances/router-app-b",
    "peerAsn": 65002,
  }
  {
    "name": "router-appliance-bgp-peer-router-app-b-1",
    "interfaceName": "router-appliance-interface-1",
    "ipAddress": "10.0.1.6",
    "peerIpAddress": "10.0.1.11",
    "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-west1-b/instances/router-app-b",
    "peerAsn": 65002
   }
 ]
}

라우터 어플라이언스 인스턴스에서 BGP 구성

Cloud Router에 대한 BGP 연결을 위해 라우터 어플라이언스 인스턴스를 구성하려면 라우터 어플라이언스 이미지의 공급업체 문서를 참조하세요.

커스텀 학습된 경로 사용

선택적으로 커스텀 학습된 경로를 사용하도록 라우터 어플라이언스 인스턴스를 구성할 수 있습니다. 커스텀 학습된 경로를 구성할 때 Cloud Router는 BGP 피어(라우터 어플라이언스 인스턴스)에서 경로를 학습한 것처럼 작동합니다.

커스텀 학습된 경로를 사용하려면 다음 단계를 수행합니다.

  1. 어플라이언스에 로그인합니다. 지정하려는 각 커스텀 학습된 경로에서 다음 홉이 외부 네트워크에 설정된 IP 접두사에 대해 정적 경로를 구성합니다. 이 단계가 필요한 이유는 라우터 어플라이언스 인스턴스가 커스텀 학습된 경로를 사용하는 트래픽 전달 방법을 알아야 하기 때문입니다.

  2. Cloud Router에서 커스텀 학습된 경로를 사용하도록 BGP 세션을 업데이트합니다. 커스텀 학습된 경로를 사용하도록 기존 세션 업데이트에 설명된 단계를 수행합니다.

MD5 인증 사용

사용 중인 라우터 어플라이언스 이미지가 MD5 인증을 지원하는 경우 BGP 피어링 세션에 인증을 선택적으로 추가할 수 있습니다. Cloud Router에 MD5 인증 사용에 대한 자세한 내용은 MD5 인증 사용을 참조하세요.

다음 단계