VPN 상태 확인

피어 VPN 게이트웨이를 구성한 후 다음의 구성요소를 확인하여 게이트웨이가 Cloud VPN과 올바르게 통신하는지 확인합니다.

  • 작동 상태를 포함하여 구성한 HA VPN 또는 기본 VPN 터널의 상태를 확인합니다.
  • HA VPN 게이트웨이에서 터널의 고가용성 상태를 확인합니다.
  • Cloud Router의 경계 게이트웨이 프로토콜(BGP) 세션 또는 Cloud Router가 공지하는 경로를 확인합니다.

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

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

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

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

HA VPN 터널 확인

HA VPN 게이트웨이의 두 인터페이스에서 터널의 상태를 확인하려면 이 절차를 따릅니다.

콘솔

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

    VPN으로 이동

  2. VPN 터널 상태BGP 세션 상태를 확인합니다.

  3. 터널 세부정보를 보려면 터널의 이름을 클릭합니다.

  4. 로그에서 Cloud Logging 로그에 대한 보기를 클릭합니다.

  5. 이 터널과 연결된 BGP 세션을 수정할 수도 있습니다.

gcloud

터널 상태는 2단계로 확인할 수 있습니다. 먼저 터널 이름과 리전을 파악한 다음 describe 명령어 옵션을 사용하여 터널 세부정보를 확인합니다.

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

  • PROJECT_ID: 프로젝트의 ID
  • GW_NAME: 게이트웨이의 이름
  • REGION: 게이트웨이 또는 터널이 상주하는 리전
  • NAME: 터널의 이름

터널 상태를 보려면 다음 단계를 완료합니다.

  1. 상태를 확인하려는 VPN 터널의 이름 및 리전을 식별합니다. 다음 방법 중 하나를 사용하여 터널을 확인할 수 있습니다.

    1. 옵션 1: 프로젝트의 모든 VPN 터널을 나열하려면 다음 명령어를 실행하세요.

      gcloud compute vpn-tunnels list
        --project=PROJECT_ID
      

      명령어 결과는 다음 예시와 비슷해야 합니다.

      NAME                REGION       GATEWAY      VPN_INTERFACE  PEER_ADDRESS
      tunnel-a-to-b-if-0  us-central1  ha-vpn-gw-a  0              10.242.123.165
      tunnel-a-to-b-if-1  us-central1  ha-vpn-gw-a  1              10.220.75.213
      tunnel-b-to-a-if-0  us-central1  ha-vpn-gw-b  0              10.242.127.148
      tunnel-b-to-a-if-1  us-central1  ha-vpn-gw-b  1              10.220.66.156
      
    2. 옵션 2: 터널이 포함된 VPN 게이트웨이의 이름을 알고 있는 경우 게이트웨이의 연결된 터널 목록을 검색하려면 다음 명령어를 실행합니다.

      gcloud compute vpn-gateways describe GW_NAME \
        --region=REGION \
        --project=PROJECT_ID \
        --format='flattened(tunnels)'
      
  2. 터널의 이름과 리전을 파악했으면 vpn-tunnels 명령어의 describe 옵션을 사용하여 터널의 상태를 판단합니다.

    gcloud compute vpn-tunnels describe NAME \
       --region=REGION \
       --project=PROJECT_ID \
       --format='flattened(status,detailedStatus)'
    

    기본 상태 메시지 및 메시지 세부정보가 반환됩니다. 명령어 결과는 다음 예시와 유사하게 표시되어야 합니다. 전체 목록을 표시하려면 --format 옵션을 생략하세요.

    detailedStatus: Tunnel is up and running.
    

    다음 네 가지 명령어 결과 예시는 상호 연결된 2개의 HA VPN 게이트웨이 각각에 있는 터널 쌍의 전체 목록을 보여줍니다. 즉, ha-vpn-gw-a에서 interface 0interface 1의 터널은 ha-vpn-gw-b의 해당 인터페이스의 터널에 연결됩니다.

    예시 1: tunnel-a-to-b-if-0

     creationTimestamp: '2018-10-11T13:12:33.851-07:00'
     description: ''
     detailedStatus: Tunnel is up and running.
     id: '2919847494518181982'
     ikeVersion: 2
     kind: compute#vpnTunnel
     labelFingerprint: LABEL_FINGERPRINT
     localTrafficSelector:
     — 0.0.0.0/0
     name: tunnel-a-to-b-if-0
     peerIp: GW_A_IF_0_IP
     region: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1
     remoteTrafficSelector:
     — 0.0.0.0/0
     router: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a
     selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-b-if-0
     sharedSecret: '*************'
     sharedSecretHash: SECRET_HASH
     vpnGateway: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnGateways/ha-vpn-gw-a
     vpnGatewayInterface: 0
    

    예시 2: tunnel-a-to-b-if-1

     creationTimestamp: '2018-10-11T13:14:21.630-07:00'
     description: ''
     detailedStatus: Tunnel is up and running.
     id: '178016642781024754'
     ikeVersion: 2
     kind: compute#vpnTunnel
     labelFingerprint: LABEL_FINGERPRINT
     localTrafficSelector:
     —0.0.0.0/0
     name: tunnel-a-to-b-if-1
     peerIp: GW_B_IF_1_IP
     region: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1
     remoteTrafficSelector:
     — 0.0.0.0/0
     router: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a
     selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-b-if-1
     sharedSecret: '*************'
     sharedSecretHash: SECRET_HASH
     vpnGateway: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnGateways/ha-vpn-gw-a
     vpnGatewayInterface: 1
    

    예시 3: tunnel-b-to-a-if-0

     creationTimestamp: '2018-10-11T13:16:19.345-07:00'
     description: ''
     detailedStatus: Tunnel is up and running.
     id: '1183416925692236156'
     ikeVersion: 2
     kind: compute#vpnTunnel
     labelFingerprint: LABEL_FINGERPRINT
     localTrafficSelector:
     — 0.0.0.0/0
     name: tunnel-b-to-a-if-0
     peerIp: GW_A_IF_0_IP
     region: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1
     remoteTrafficSelector:
     — 0.0.0.0/0
     router: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-b
     selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-b-to-a-if-0
     sharedSecret: '*************'
     sharedSecretHash: SECRET_HASH
     vpnGateway: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnGateways/ha-vpn-gw-b
     vpnGatewayInterface: 0
    

    예시 4: tunnel-b-to-a-if-1

     creationTimestamp: '2018-10-11T13:19:01.562-07:00'
     description: ''
     detailedStatus: Tunnel is up and running.
     id: '8199247227773914842'
     ikeVersion: 2
     kind: compute#vpnTunnel
     labelFingerprint: LABEL_FINGERPRINT
     localTrafficSelector:
     — 0.0.0.0/0
     name: tunnel-b-to-a-if-1
     peerIp: GW_A_IF_1_IP
     region: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1
     remoteTrafficSelector:
     — 0.0.0.0/0
     router: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-b
     selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-b-to-a-if-1
     sharedSecret: '*************'
     sharedSecretHash: SECRET_HASH
     vpnGateway: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnGateways/ha-vpn-gw-b
     vpnGatewayInterface: 1
    

API

터널 세부정보를 보려면 다음 API 호출 중 하나를 사용하면 됩니다.

  • 특정 프로젝트와 리전에 있는 모든 VPN 터널의 속성과 상태를 나열하려면 vpnTunnels.list 메서드를 사용하여 GET 요청을 수행합니다.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels
    
  • 특정 프로젝트 및 리전에 있는 특정 터널의 속성과 상태를 나열하려면 vpnTunnels.get 메서드를 사용하여 GET 요청을 실행합니다.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels/TUNNEL_NAME
    

기본 VPN 터널 확인

기본 VPN 게이트웨이의 터널 상태를 확인하려면 이 절차를 따릅니다.

콘솔

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

    VPN으로 이동

  2. VPN 터널 상태BGP 세션 상태를 확인합니다.

  3. 터널 세부정보를 보려면 터널의 이름을 클릭합니다.

  4. 로그에서 Logging 로그에 대한 보기를 클릭합니다.

  5. 이 터널과 연결된 BGP 세션을 수정할 수도 있습니다.

gcloud

기본 VPN 터널 상태를 확인하는 프로시져는 HA VPN의 프로시져와 비슷합니다.

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

  • PROJECT_ID: 프로젝트의 ID
  • GW_NAME: 게이트웨이의 이름
  • REGION: 게이트웨이 또는 터널이 상주하는 리전
  • NAME: 터널의 이름

터널 상태를 보려면 다음 단계를 완료합니다.

  1. 상태를 확인하려는 VPN 터널의 이름 및 리전을 식별합니다. 다음 방법 중 하나를 사용하여 터널을 확인할 수 있습니다.

    1. 옵션 1: 프로젝트의 모든 VPN 터널을 나열하려면 다음 명령어를 실행하세요.

      gcloud compute vpn-tunnels list
        --project=PROJECT_ID
      
    2. 옵션 2: 터널이 포함된 VPN 게이트웨이의 이름을 알고 있는 경우 게이트웨이의 연결된 터널 목록을 검색하려면 다음 명령어를 실행합니다.

      gcloud compute target-vpn-gateways describe GW_NAME \
        --region=REGION \
        --project=PROJECT_ID \
        --format='flattened(tunnels)'
      
  2. 다음 명령어를 실행하여 상태를 확인할 터널을 설명합니다. 기본 상태 메시지 및 메시지 세부정보가 반환됩니다. 전체 목록을 표시하려면 --format 옵션을 생략하세요.

    gcloud compute vpn-tunnels describe NAME \
        --region=REGION \
        --project=PROJECT_ID \
        --format='flattened(status,detailedStatus)'
    

API

터널 세부정보를 보려면 다음 API 호출 중 하나를 사용하면 됩니다.

  • 특정 프로젝트와 리전에 있는 모든 VPN 터널의 속성과 상태를 나열하려면 vpnTunnels.list 메서드를 사용하여 GET 요청을 수행합니다.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels
    
  • 특정 프로젝트 및 리전에 있는 특정 터널의 속성과 상태를 나열하려면 vpnTunnels.get 메서드를 사용하여 GET 요청을 실행합니다.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels/TUNNEL_NAME
    

기본 VPN 전달 규칙 확인

기본 VPN 게이트웨이에 대해 생성된 전달 규칙을 확인하려면 이 절차를 따릅니다.

콘솔

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

    VPN으로 이동

  2. 게이트웨이 이름을 클릭합니다.

  3. VPN 세부정보 페이지에서 생성한 전달 규칙을 확인합니다.

gcloud

특정 리전에서 기본 VPN 게이트웨이의 전달 규칙을 보려면 다음 명령어를 실행합니다.

gcloud compute target-vpn-gateways describe GW_NAME
    --region=REGION \
    --project=PROJECT_ID

API

특정 리전에 있는 기본 VPN 게이트웨이의 전달 규칙을 보려면 targetVpnGateways.get 메서드를 사용합니다. RESOURCE_ID를 게이트웨이 이름으로 바꿉니다.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/targetVpnGateways/RESOURCE_ID

터널 상태 메시지 해석

Google Cloud 콘솔 또는 Google Cloud CLI에서 터널 상태 메시지를 해석하려면 다음 표를 사용합니다.

상태 자세한 상태 메시지 참고
리소스 할당 리소스를 할당 중입니다. VPN 터널이 곧 시작됩니다. 새로 생성된 Cloud VPN 터널의 초기 상태입니다.
전체 구성 대기 중 경로 구성을 기다리는 중입니다. 경로 또는 라우팅 구성을 준비하는 중입니다.
첫 번째 핸드셰이크 피어와의 핸드셰이크가 알 수 없는 이유로 손상되었습니다. 곧 다시 시도합니다. 피어 VPN과의 1단계(IKE SA) 협상이 진행 중입니다. 한 번 이상 실패했을 수 있습니다.
설정됨 터널이 작동되어 실행 중입니다. 터널이 작동되었고 경로가 구성되었습니다.
수신 패킷 없음 피어에서 수신되는 패킷이 없습니다. 피어 VPN 게이트웨이에서 수신 중인 트래픽이 없습니다.

HA VPN 게이트웨이의 고가용성 상태 확인

HA VPN 게이트웨이에서 터널의 고가용성 구성 상태를 확인하려면 Google Cloud 콘솔, compute vpn-gateways get-status 명령어 또는 vpnGateways.getStatus 메서드를 사용합니다.

출력에는 HA VPN 게이트웨이가 연결된 각 피어 게이트웨이와 연결된 VPN 터널의 고가용성 중복성 요구사항 상태가 표시됩니다.

피어 게이트웨이는 또 다른 HA VPN 게이트웨이이거나 외부 VPN 게이트웨이일 수 있습니다. HA VPN 게이트웨이에 연결된 피어 게이트웨이가 여러 개 있다면 여러 개의 고가용성 구성 상태가 피어 게이트웨이당 한 개씩 표시됩니다.

명령어 결과는 다음 방법으로 올바른 터널 수와 범위를 나타냅니다.

  • 적절한 중복성(범위)이 구성된 VPN 게이트웨이는 다음 상태를 표시합니다.
    HighAvailabilityRedundancyRequirementState: CONNECTION_REDUNDANCY_MET.
  • 적절한 중복성이 구성되지 않은 VPN 게이트웨이는 다음 상태를 표시합니다.
    HighAvailabilityRedundancyRequirementState: CONNECTION_REDUNDANCY_NOT_MET.
  • HA VPN 게이트웨이와 다른 HA VPN 게이트웨이 또는 피어 게이트웨이 간에 구성된 터널이 충분하지 않으면 명령어 결과에 다음 상태가 표시됩니다.
    redundancyUnsatisfiedReason: INCOMPLETE_TUNNELS_COVERAGE.

자세한 내용은 로그 및 측정항목 보기를 참조하세요.

콘솔

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

    VPN으로 이동

  2. 게이트웨이 및 터널의 세부정보를 보려면 게이트웨이 이름을 클릭합니다. HA VPN 게이트웨이의 경우 게이트웨이의 고가용성 상태도 확인할 수 있습니다.

gcloud

HA VPN 게이트웨이의 터널 상태를 표시하려면 다음 명령어를 실행하세요. 다음을 바꿉니다.

  • GW_NAME: HA VPN 게이트웨이의 이름
  • REGION: 게이트웨이가 있는 리전
gcloud compute vpn-gateways get-status GW_NAME \
    --region=REGION

다음 명령어 결과 예시는 인터페이스가 2개인 피어 게이트웨이에 연결된 HA VPN 게이트웨이에 대한 정보를 표시합니다.

  peerGateways:
  — peerExternalGateway: peer-gw
  tunnels:
  — localGatewayInterface: 0
    peerGatewayInterface: 0
    tunnelUrl:
    https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
    regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-0
  — localGatewayInterface: 1
    peerGatewayInterface:1
    tunnelUrl:
    https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
    regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-1
    HighAvailabilityRedundancyRequirementState:
      state: CONNECTION_REDUNDANCY_MET

다음은 서로 연결된 2개의 HA VPN 게이트웨이에 대한 명령어 결과 예시입니다. 이 유형의 구성에서는 각 HA VPN 게이트웨이 이름에 대해 명령어를 실행합니다.

  • ha-vpn-gw-a의 상태를 가져오면 ha-vpn-gw-b에 대한 연결이 표시됩니다.

    peerGateways:
    — peerGcpGateway: ha-vpn-gw-b
    tunnels:
    — localGatewayInterface: 0
      peerGatewayInterface: 0
      tunnelUrl:
      https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
      regions/us-central1/vpnTunnels/tunnel-a-to-b-if-0
    — localGatewayInterface: 1
      peerGatewayInterface: 1
      tunnelUrl:
      https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
      regions/us-central1/vpnTunnels/tunnel-a-to-b-if-1
      HighAvailabilityRedundancyRequirementState:
        state: CONNECTION_REDUNDANCY_MET
    
  • ha-vpn-gw-b의 상태를 가져오면 ha-vpn-gw-a에 대한 연결이 표시됩니다.

    peerGateways:
    — peerGcpGateway: ha-vpn-gw-a
    tunnels:
    — localGatewayInterface: 0
      peerGatewayInterface: 0
      tunnelUrl:
      https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
      regions/us-central1/vpnTunnels/tunnel-b-to-a-if-0
    — localGatewayInterface: 1
      peerGatewayInterface: 1
      tunnelUrl:
      https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
      regions/us-central1/vpnTunnels/tunnel-b-to-a-if-1
      HighAvailabilityRedundancyRequirementState:
        state: CONNECTION_REDUNDANCY_MET
    

다음은 연결이 2개이고 IP 주소가 4개인 AWS 가상 게이트웨이에 연결된 HA VPN 게이트웨이에 대한 명령어 결과 예시입니다.

  peerGateways:
  - peerExternalGateway: peer-gw
  tunnels:
   - localGatewayInterface: 0
     peerGatewayInterface: 0
     tunnelUrl:
     https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
     regions/us-central1/vpnTunnels/tunnel-a-to-aws-connection-0-ip0
   - localGatewayInterface: 0
     peerGatewayInterface: 1
     tunnelUrl:
     https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
     regions/us-central1/vpnTunnels/tunnel-a-to-aws-connection-0-ip1
   - localGatewayInterface: 1
     peerGatewayInterface: 2
     tunnelUrl:
     https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
     regions/us-central1/vpnTunnels/tunnel-a-to-aws-connection-1-ip0
   - localGatewayInterface: 1
     peerGatewayInterface: 3
     tunnelUrl:
     https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
     regions/us-central1/vpnTunnels/tunnel-a-to-aws-connection-1-ip1
     HighAvailabilityRedundancyRequirementState:
       state: CONNECTION_REDUNDANCY_MET

다음은 하나의 터널로 상호 연결된 2개 HA VPN 게이트웨이에 대한 명령어 결과 예시입니다. 이 구성은 99.99% 가용성 SLA를 충족하지 않습니다.

  peerGateways:
    - peerGcpGateway: ha-vpn-gw-a
    tunnels:
    - localGatewayInterface: 0
      peerGatewayInterface: 0
      tunnelUrl:
      https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
      regions/us-central1/vpnTunnels/tunnel-b-to-a-if-0
      HighAvailabilityRedundancyRequirementState:
        state: CONNECTION_REDUNDANCY_NOT_MET
      detailedStatus:
        redundancyUnsatisfiedReason: INCOMPLETE_TUNNELS_COVERAGE

API

특정 프로젝트 및 리전에 있는 특정 HA VPN 게이트웨이의 상태를 가져오려면 vpnGateways.getStatus 메서드를 사용하여 GET 요청을 수행합니다.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnGateways/GATEWAY_NAME/getStatus

BGP 상태 확인

BGP 지원 동적 라우팅을 사용하는 터널의 경우 Cloud Router 상태를 확인하면 Cloud Router가 공지하는 라우터의 BGP 세션 또는 경로의 상태와 같은 세부정보를 볼 수 있습니다.

다음 단계

  • 고가용성 및 높은 처리량 시나리오 또는 다중 서브넷 시나리오를 사용하려면 고급 구성을 참조하세요.
  • Cloud VPN을 사용할 때 발생할 수 있는 일반적인 문제를 해결하려면 문제 해결을 참조하세요.