VPN 상태 확인

피어 VPN 게이트웨이를 구성했으면 다음 구성요소를 확인하여 구성된 게이트웨이가 Cloud VPN과 올바르게 통신하는지 확인할 수 있습니다.

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

HA VPN 터널 확인

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

Console

  1. Google Cloud Console에서 VPN 페이지로 이동합니다.
    VPN 페이지로 이동
  2. VPN 터널 상태BGP 세션 상태를 확인합니다.
  3. 터널의 이름을 클릭하여 터널 세부정보를 확인합니다.
  4. 로그에서 보기를 클릭하여 Cloud Logging 로그를 확인합니다.
  5. 이 터널과 연결된 BGP 세션을 수정할 수도 있습니다.

gcloud

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

  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 게이트웨이의 이름을 알고 있다면 다음 명령어를 사용하여 게이트웨이와 연결된 터널의 목록을 검색할 수 있습니다. gw-name을 게이트웨이 이름으로 바꾸고 region을 게이트웨이가 있는 리전으로 바꿉니다.

      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에서 인터페이스 0과 인터페이스 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://www.googleapis.com/compute/v1/projects/project-id/regions/region/vpnTunnels
  • 특정 프로젝트 및 리전에 있는 특정 터널의 특성과 상태를 표시하려면 다음 안내를 따르세요.

vpnTunnels.get 메서드로 GET 요청을 실행합니다.

  GET https://www.googleapis.com/compute/v1/projects/project-id/regions/region/vpnTunnels/tunnel-name

기본 VPN 터널 확인

이 절차에 따라 기본 VPN 게이트웨이의 터널 상태를 확인합니다.

Console

  1. Google Cloud Console에서 VPN 페이지로 이동합니다.
    VPN 페이지로 이동
  2. VPN 터널 상태BGP 세션 상태를 확인합니다.
  3. 터널의 이름을 클릭하여 터널 세부정보를 확인합니다.
  4. 로그에서 보기를 클릭하여 Logging 로그를 확인합니다.
  5. 이 터널과 연결된 BGP 세션을 수정할 수도 있습니다.

gcloud

기본 VPN 터널 상태를 확인하는 절차는 HA VPN의 절차와 비슷합니다. <var>project-id</var>를 프로젝트의 ID로 바꿉니다.

  1. VPN 터널의 상태를 확인하려면 이름리전을 파악합니다. 다음 단계에서 이 정보를 사용하여 nameregion을 바꿉니다. 다음 방법 중 하나를 사용하여 터널을 식별할 수 있습니다.

    1. 옵션 1: 프로젝트의 모든 VPN 터널을 표시하려면 다음 명령어를 사용하세요.
      gcloud compute vpn-tunnels list --project project-id
      
    2. 옵션 2: 터널이 포함된 VPN 게이트웨이의 이름을 알고 있다면 다음 명령어를 사용하여 게이트웨이와 연결된 터널의 목록을 검색할 수 있습니다.

      • gw-name을 게이트웨이 이름으로 바꾸고 region을 해당 리전으로 바꿉니다(터널과 동일한 리전).
      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://www.googleapis.com/compute/v1/projects/project-id/regions/region/vpnTunnels
  • 특정 프로젝트 및 리전에 있는 특정 터널의 특성과 상태를 표시하려면 다음 안내를 따르세요.

vpnTunnels.get 메서드로 GET 요청을 실행합니다.

  GET https://www.googleapis.com/compute/v1/projects/project-id/regions/region/vpnTunnels/tunnel-name

기본 VPN의 전달 규칙 확인

이 절차에 따라 기본 VPN 게이트웨이에 대해 생성된 전달 규칙을 확인합니다.

Console

  1. Google Cloud Console에서 VPN 페이지로 이동합니다.
    VPN 페이지로 이동
  2. 게이트웨이 이름을 클릭합니다.
  3. VPN 세부정보 페이지에서 생성한 전달 규칙을 확인합니다.

gcloud

다음 명령어를 입력하여 특정 region에 있는 기본 VPN 게이트웨이 name에 대해 전달 규칙을 확인합니다.

  gcloud compute target-vpn-gateways describe name --region region \
    --project project-id

API

기본 VPN 게이트웨이의 전달 규칙을 확인하려면 targetVpnGateways.get 메서드를 사용하세요. project-id, 게이트웨이 resource-id (name), region을 지정합니다.

GET https://www.googleapis.com/compute/v1/projects/project-id/regions/region/targetVpnGateways/resource-id

터널 상태 메시지

Google Cloud Console에서 반환된 터널 상태 메시지를 해석하거나 gcloud 명령어를 사용할 때 다음 표를 사용하세요.

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

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

compute vpn-gateways get-status 명령어를 사용하여 HA VPN 게이트웨이에서 터널의 고가용성 구성 상태를 확인합니다.

Cloud Monitoring 측정항목에서 추가 정보를 확인할 수도 있습니다.

이 명령어 결과는 HA VPN 게이트웨이가 연결된 각 피어 게이트웨이와 연결된 VPN 터널의 고가용성 중복성 요구사항 상태를 표시합니다.

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

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

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

Console

  1. Google Cloud Console에서 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://www.googleapis.com/compute/v1/projects/project-id/regions/region/vpnGateways/gateway-name/getStatus

BGP 상태 확인

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

다음 단계