정적 라우팅을 사용하여 기본 VPN 만들기

이 페이지에서는 정적 라우팅을 사용하여 기본 VPN 게이트웨이와 터널 하나를 만드는 방법을 설명합니다. 이 터널은 정책 기반 또는 경로 기반 터널입니다.

경로 기반 VPN에서는 원격 트래픽 선택기만 지정합니다. 로컬 트래픽 선택기를 지정해야 할 경우에는 대신 정책 기반 라우팅을 사용하는 Cloud VPN 터널을 만드세요.

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

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

  • Cloud VPN에 대한 자세한 내용은 Cloud VPN 개요를 참조하세요.

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

라우팅 옵션

Google Cloud Console을 사용하여 정책 기반 터널을 만들면 기본 VPN이 다음 작업을 수행합니다.

  • 터널의 로컬 트래픽 선택기를 지정한 IP 범위로 설정합니다.
  • 터널의 원격 트래픽 선택기를 원격 네트워크 IP 범위 필드에 지정한 IP 범위로 설정합니다.
  • 원격 네트워크 IP 범위의 각 범위에 대해 Google Cloud는 대상의 프리픽스가 범위의 CIDR이고 다음 홉이 터널인 커스텀 정적 경로를 만듭니다.

Cloud Console를 사용하여 경로 기반 터널을 사용할 때 Classic VPN은 다음 태스크를 수행합니다.

  • 터널의 로컬 및 원격 트래픽 선택기를 임의의 IP 주소로 설정합니다(0.0.0.0/0).
  • 원격 네트워크 IP 범위의 각 범위에 대해 Google Cloud는 대상의 프리픽스가 범위의 CIDR이고 다음 홉이 터널인 커스텀 정적 경로를 만듭니다.

gcloud 명령줄 도구를 사용하여 정책 기반 터널 또는 경로 기반 터널을 만들 때 터널의 트래픽 선택기는 동일한 방법으로 정의됩니다. 그러나 커스텀 정적 경로는 별도의 명령어로 만들기 때문에 해당 경로는 더욱 세밀하게 제어할 수 있습니다.

트래픽 선택기에 지정할 수 있는 CIDR 수는 IKE 버전에 따라 다릅니다.

중요한 배경 정보는 다음을 참조하세요.

시작하기 전에

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

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

    프로젝트 선택기로 이동

  3. Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다. 프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요.

  4. Cloud SDK 설치 및 초기화
  1. gcloud 명령줄 도구를 사용하는 경우 다음 명령어를 사용하여 프로젝트 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) 네트워크와 하나 이상의 서브넷을 만듭니다.

게이트웨이 및 터널 만들기

VPN 설정 마법사는 기본 VPN 게이트웨이를 만들기 위한 유일한 콘솔 옵션입니다. 마법사에는 기본 VPN 게이트웨이, 터널, BGP 세션, 외부 VPN 게이트웨이 리소스를 만들기 위한 모든 필수 구성 단계가 포함되어 있습니다. 하지만 BGP 세션 구성과 같은 특정 단계는 나중에 완료할 수도 있습니다.

Console

게이트웨이 구성

  1. Google Cloud Console에서 VPN 페이지로 이동합니다.

    VPN으로 이동

  2. 게이트웨이를 처음 만드는 경우 VPN 연결 만들기를 클릭합니다.

  3. VPN 설정 마법사를 선택합니다.

  4. 기본 VPN 옵션 버튼을 선택합니다.

  5. 계속을 클릭합니다.

  6. VPN 연결 만들기 페이지에서 다음 게이트웨이 설정을 지정합니다.

    • 이름: VPN 게이트웨이의 이름입니다. 이름은 나중에 변경할 수 없습니다.
    • 설명: 원할 경우 설명을 추가합니다.
    • 네트워크: VPN 게이트웨이와 터널을 만들 기존 VPC 네트워크를 지정합니다.
    • 리전: Cloud VPN 게이트웨이 및 터널은 리전별 개체입니다. 게이트웨이가 위치할 Google Cloud 리전을 선택합니다. 다른 리전에 있는 인스턴스 및 다른 리소스는 경로 순서에 따라 이그레스 트래픽에 터널을 사용할 수 있습니다. 최상의 성능을 원한다면 관련 Google Cloud 리소스와 동일한 리전에서 게이트웨이와 터널을 찾습니다.
    • IP 주소: 리전별 외부 IP 주소를 만들거나 기존 주소를 선택합니다.

터널 구성

  1. 새 터널의 경우 터널 섹션에서 다음 설정을 지정합니다.

    • 이름: VPN 터널의 이름입니다. 이름은 나중에 변경할 수 없습니다.
    • 설명: 원할 경우 설명을 입력합니다.
    • 원격 피어 IP 주소: 피어 VPN 게이트웨이의 외부 IP 주소를 지정합니다.
    • IKE 버전: 피어 VPN 게이트웨이에서 지원하는 적절한 IKE 버전을 선택합니다. 피어 기기에서 지원되는 경우 IKEv2가 권장됩니다.
    • IKE 사전 공유 키: 인증에 사용되는 사전 공유 키(공유 보안 비밀)을 제공합니다. Cloud VPN 터널의 사전 공유 키는 피어 VPN 게이트웨이에서 상대 터널을 구성할 때 사용한 공유 비밀번호와 일치해야 합니다. 암호적으로 강력한 사전 공유 키를 생성하려면 다음 안내를 따르세요.

    정책 기반 터널

    1. 라우팅 옵션에서 정책 기반을 선택합니다.
    2. 원격 네트워크 IP 범위에서 피어 네트워크에서 사용된 IP 범위를 공백으로 구분된 목록으로 제공합니다. 이는 원격 트래픽 선택기이거나 Cloud VPN의 관점에서 오른쪽에 있습니다.
    3. 로컬 IP 범위에서 다음 방법 중 하나를 선택합니다.
      • 기존 로컬 IP 범위를 선택하려면 로컬 서브네트워크 메뉴를 사용합니다.
      • VPC 네트워크에 사용된 공백으로 구분된 IP 범위 목록을 입력하려면 로컬 IP 범위 필드를 사용합니다. 중요한 고려 사항은 정책 기반 터널 및 트래픽 선택기를 참조하세요.

    경로 기반 터널

    1. 라우팅 옵션에서 경로 기반을 선택합니다.
    2. 원격 네트워크 IP 범위에서 피어 네트워크에서 사용된 IP 범위를 공백으로 구분된 목록으로 제공합니다. 이러한 범위는 다음 홉이 이 VPN 터널인 커스텀 정적 경로를 만드는 데 사용됩니다.
  2. 동일한 게이트웨이에 터널을 더 만들어야 할 경우 터널 추가를 클릭하고 이전 단계를 반복합니다. 터널은 나중에 더 추가할 수 있습니다.

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

gcloud

Cloud VPN 게이트웨이를 만들려면 다음 명령 시퀀스를 완료합니다. 명령어에서 다음을 바꿉니다.

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

게이트웨이 리소스 구성

  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 \
       --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 \
       --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 \
       --ip-protocol=UDP \
       --ports=4500 \
       --address=GW_IP_NAME \
       --target-vpn-gateway=GW_NAME \
       --region=REGION \
       --project=PROJECT_ID
    

Cloud VPN 터널 만들기

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

    • TUNNEL_NAME: 터널의 이름
    • ON_PREM_IP: 피어 VPN 게이트웨이의 외부 IP 주소
    • IKE_VERS: IKEv1의 경우 1, IKEv2의 경우 2
    • SHARED_SECRET: 사전 공유 키(공유 비밀번호)입니다. Cloud VPN 터널의 사전 공유 키는 피어 VPN 게이트웨이에서 상대 터널을 구성할 때 사용한 공유 비밀번호와 일치해야 합니다. 암호적으로 강력한 사전 공유 키를 생성하려면 다음 안내를 따르세요.

    정책 기반 VPN:

    • LOCAL_IP_RANGES: 쉼표로 구분된 Google Cloud IP 범위의 목록입니다. 예를 들어 VPC 네트워크의 각 서브넷에 대해 CIDR 블록을 제공할 수 있습니다. 이것은 Cloud VPN을 기준으로 왼쪽입니다.
    • REMOTE_IP_RANGES: 쉼표로 구분된 피어 네트워크 IP 범위의 목록입니다. 이것은 Cloud VPN을 기준으로 오른쪽입니다.

    정책 기반 VPN 터널을 구성하려면 다음 명령어를 실행합니다.

    gcloud compute vpn-tunnels create TUNNEL_NAME \
        --peer-address=ON_PREM_IP \
        --ike-version=IKE_VERS \
        --shared-secret=SHARED_SECRET \
        --local-traffic-selector=LOCAL_IP_RANGES \
        --remote-traffic-selector=REMOTE_IP_RANGES \
        --target-vpn-gateway=GW_NAME \
        --region=REGION \
        --project=PROJECT_ID
    

    경로 기반 VPN의 경우 로컬 및 원격 트래픽 선택기 모두 라우팅 옵션 및 트래픽 선택기에 정의된 대로 0.0.0.0/0입니다.

    경로 기반 VPN 터널을 구성하려면 다음 명령어를 실행합니다.

    gcloud compute vpn-tunnels create TUNNEL_NAME \
        --peer-address=ON_PREM_IP \
        --ike-version=IKE_VERS \
        --shared-secret=SHARED_SECRET \
        --local-traffic-selector=0.0.0.0/0 \
        --remote-traffic-selector=0.0.0.0/0 \
        --target-vpn-gateway=GW_NAME \
        --region=REGION \
        --project=PROJECT_ID
    
  2. 이전 단계의 --remote-traffic-selector 옵션에서 지정한 각 원격 IP 범위에 대한 정적 경로를 만듭니다. 각 원격 IP 범위에 대해 이 명령어를 반복합니다. ROUTE_NAME을 경로의 고유 이름으로 바꾸고 REMOTE_IP_RANGE를 적절한 원격 IP 범위로 바꿉니다.

    gcloud compute routes create ROUTE_NAME \
        --destination-range=REMOTE_IP_RANGE \
        --next-hop-vpn-tunnel=TUNNEL_NAME \
        --network=NETWORK \
        --next-hop-vpn-tunnel-region=REGION \
        --project=PROJECT_ID
    

구성 완료

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

  1. 피어 VPN 게이트웨이를 설정하고 여기에서 해당 터널을 구성합니다. 자세한 내용은 다음을 참조하세요.
  2. Google Cloud 및 피어 네트워크에서 필요에 따라 방화벽 규칙을 구성합니다.
  3. VPN 터널 및 전달 규칙의 상태를 확인합니다.
  4. 프로젝트 라우팅 테이블로 이동하고 Next hop type:VPN tunnel을 필터링하여 VPN 경로를 확인합니다.

    경로로 이동

피어 VPN 게이트웨이 IP 주소를 제한하는 조직 정책 제약조건 적용

기본 VPN 또는 HA VPN 터널을 통해 피어 VPN 게이트웨이에 허용되거나 거부되는 IP 주소 집합을 정의하는 Google Cloud 조직 정책 제약조건을 만들 수 있습니다. 이 제약조건에는 이러한 피어 IP 주소의 허용 목록 또는 거부 목록이 포함되며, 이는 제약조건 적용 후 생성되는 Cloud VPN 터널에 적용됩니다. 자세한 내용은 Cloud VPN 터널을 통해 피어 IP 주소 제한을 참조하세요.

조직 정책을 만들고 조직, 폴더 또는 프로젝트와 연결하려면 다음 섹션에 나와 있는 예시를 사용하고 제약조건 사용의 단계를 수행합니다.

필수 권한

조직 또는 프로젝트 수준에서 피어 IP 제약조건을 설정하려면 먼저 조직의 조직 정책 관리자 역할(roles/orgpolicy.policyAdmin)을 부여받아야 합니다.

특정 피어 IP 주소의 연결 제한

Cloud VPN 터널을 통해 특정 피어 IP 주소만 허용하려면 다음 단계를 수행하세요.

  1. 다음 명령어를 실행하여 조직 ID를 찾습니다.
    gcloud organizations list

    명령어 결과는 다음 예와 같이 표시됩니다.

          DISPLAY NAME             ID
          example-organization     29252605212
        
  2. 다음 예시와 같이 정책을 정의하는 JSON 파일을 만듭니다.

         {
           "constraint": "constraints/compute.restrictVpnPeersIPs",
           "listPolicy": {
             "allowedValues": [
               "100.1.1.1",
             ],
           }
         }
       
  3. Resource Manager gcloud 명령어 set-policy를 사용하고, JSON 파일을 전달하고, 이전 단계에서 찾은 ORGANIZATION_ID를 사용하여 조직 정책을 설정합니다.

모든 피어 IP 주소의 연결 제한

새 Cloud VPN 터널 생성을 금지하려면 이 예시 제약조건의 단계를 수행합니다.

  1. 정책을 설정하려는 리소스 계층 구조에서 노드 ID 또는 조직 ID를 찾습니다.
  2. 다음 예시와 같은 JSON 파일을 만듭니다.

        {
          "constraint": "constraints/compute.restrictVpnPeersIPs",
          "listPolicy": {
            "allValues": "DENY"
          }
        }
    
  3. 특정 피어 IP 주소를 제한하는 데 사용할 동일한 명령어를 실행하여 JSON 파일을 전달합니다.

다음 단계

  • VPN 터널 및 게이트웨이를 유지보수하기 위한 리소스를 찾으려면 VPN 유지보수 안내 가이드를 참조하세요.
  • 고가용성 및 높은 처리량 시나리오 또는 다중 서브넷 시나리오를 사용하려면 고급 구성을 참조하세요.
  • Cloud VPN을 사용할 때 발생할 수 있는 일반적인 문제를 해결하려면 문제 해결을 참조하세요.