빠른 시작: VPC 네트워크와 온프레미스 네트워크 간에 Cloud Router 만들기

VPC 네트워크와 온프레미스 네트워크 간에 Cloud Router 만들기

Cloud Router는 Virtual Private Cloud(VPC) 네트워크와 온프레미스 네트워크 간에 경로를 동적으로 교환합니다. Cloud Router를 만든 후에는 Cloud Router와 온프레미스 라우터 간에 BGP 세션을 설정할 수 있습니다.

Cloud Router를 만들 때 기본 경로 공지를 사용하거나 커스텀 공지를 지정할 수 있습니다. 기본적으로 Cloud Router는 리전별 동적 라우팅의 경우 해당 리전의 서브넷에 공지하고, 글로벌 동적 라우팅의 경우 VPC 네트워크의 모든 서브넷에 공지합니다. 커스텀 경로 공지를 사용하면 외부 정적 IP 주소 또는 특정 CIDR 범위와 같이 Cloud Router 공지를 라우팅하는 항목을 선택할 수 있습니다.

자세한 내용은 Cloud Router 개요의 다음 섹션을 참조하세요.

시작하기 전에

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

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

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

Cloud Router 만들기

Cloud Router를 만들려면 다음 단계를 따르세요.

Console

  1. Google Cloud Console에서 Cloud Router 만들기 페이지로 이동합니다.

    Cloud Router 만들기로 이동

  2. Cloud Router의 세부정보를 지정합니다.

    • 이름: Cloud Router의 이름입니다. 이 이름은 Cloud Console에 표시되며 Google Cloud CLI에서 Cloud Router를 참조하는 데 사용됩니다(예: my-router).
    • 설명(선택사항): Cloud Router에 대한 설명입니다.
    • 네트워크: 연결할 인스턴스가 포함된 VPC 네트워크입니다(예: my-network).
    • 리전: Cloud Router를 찾으려는 리전입니다(예: asia-east1).
    • Google ASN: 구성 중인 Cloud Router의 비공개 ASN(64512-65534, 4200000000-4294967294)입니다. 이는 동일한 리전과 네트워크에서 피어 ASN으로 아직 사용하고 있지 않은 비공개 ASN일 수 있습니다(예: 65001). Cloud Router를 사용하려면 비공개 ASN를 사용해야 하지만 온프레미스 ASN은 공개 또는 비공개일 수 있습니다.
    • BGP 피어 연결 유지 간격: 피어 라우터로 전송되는 두 개의 연속 BGP 연결 유지 메시지 사이의 간격입니다. 이 값은 간격의 초 단위 값을 지정하는 20~60 사이의 정수여야 합니다. 기본값은 20초입니다. 자세한 내용은 BGP 타이머 관리를 참조하세요.
  3. 선택사항: 커스텀 경로 공지를 지정하려면 공지된 경로 섹션으로 이동합니다. 다음 단계에 대한 자세한 내용은 커스텀 경로 공지를 참조하세요.

    1. 커스텀 경로를 지정하려면 커스텀 경로 만들기를 선택합니다.
    2. Cloud Router에서 보이는 서브넷을 공지할지 선택합니다. 이 옵션을 사용 설정하면 Cloud Router의 기본 동작을 모방합니다.
    3. 공지된 경로를 추가하려면 커스텀 경로 추가를 선택한 후 구성합니다.
  4. 설정을 저장하고 Cloud Router를 만들려면 만들기를 클릭합니다. 새 Cloud Router가 Cloud Router 등록 페이지에 나타납니다. 세부정보를 보고 BGP 세션을 구성하려면 해당 세션을 선택합니다.

gcloud

  • 연결하려는 인스턴스가 포함된 리전에서 Cloud Router를 만들려면 create 명령어를 실행합니다.

    gcloud compute routers create ROUTER_NAME \
        --project=PROJECT_ID \
        --network=NETWORK \
        --asn=ASN_NUMBER \
        --region=REGION
    

    다음을 바꿉니다.

    • ROUTER_NAME: Cloud Router의 이름
    • PROJECT_ID: Cloud Router가 포함된 프로젝트의 프로젝트 ID
    • NETWORK: 연결하려는 인스턴스가 포함된 VPC 네트워크
    • ASN_NUMBER: 온프레미스 네트워크에서 아직 사용하지 않는 비공개 ASN(64512-65534, 4200000000-4294967294)입니다. Cloud Router를 사용하려면 비공개 ASN을 사용해야 하지만 온프레미스 ASN은 공개 또는 비공개일 수 있습니다.
    • REGION: Cloud Router를 찾을 리전입니다. Cloud Router는 현재 위치한 리전의 모든 서브넷을 공지합니다.
  • 커스텀 경로 공지로 Cloud Router를 만들려면 --advertisement-modecustom으로 설정하고 --set-advertisement-ranges 플래그와 --set-advertisement-groups 플래그를 사용하여 경로 공지를 지정합니다.

    --set-advertisement-ranges 플래그는 CIDR 범위 목록을 허용합니다. --set-advertisement-groups 플래그는 Cloud Router가 동적으로 공지하는 Google 정의 그룹을 허용합니다. 현재 유일하게 유효한 값은 all_subnets로, VPC 네트워크의 동적 라우팅 모드에 따라 서브넷을 공지합니다(기본 공지와 비슷함).

    다음 예시에서는 서브넷과 커스텀 IP 범위 1.2.3.46.7.0.0/16을 공지합니다.

    gcloud compute routers create ROUTER_NAME \
        --project=PROJECT_ID \
        --network=NETWORK \
        --asn=ASN_NUMBER \
        --advertisement-mode custom \
        --set-advertisement-groups all_subnets \
        --set-advertisement-ranges 1.2.3.4,6.7.0.0/16
    
  • BGP 피어에 대한 연결 유지 타이머를 설정하려면 피어 라우터로 전송되는 BGP 연결 유지 메시지 사이의 간격을 설정하는 --keepalive-interval 옵션을 사용합니다. 이 값은 간격의 초 단위 값을 지정하는 20~60 사이의 정수여야 합니다. 기본값은 20초입니다.

API

  • routers.insert 메서드를 사용합니다.

       POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers
       {
         "bgp": {
           "asn": "ASN_NUMBER"
           "keepaliveInterval": KEEPALIVE_INTERVAL
         },
         "name": "ROUTER_NAME",
         "network": "NETWORK"
       }
    

    다음을 바꿉니다.

    • PROJECT_ID: VPC 네트워크가 포함된 프로젝트의 ID입니다.
    • REGION: Cloud Router를 배치할 리전입니다.
    • ASN_NUMBER: 구성 중인 Cloud Router의 비공개 ASN(64512-65534, 4200000000-4294967294)입니다. 이는 동일한 리전과 네트워크에서 피어 ASN으로 아직 사용하고 있지 않은 비공개 ASN일 수 있습니다(예: 65001). Cloud Router를 사용하려면 비공개 ASN를 사용해야 하지만 온프레미스 ASN은 공개 또는 비공개일 수 있습니다.
    • KEEPALIVE_INTERVAL(선택사항): 피어 라우터로 전송되는 BGP 연결 유지 메시지 사이의 간격을 설정하는 Cloud Router용 연결 유지 타이머입니다.

      이 값은 간격의 초 단위 값을 지정하는 20~60 사이의 정수여야 합니다. 기본값은 20초입니다.

    • ROUTER_NAME: Cloud Router의 이름입니다. 이 이름은 Cloud Console에 표시되며 Google Cloud CLI에서 Cloud Router를 참조하는 데 사용됩니다.

    • NETWORK: 연결하려는 인스턴스가 포함된 네트워크

  • 커스텀 경로 공지로 Cloud Router를 만들려면 bgp.advertiseMode 필드를 CUSTOM으로 설정하고 bgp.advertisedGroups[]bgp.advertisedIpRanges[] 필드를 사용하여 경로 공지를 지정합니다.

    bgp.advertisedIpRanges[] 필드는 CIDR 범위 배열을 허용합니다. bgp.advertisedGroups[] 필드는 Cloud Router가 동적으로 공지하는 Google 정의 그룹을 허용합니다. 현재 유일하게 유효한 값은 ALL_SUBNETS로, VPC 네트워크의 동적 라우팅 모드에 따라 서브넷을 공지합니다(기본 공지와 비슷함).

    다음 예시에서는 서브넷과 커스텀 IP 주소 범위 1.2.3.46.7.0.0/16을 공지합니다.

       POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers
       {
         "bgp": {
           "asn": "ASN_NUMBER",
           "advertiseMode": "CUSTOM",
           "advertisedGroups": [
             "ALL_SUBNETS"
           ],
           "advertisedIpRanges": [
             {
               "range": "1.2.3.4",
               "description": "First example range"
             },
             {
               "range": "6.7.0.0/16",
               "description": "Second example range"
             }
           ]
         },
         "name": "ROUTER_NAME",
         "network": "NETWORK"
       }
      

Terraform

Terraform 모듈을 사용합니다.

module "cloud_router" {
  source  = "terraform-google-modules/cloud-router/google"
  version = "~> 0.4"

  name   = "my-router"
  region = "us-central1"

  bgp = {
    # The ASN (16550, 64512 - 65534, 4200000000 - 4294967294) can be any private ASN
    # not already used as a peer ASN in the same region and network or 16550 for Partner Interconnect.
    asn = "65001"
  }

  # project = "my-project-id"
  project = var.project
  # network = "my-network"
  network = var.network
}

다음 단계

  • Cloud Router와 온프레미스 라우터 간에 BGP 세션을 설정하려면 BGP 세션 설정을 참조하세요.

  • Cloud Router 사용 시 문제를 해결하려면 문제 해결을 참조하세요.