동적 라우팅을 사용하여 기본 VPN 게이트웨이 만들기

이 페이지에서는 동적 라우팅을 사용하여 경계 경로 프로토콜(BGP)을 사용하는 터널 1개와 기본 VPN 게이트웨이를 만드는 방법을 설명합니다.

동적 라우팅을 사용할 때는 로컬 또는 원격 트래픽 선택기를 지정하지 않으며, 대신 Cloud Router를 사용하세요. 경로 정보는 동적으로 교환됩니다.

Cloud VPN에 대한 자세한 내용은 다음 리소스를 참조하세요.

  • Cloud VPN 설정 전에 고려해야 할 권장사항은 권장사항을 참조하세요.

  • Cloud VPN에 대한 상세 설명은 Cloud VPN 개요를 참조하세요.

  • 이 페이지에서 사용되는 용어의 정의는 주요 용어를 참조하세요.

요구사항

일반 가이드라인

  • 동적 라우팅이 Google Cloud에서 작동하는 방식에 대한 정보를 검토합니다.
  • 동종 앱 VPN 게이트웨이가 BGP를 지원하는지 확인합니다.
  • 기본 VPN 토폴로지 샘플을 확인합니다.

Compute Engine VM에 타사 VPN 소프트웨어 설치

동적 라우팅으로 기본 VPN 터널을 만들 때는 동종 앱 VPN 게이트웨이 인터페이스에 지정하는 IP 주소를 Compute Engine VM에 할당해야 합니다.

따라서 기본 VPN 터널을 만들려면 먼저 Compute Engine VM에 타사 VPN 소프트웨어를 설치해야 합니다. 기본 VPN 터널을 구성할 때는 Compute Engine VM의 외부 IP 주소를 동종 앱 VPN 게이트웨이 인터페이스로 지정합니다.

또한 Google이 소유한 리전별 외부 IPv4 주소 풀에서 동종 앱 VPN 게이트웨이 인터페이스의 IP 주소를 할당해야 합니다. IP 주소는 자체 IP 주소 사용(BYOIP) 범위에 포함될 수 없습니다.

Cloud Router 만들기

기본 VPN에 동적 라우팅을 사용하는 터널을 만들려면 Cloud Router를 사용해야 합니다. 새 Cloud Router를 만들거나 기존 Cloud VPN 터널 또는 VLAN 연결에 기존 Cloud Router를 사용할 수 있습니다. 그러나 첨부의 특정 ASN 요구사항으로 인해 사용하는 Cloud Router가 Partner Interconnect 연결과 연관된 VLAN 연결에 대한 BGP 세션을 이미 관리하고 있지 않아야 합니다.

시작하기 전에

Cloud VPN을 보다 쉽게 구성할 수 있도록 Google Cloud에서 다음 항목을 설정합니다.

  1. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  3. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  4. Google Cloud CLI를 설치합니다.
  5. gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.

    gcloud init
  6. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  7. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  8. Google Cloud CLI를 설치합니다.
  9. gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.

    gcloud init
  1. Google Cloud CLI를 사용하는 경우 다음 명령어를 사용하여 프로젝트 ID를 설정합니다. 이 페이지의 gcloud 관련 안내에서는 명령어를 실행하기 전에 프로젝트 ID를 설정했다고 가정합니다.

        gcloud config set project PROJECT_ID
        
  1. 또한 다음 명령어를 실행하여 이미 설정된 프로젝트 ID를 확인할 수 있습니다.

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

커스텀 VPC 네트워크 및 서브넷 만들기

기본 VPN 게이트웨이 및 터널을 만들기 전에 기본 VPN 게이트웨이가 있는 리전에 하나의 Virtual Private Cloud(VPC) 네트워크와 하나 이상의 서브넷을 만듭니다.

게이트웨이 및 터널 만들기

콘솔

게이트웨이 구성

  1. Google Cloud 콘솔에서 VPN 페이지로 이동합니다.
    VPN 페이지로 이동
    1. 게이트웨이를 처음 만드는 경우 VPN 연결 만들기 버튼을 선택합니다.
    2. VPN 설정 마법사를 선택합니다.
  2. 기본 VPN 라디오 버튼을 선택합니다.
  3. 계속을 클릭합니다.
  4. VPN 연결 만들기 페이지에서 다음 게이트웨이 설정을 지정합니다.
    • 이름 - VPN 게이트웨이의 이름입니다. 이름은 나중에 변경할 수 없습니다.
    • 설명 - 원할 경우 설명을 추가합니다.
    • 네트워크 - VPN 게이트웨이와 터널을 만들 기존 VPC 네트워크를 지정합니다.
    • 리전 - Cloud VPN 게이트웨이 및 터널은 리전별 개체입니다. 게이트웨이가 위치할 Google Cloud 리전을 선택합니다. 다른 리전에 있는 인스턴스 및 다른 리소스는 경로 순서에 따라 이그레스 트래픽에 터널을 사용할 수 있습니다. 최상의 성능을 원한다면 관련 Google Cloud 리소스와 동일한 리전에서 게이트웨이와 터널을 찾습니다.
    • IP 주소 - 리전별 외부 IP 주소를 만들거나 기존 주소를 선택합니다.

터널 구성

  1. 새 터널 항목에 대해 터널 섹션에서 다음을 지정합니다.

    • 이름 - VPN 터널의 이름입니다. 이름은 나중에 변경할 수 없습니다.
    • 설명 - 선택적으로 설명을 입력합니다.
    • 원격 피어 IP 주소 — 동종 앱 VPN 게이트웨이의 외부 IP 주소를 지정합니다.
    • IKE 버전 - 동종 앱 VPN 게이트웨이에서 지원하는 적절한 IKE 버전을 선택합니다. 동종 앱 기기에서 지원되는 경우 IKEv2가 권장됩니다.

    • 공유 비밀번호 - 인증을 위해 사용되는 사전 공유 키를 제공합니다. Cloud VPN 터널의 공유 비밀번호는 피어 VPN 게이트웨이에서 상대 터널을 구성할 때 사용한 공유 비밀번호와 일치해야 합니다.동종 앱 이 지침에 따라 암호적으로 강력한 공유 비밀번호를 생성할 수 있습니다.

    • 라우팅 옵션 - 동적(BGP)을 선택합니다. 동적 라우팅만 사용하여 Google Cloud VM 인스턴스 내에서 실행되는 타사 VPN 게이트웨이 소프트웨어에 연결할 수 있습니다.

    • Cloud Router - 아직 Cloud Router를 만들지 않은 경우 아래의 설명대로 옵션을 지정하여 새 Cloud Router를 만듭니다. 또는 Cloud Router가 Partner Interconnect와 연결된 Interconnect 연결에 대한 BGP 세션을 관리하지 않는 경우 기존 Cloud Router를 사용할 수 있습니다. 기존 Cloud Router를 사용하는 경우 새 BGP 세션이 생성되지만 Google ASN이 동일합니다. 새 Cloud Router를 만들려면 다음 세부정보를 지정합니다.

      • 이름 — Cloud Router 이름입니다. 이름은 나중에 변경할 수 없습니다.
      • 설명 - 선택적으로 설명을 입력합니다.
      • Google ASN비공개 ASN을 선택합니다(64512~65534, 4200000000~4294967294). 이 Google ASN은 Cloud Router에서 관리되는 모든 BGP 세션에 사용됩니다. ASN은 나중에 변경할 수 없습니다.
      • 저장 후 계속을 클릭합니다.
    • BGP 세션 - 연필 아이콘을 클릭한 후 다음 세부정보를 지정합니다. 완료되었으면 저장 후 계속을 클릭합니다.

      • 이름 - BGP 세션의 이름입니다. 나중에 변경할 수 없습니다.
      • 피어 ASN — 동종 앱 VPN 게이트웨이에서 사용하는 공개 또는 비공개(64512~65534, 4200000000~4294967294) ASN입니다.
      • 공지된 경로 우선순위 - (선택사항) 'Google Cloud에 연결' 경로를 공지할 때 Cloud Router가 사용하는 기본 우선순위입니다. 자세한 내용은 공지된 프리픽스 및 우선순위를 참조하세요. 동종 앱 VPN 게이트웨이는 이를 MED VPN 값으로 가져옵니다.
      • Cloud Router BGP IPBGP 동종 앱 IP - 2개의 BGP 인터페이스 IP 주소는 169.254.0.0/16 블록의 공통 /30 CIDR에 속하는 링크-로컬 IP 주소여야 합니다. 각 BGP IP는 경로 정보 교환을 위해 사용되는 해당 링크-로컬 IP를 정의합니다. 예를 들어 169.254.1.1169.254.1.2는 공통 /30 블록에 속합니다.
  2. 동일한 게이트웨이에 터널을 더 만들어야 할 경우 터널 추가를 클릭하고 이전 단계를 반복합니다. 터널은 나중에 더 추가할 수 있습니다.

  3. 만들기를 클릭합니다.

gcloud

다음 명령어에서 다음 항목을 바꿉니다.

  • PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • NETWORK를 Google Cloud 네트워크 이름으로 바꿉니다.
  • REGION을 게이트웨이 및 터널을 만들어야 하는 Google Cloud 리전으로 바꿉니다.
  • (선택사항) --target-vpn-gateway-region은 기본 VPN 게이트웨이가 작동할 리전입니다. 값은 --region과 같아야 합니다. 지정하지 않으면 이 옵션이 자동으로 설정됩니다. 이 옵션은 이 명령어 호출의 기본 compute/region 속성 값을 재정의합니다.
  • GW_NAME을 게이트웨이 이름으로 바꿉니다.
  • GW_IP_NAME을 게이트웨이에서 사용되는 외부 IP 이름으로 바꿉니다.

다음 명령어 시퀀스를 완성하여 Google Cloud 게이트웨이를 만듭니다.

  1. Cloud VPN 게이트웨이에 대한 리소스를 만듭니다.

    1. 대상 VPN 게이트웨이 객체를 만듭니다.

      gcloud compute target-vpn-gateways create GW_NAME \
          --network NETWORK \
          --region REGION \
          --project PROJECT_ID
      
    2. 리전 외부(정적) IP 주소를 예약합니다.

      gcloud compute addresses create GW_IP_NAME \
          --region REGION \
          --project PROJECT_ID
      
    3. 동종 앱 VPN 게이트웨이를 구성할 때 사용할 수 있도록 IP 주소를 적어 둡니다.

      gcloud compute addresses describe GW_IP_NAME \
          --region REGION \
          --project PROJECT_ID \
          --format='flattened(address)'
      
    4. 3개의 전달 규칙을 만듭니다. 이러한 규칙은 Google Cloud에 ESP(IPsec), UDP 500, UDP 4500 트래픽을 게이트웨이로 전송하도록 지시합니다.

       gcloud compute forwarding-rules create fr-GW_NAME-esp \
           --load-balancing-scheme=EXTERNAL \
           --ip-protocol ESP \
           --address GW_IP_NAME \
           --target-vpn-gateway GW_NAME \
           --region REGION \
           --project PROJECT_ID
      
      gcloud compute forwarding-rules create fr-GW_NAME-udp500 \
          --load-balancing-scheme=EXTERNAL \
          --ip-protocol UDP \
          --ports 500 \
          --address GW_IP_NAME \
          --target-vpn-gateway GW_NAME \
          --region REGION \
          --project PROJECT_ID
      
      gcloud compute forwarding-rules create fr-GW_NAME-udp4500 \
          --load-balancing-scheme=EXTERNAL \
          --ip-protocol UDP \
          --ports 4500 \
          --address GW_IP_NAME \
          --target-vpn-gateway GW_NAME \
          --region REGION \
          --project PROJECT_ID
      
  2. 아직 완료 전이라면 다음 명령어를 완료하여 Cloud Router를 만듭니다. 아래의 설명대로 옵션을 바꿉니다. 또는 Cloud Router가 Partner Interconnect와 연결된 Interconnect 연결에 대한 BGP 세션을 관리하지 않는 한 기존 Cloud Router를 사용할 수 있습니다.

    • ROUTER_NAME을 Cloud Router 이름으로 바꿉니다.
    • GOOGLE_ASN비공개 ASN(64512~65534, 4200000000~4294967294)으로 바꿉니다. Google ASN은 동일한 Cloud Router에 있는 모든 BGP 세션에 사용되며, 나중에 변경할 수 없습니다.
      gcloud compute routers create ROUTER_NAME \
      --asn GOOGLE_ASN \
      --network NETWORK \
      --region REGION \
      --project PROJECT_ID
    
  3. 다음 세부정보에 따라 Cloud VPN 터널을 만듭니다.

    • TUNNEL_NAME을 터널 이름으로 바꿉니다.
    • ON_PREM_IP를 동종 앱 VPN 게이트웨이의 외부 IP 주소로 바꿉니다.
    • IKE_VERS를 IKEv1의 경우 1, IKEv2의 경우 2로 바꿉니다.
    • SHARED_SECRET을 공유 비밀번호로 바꿉니다. Cloud VPN 터널의 공유 비밀번호는 동종 앱 VPN 게이트웨이에서 상대 터널을 구성할 때 사용한 공유 비밀번호와 일치해야 합니다. 이 지침에 따라 암호적으로 강력한 공유 비밀번호를 생성할 수 있습니다.
    • ROUTER_NAME을 Cloud VPN 터널에 대한 경로를 관리하기 위해 사용하려는 Cloud Router의 이름으로 바꿉니다. Cloud Router는 터널을 만들기 전에 존재해야 합니다.

      gcloud compute vpn-tunnels create TUNNEL_NAME \
          --peer-address ON_PREM_IP \
          --ike-version IKE_VERS \
          --shared-secret SHARED_SECRET \
          --router ROUTER_NAME \
          --target-vpn-gateway GW_NAME \
          --region REGION \
          --project PROJECT_ID
      
  4. 인터페이스 및 BGP 동종 앱을 만들어서 Cloud Router에 대한 BGP 세션을 구성합니다. 다음 방법 중 하나를 선택합니다.

    • Google Cloud가 링크-로컬 BGP IP 주소를 자동으로 선택하도록 하려면 다음 안내를 따르세요.

      1. Cloud Router에 새 인터페이스를 추가합니다. INTERFACE_NAME을 바꿔서 인터페이스 이름을 제공합니다.

        gcloud compute routers add-interface ROUTER_NAME \
            --interface-name INTERFACE_NAME \
            --vpn-tunnel TUNNEL_NAME \
            --region REGION \
            --project PROJECT_ID
        
      2. 인터페이스에 BGP 동종 앱을 추가합니다. PEER_NAME을 피어 이름으로 바꾸고 PEER_ASN을 동종 앱 VPN 게이트웨이에 구성된 ASN으로 바꿉니다.

        gcloud compute routers add-bgp-peer ROUTER_NAME \
            --peer-name PEER_NAME \
            --peer-asn PEER_ASN \
            --interface INTERFACE_NAME \
            --region REGION \
            --project PROJECT_ID
        

        동종 앱에 대해 커스텀 학습된 경로를 정의하려면 --set-custom-learned-route-ranges 플래그를 추가합니다. 또한 경로에 대해 --custom-learned-route-priority 플래그를 사용해서 0에서 65535 사이(포함)의 우선순위 값을 설정할 수 있습니다. 각 BGP 세션에는 세션에 대해 구성한 모든 커스텀 학습된 경로에 적용되는 하나의 우선순위 값이 포함될 수 있습니다. 이 기능에 대한 자세한 내용은 커스텀 학습된 경로를 참조하세요.

        gcloud compute routers add-bgp-peer ROUTER_NAME \
            --peer-name=PEER_NAME_0 \
            --peer-asn=PEER_ASN \
            --interface=ROUTER_INTERFACE_NAME_0 \
            --region=REGION \
            --set-custom-learned-route-ranges=IP_ADDRESS_RANGES \
            --custom-learned-route-priority=PRIORITY
        
      3. Cloud Router가 선택한 BGP IP 주소를 나열합니다. 새 인터페이스를 기존 Cloud Router에 추가한 경우 새 인터페이스의 BGP IP 주소가 가장 높은 색인 번호로 나열되어야 합니다. 피어 IP 주소는 동종 앱 VPN 게이트웨이를 설정하는 데 사용해야 하는 BGP IP입니다.

        gcloud compute routers get-status ROUTER_NAME \
             --region REGION \
             --project PROJECT_ID \
             --format='flattened(result.bgpPeerStatus[].ipAddress, \
             result.bgpPeerStatus[].peerIpAddress)'
        

        단일 Cloud VPN 터널(색인 0)을 관리하는 Cloud Router에 대한 예상 출력은 다음과 같습니다. 여기서 GOOGLE_BGP_IP는 Cloud Router 인터페이스의 BGP IP를 나타내며, ON_PREM_BGP_IP는 해당 동종 앱 의 BGP IP를 나타냅니다.

        result.bgpPeerStatus[0].ipAddress:     GOOGLE_BGP_IP
        result.bgpPeerStatus[0].peerIpAddress: ON_PREM_BGP_IP
        
    • Google Cloud BGP 인터페이스 및 동종 앱과 연결된 BGP IP 주소를 수동으로 할당하려면 다음 안내를 따르세요.

      1. /30 블록의 링크-로컬 BGP IP 주소 쌍을 169.254.0.0/16 범위 중에서 결정합니다. 다음 명령어에서 GOOGLE_BGP_IP를 바꿔서 이러한 BGP IP 주소 중 하나를 Cloud Router에 할당합니다. 다른 BGP IP 주소는 동종 앱 VPN 게이트웨이에 사용됩니다. 이 주소를 사용하도록 기기를 구성하고 아래의 마지막 명령어에서 ON_PREM_BGP_IP를 바꿔야 합니다.

      2. Cloud Router에 새 인터페이스를 추가합니다. INTERFACE_NAME을 바꿔서 인터페이스 이름을 지정합니다.

        gcloud compute routers add-interface ROUTER_NAME \
            --interface-name INTERFACE_NAME \
            --vpn-tunnel TUNNEL_NAME \
            --ip-address GOOGLE_BGP_IP \
            --mask-length 30 \
            --region REGION \
            --project PROJECT_ID
        
      3. 인터페이스에 BGP 동종 앱을 추가합니다. PEER_NAME을 동종 앱 이름으로 바꾸고 PEER_ASN을 동종 앱 VPN 게이트웨이에 구성된 ASN으로 바꿉니다.

        gcloud compute routers add-bgp-peer ROUTER_NAME \
            --peer-name PEER_NAME \
            --peer-asn PEER_ASN \
            --interface INTERFACE_NAME \
            --peer-ip-address ON_PREM_BGP_IP \
            --region REGION \
            --project PROJECT_ID
        

        동종 앱에 대해 커스텀 학습된 경로를 정의하려면 --set-custom-learned-route-ranges 플래그를 추가합니다. 또한 경로에 대해 --custom-learned-route-priority 플래그를 사용해서 0에서 65535 사이(포함)의 우선순위 값을 설정할 수 있습니다. 각 BGP 세션에는 세션에 대해 구성한 모든 커스텀 학습된 경로에 적용되는 하나의 우선순위 값이 포함될 수 있습니다. 이 기능에 대한 자세한 내용은 커스텀 학습된 경로를 참조하세요.

        gcloud compute routers add-bgp-peer ROUTER_NAME \
            --peer-name=PEER_NAME_0 \
            --peer-asn=PEER_ASN \
            --interface=ROUTER_INTERFACE_NAME_0 \
            --region=REGION \
            --set-custom-learned-route-ranges=IP_ADDRESS_RANGES \
            --custom-learned-route-priority=PRIORITY
        

구성 완료하기

새 Cloud VPN 게이트웨이 및 관련 VPN 터널을 사용하려면 먼저 다음 단계를 완료하세요.

  1. Google Cloud VM 인스턴스에서 타사 VPN 소프트웨어로 동종 앱 VPN 게이트웨이 구성을 완료합니다. 여기에서 해당 터널을 구성합니다. 기본 VPN에 동적 라우팅만 사용하여 Google Cloud 내에서 실행되는 타사 VPN 소프트웨어에 연결할 수 있습니다.
  2. Google Cloud 및 동종 앱 네트워크에서 필요에 따라 방화벽 규칙을 구성합니다.
  3. VPN 터널 및 전달 규칙의 상태를 확인합니다.

다음 단계

  • 피어 VPN 게이트웨이에 허용되는 IP 주소를 제어하려면 동종 앱 VPN 게이트웨이의 IP 주소 제한을 참조하세요.
  • 고가용성 및 높은 처리량 시나리오 또는 다중 서브넷 시나리오를 사용하려면 고급 구성을 참조하세요.
  • Cloud VPN을 사용할 때 발생할 수 있는 일반적인 문제를 해결하려면 문제 해결을 참조하세요.