Google Cloud와 AWS 사이에 HA VPN 연결 만들기

이 튜토리얼에서는 두 가지 클라우드 플랫폼에 있는 VPC 네트워크 간 직접 통신을 위해 Google Cloud와 Amazon Web Services(AWS) 사이에 고가용성 VPN 연결을 만드는 방법을 설명합니다.

이 튜토리얼에서는 사용자가 Virtual Private Cloud(VPC) 네트워크, Border Gateway Protocol(BGP), 가상 사설망(VPN), IPsec 터널에 익숙하다고 가정합니다.

Google Cloud는 IPsec VPN 연결을 통해 온프레미스 또는 AWS와 같이 Google Cloud 외부에서 실행되는 환경에 VPC 네트워크를 연결할 수 있도록 고가용성(HA) VPN 서비스를 제공합니다. HA VPN은 Google 권장사항에 따라 구성되었을 때 99.99% 서비스 가용성 SLA를 제공합니다.

아키텍처 개요

이 문서에서 설명하는 아키텍처에는 다음 구성요소가 포함됩니다.

  • Cloud Router: BGP를 사용하여 VPC 네트워크에 동적 라우팅을 제공하는 완전히 분산되고 관리되는 Google Cloud 서비스입니다.
  • HA VPN 게이트웨이: Google Cloud에서 실행되는 Google에서 관리되는 VPN 게이트웨이입니다. 각 HA VPN 게이트웨이는 각각 고유한 내부 IP 주소를 갖는 인터페이스 2개(인터페이스 0 및 1)가 포함된 리전별 리소스입니다.
  • VPN 터널: 암호화된 트래픽을 전달할 수 있도록 HA VPN 게이트웨이와 AWS의 피어 VPN 게이트웨이를 연결합니다.
  • 피어 VPN 게이트웨이: AWS Virtual Private Gateway 또는 AWS 전송 게이트웨이에서 시작될 수 있는 2개의 AWS 사이트 간 VPN 엔드포인트입니다.

각 피어 VPN 게이트웨이 연결은 여기에서 Google Cloud HA VPN 인터페이스에 해당하는 단일 고객 게이트웨이를 가리키도록 사전 구성된 2개의 터널과 함께 제공됩니다. 이 구성에서 99.99% 서비스 가용성 SLA를 충족하기 위한 최소 터널 수는 4개입니다.

VPN 터널을 통한 라우팅 옵션 및 조합 대역폭은 AWS 측에서 사용되는 사이트 간 VPN 옵션에 따라 달라집니다.

  • 전송 게이트웨이: BGP 환경설정 없이 AWS 전송 게이트웨이를 만드는 경우 ECMP가 활성 터널 간에 트래픽을 고르게 배포합니다.

    여러 Google Virtual Private Cloud 네트워크에서 VPN 연결을 사용하려면 Google Cloud에서 허브 및 스포크 시스템 빌드 권장사항을 참조하세요.

    AWS 전송 게이트웨이에 대한 자세한 내용은 Amazon Virtual Private Cloud 문서를 참조하세요.

  • Virtual Private Gateway: AWS Virtual Private Gateway를 사용하는 경우 게이트웨이에서 모든 연결 간에 터널 하나만 선택됩니다. 1개를 초과하는 터널을 사용하려면 ECMP를 사용할 수 있도록 AWS 전송 게이트웨이를 대신 사용합니다.

    AWS에서 VPN 경로 우선순위에 대한 자세한 내용은 AWS 사이트 간 VPN 라우팅 옵션 문서를 참조하세요.

    AWS 가상 비공개 게이트웨이에 대한 자세한 내용은 AWS 사이트 간 VPN 터널 문서를 참조하세요.

다음 다이어그램은 이러한 아키텍처를 보여줍니다.

아키텍처 개요

목표

  • Google Cloud에서 VPC 네트워크를 만듭니다.
  • Google Cloud에서 HA VPN 게이트웨이 및 Cloud Router를 만듭니다.
  • AWS에서 고객 게이트웨이를 만듭니다.
  • AWS에서 동적 라우팅을 사용하여 VPN 연결을 만듭니다.
  • Google Cloud에서 외부 VPN 게이트웨이 및 VPN 터널을 만듭니다.
  • Google Cloud 및 AWS의 VPC 네트워크 간에 VPN 연결을 확인하고 테스트합니다.

Terraform 모듈 예시

gcp-to-aws-ha-vpn-terraform-module 모듈을 사용하여 Google Cloud와 AWS 사이에 HA VPN을 프로비저닝할 수 있습니다.

비용

이 가이드에서는 다음을 포함하여 Google Cloud의 청구 가능한 구성요소가 사용됩니다.

Google Cloud 구성요소에 대한 비용을 예상하려면 Google Cloud 가격 계산기를 사용하세요.

이 가이드에서는 다음을 포함하여 Amazon Web Services의 청구 가능한 구성요소가 사용됩니다.

  • AWS 전송 게이트웨이
  • AWS 사이트 간 VPN

AWS 구성요소에 대한 비용을 예상하려면 AWS 가격 계산기를 사용하세요.

시작하기 전에

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

    프로젝트 선택기로 이동

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

  3. Compute Engine API 사용 설정

    API 사용 설정

  4. Google Cloud 콘솔에서 Cloud Shell을 활성화합니다.

    Cloud Shell 활성화

  5. 네트워킹 구성요소 구성에 필요한 관리 역할이 있는지 확인합니다.

    • 네트워크 관리자: compute.networkAdmin
    • 보안 관리자: compute.securityAdmin
    • Compute 관리자: compute.admin

    이러한 역할의 목적에 대한 자세한 내용은 네트워킹 관련 직무를 위한 IAM 역할을 참조하세요.

Google Cloud에서 HA VPN 게이트웨이 및 Cloud Router 만들기

이 섹션에서는 Google Cloud에서 VPC 네트워크, HA VPN 게이트웨이, Cloud Router를 만듭니다.

  1. Cloud Shell에서 사용자가 만들거나 선택한 Google Cloud 프로젝트에서 작업 중인지 확인합니다.

    gcloud config set project YOUR_PROJECT_ID
    
    export PROJECT_ID=`gcloud config list --format="value(core.project)"`
    

    YOUR_PROJECT_ID를 Google Cloud 프로젝트 ID로 바꿉니다.

  2. 단일 서브넷으로 커스텀 VPC 네트워크를 만듭니다.

    gcloud compute networks create NETWORK \
        --subnet-mode SUBNET_MODE \
        --bgp-routing-mode BGP_ROUTING_MODE
    

    다음을 바꿉니다.

    명령어가 다음 예시와 비슷하게 표시됩니다.

    gcloud compute networks create gc-vpc \
        --subnet-mode custom \
        --bgp-routing-mode global
    
  3. 테스트 VM을 호스팅하기 위해 서브넷을 하나 만듭니다.

    gcloud compute networks subnets create SUBNET_NAME \
        --network NETWORK \
        --region SUBNET_REGION \
        --range IP_ADDRESS_RANGE
    

    다음을 바꿉니다.

    명령어가 다음 예시와 비슷하게 표시됩니다.

    gcloud compute networks subnets create subnet-east4  \
        --network gc-vpc \
        --region us-east4 \
        --range 10.1.1.0/24
    
  4. HA VPN 게이트웨이를 만듭니다.

    gcloud compute vpn-gateways create HA_VPN_GATEWAY_NAME \
        --network NETWORK \
        --region REGION
    

    HA_VPN_GATEWAY_NAME을 HA VPN 게이트웨이의 이름으로 바꿉니다.

  5. Cloud Router를 만듭니다.

    gcloud compute routers create ROUTER_NAME \
        --region REGION \
        --network NETWORK \
        --asn GOOGLE_ASN \
        --advertisement-mode custom \
        --set-advertisement-groups all_subnets
    

    다음을 바꿉니다.

    • ROUTER_NAME: Cloud Router의 이름
    • GOOGLE_ASN: 만들려는 Cloud Router의 비공개 ASN(자율 시스템 번호). 동일한 리전 및 네트워크에서 피어 ASN으로 아직 사용하고 있지 않은 64512-65534 또는 4200000000-4294967294 범위의 비공개 ASN일 수 있습니다.

    명령어가 다음 예시와 비슷하게 표시됩니다.

    gcloud compute routers create cloud-router \
        --region us-east4 \
        --network gc-vpc \
        --asn 65534 \
        --advertisement-mode custom \
        --set-advertisement-groups all_subnets
    

이 절차에서는 두 가지 인터페이스를 사용하여 VPN 게이트웨이를 만듭니다. AWS 측에서 환경을 설정할 때 사용할 수 있도록 외부 주소를 기록해 둡니다.

AWS에서 게이트웨이 및 VPN 연결 만들기

이 섹션에서는 동적 라우팅을 사용하여 고객 게이트웨이, 대상 게이트웨이, VPN 연결을 만듭니다.

AWS 명령줄 인터페이스를 사용하여 AWS 명령어를 실행합니다.

  1. 다음 AWS 명령어를 사용하여 2개의 고객 게이트웨이를 만듭니다.

    aws ec2 create-customer-gateway --type ipsec.1 --public-ip INTERFACE_0_IP_ADDRESS --bgp-asn GOOGLE_ASN
    
    aws ec2 create-customer-gateway --type ipsec.1 --public-ip INTERFACE_1_IP_ADDRESS --bgp-asn GOOGLE_ASN
    

    INTERFACE_0_IP_ADDRESSINTERFACE_1_IP_ADDRESS 를 이전 섹션 첫 번째 단계의 공개 IP 주소로 바꿉니다.

  2. 대상 게이트웨이를 만들고 이를 VPC 네트워크에 연결합니다.

    대상 게이트웨이는 가상 비공개 게이트웨이 또는 전송 게이트웨이일 수 있습니다. 자세한 내용은 대상 게이트웨이 만들기를 참조하세요.

    Virtual Private Gateway 또는 전송 게이트웨이에 대한 안내를 따르세요.

    • Virtual Private Gateway:

      1. 특정 AWS 측 ASN을 사용하여 Virtual Private Gateway를 만듭니다.

        aws ec2 create-vpn-gateway --type ipsec.1 --amazon-side-asn AWS_SIDE_ASN
        

        AWS_SIDE_ASN을 AWS 측의 ASN으로 바꿉니다.

        이 명령어는 다음 예시와 비슷하게 표시됩니다.

        aws ec2 create-vpn-gateway --type ipsec.1 --amazon-side-asn 65001
        
      2. Virtual Private Gateway를 VPC 네트워크에 연결합니다.

        aws ec2 attach-vpn-gateway --vpn-gateway-id VPN_GATEWAY_ID --vpc-id VPC_ID
        
    • 전송 게이트웨이:

      1. 전송 게이트웨이를 만듭니다.

        aws ec2 create-transit-gateway --description TRANSIT_GATEWAY_DESCRIPTION \
            --options=AmazonSideAsn=65001,AutoAcceptSharedAttachments=enable,DefaultRouteTableAssociation=enable,DefaultRouteTablePropagation=enable,VpnEcmpSupport=enable,DnsSupport=enable
        

        TRANSIT_GATEWAY_DESCRIPTION을 전송 게이트웨이에 대한 설명으로 바꿉니다.

      2. VPC 네트워크를 전송 게이트웨이에 연결합니다.

        aws ec2 create-transit-gateway-vpc-attachment \
            --transit-gateway-id TRANSIT_GATEWAY_ID \
            --vpc-id VPC_ID \
            --subnet-id SUBNET_ID
        
  3. 동적 라우팅을 사용하여 VPN 연결을 만듭니다.

    동적 라우팅을 사용하여 VPN 연결을 만드는 방법은 대상 게이트웨이가 Virtual Private Gateway 또는 전송 게이트웨이인지에 따라 달라집니다. 자세한 내용은 사이트 간 VPN 연결 만들기를 참조하세요.

    Virtual Private Gateway 또는 전송 게이트웨이에 대한 안내를 따르세요.

    • Virtual Private Gateway:

      Virtual Private Gateway와 고객 게이트웨이 사이의 동적 라우팅을 사용하여 VPN 연결을 만들고 VPN 연결에 태그를 적용합니다.

          aws ec2 create-vpn-connection \
              --type ipsec.1 \
              --customer-gateway-id CUSTOMER_GATEWAY_1 \
              --vpn-gateway-id VPN_GATEWAY_ID \
              --options TunnelOptions='[{TunnelInsideCidr=AWS_T1_IP,PreSharedKey=SHARED_SECRET_1},{TunnelInsideCidr=AWS_T2_IP,PreSharedKey=SHARED_SECRET_2}]'
      
          aws ec2 create-vpn-connection \
              --type ipsec.1 \
              --customer-gateway-id CUSTOMER_GATEWAY_2 \
              --vpn-gateway-id VPN_GATEWAY_ID \
              --options TunnelOptions='[{TunnelInsideCidr=AWS_T3_IP,PreSharedKey=SHARED_SECRET_3},{TunnelInsideCidr=AWS_T4_IP,PreSharedKey=SHARED_SECRET_4}]'
      
    • 전송 게이트웨이:

      전송 게이트웨이와 고객 게이트웨이 사이에 동적 라우팅을 사용하여 VPN 연결을 만듭니다.

      aws ec2 create-vpn-connection \
          --type ipsec.1 \
          --customer-gateway-id CUSTOMER_GATEWAY_1 \
          --transit-gateway-id TRANSIT_GATEWAY_ID \
          --options TunnelOptions='[{TunnelInsideCidr=AWS_T1_IP,PreSharedKey=SHARED_SECRET_1},{TunnelInsideCidr=AWS_T2_IP,PreSharedKey=SHARED_SECRET_2}]'
      
      aws ec2 create-vpn-connection \
          --type ipsec.1 \
          --customer-gateway-id CUSTOMER_GATEWAY_2 \
          --transit-gateway-id TRANSIT_GATEWAY_ID \
          --options TunnelOptions='[{TunnelInsideCidr=AWS_T3_IP,PreSharedKey=SHARED_SECRET_3},{TunnelInsideCidr=AWS_T4_IP,PreSharedKey=SHARED_SECRET_4}]'
      

      다음을 바꿉니다.

      • CUSTOMER_GATEWAY_1: Google Cloud VPN 게이트웨이, 인터페이스 0
      • CUSTOMER_GATEWAY_2: Google Cloud VPN 게이트웨이, 인터페이스 1
      • AWS_T1_IP: 연결 1, 터널 1에 대한 Virtual Private Gateway의 내부 IP 주소
      • AWS_T2_IP: 연결 1, 터널 2에 대한 Virtual Private Gateway의 내부 IP 주소
      • AWS_T3_IP: 연결 2, 터널 1에 대한 Virtual Private Gateway의 내부 IP 주소
      • AWS_T4_IP: 연결 2, 터널 2에 대한 Virtual Private Gateway의 내부 IP 주소
      • SHARED_SECRET_1: 연결 1, 터널 1에 대한 사전 공유 키
      • SHARED_SECRET_2: 연결 1, 터널 2에 대한 사전 공유 키
      • SHARED_SECRET_3: 연결 2, 터널 1에 대한 사전 공유 키
      • SHARED_SECRET_4: 연결 2, 터널 2에 대한 사전 공유 키

      AWS는 일부 CIDR 범위를 예약하므로 이러한 범위의 값을 내부 IP 주소(AWS_T1_IP, AWS_T2_IP, AWS_T3_IP, AWS_T4_IP)로 사용할 수 없습니다. AWS가 예약하는 CIDR 블록에 대한 자세한 내용은 내부 터널 IPv4 CIDR을 참조하세요.

      이 명령어는 Google Cloud에 대해 4개의 터널을 만듭니다.

  4. 2개의 VPN 연결에 대해 구성 파일을 다운로드합니다.

    이후 단계에서는 구성 파일의 값을 사용하여 Google Cloud 측에서 리소스를 만들고 구성합니다.

Google Cloud에서 VPN 터널 및 Cloud Router 인터페이스 만들기

이 섹션에서는 이전 섹션에서 만든 AWS VPN 연결의 정보를 사용하여 Google Cloud에서 구성요소를 만들고 구성합니다.

AWS에 대해 VPN 터널을 구성할 때 IKEv2 암호화 프로토콜을 사용하고 AWS 측에서 더 적은 수의 변환 세트를 선택합니다. 예를 들어 단일 1단계 및 2단계 암호화 알고리즘, 무결성 알고리즘, Diffie-Hellman(DH) 그룹 번호의 조합을 선택합니다. 그렇지 않으면 기본 AWS 변환 세트에 비해 보안 연결(SA) 페이로드 크기가 크기 때문에 Cloud VPN 터널의 키 갱신이 실패할 수 있습니다. 페이로드 크기가 크면 AWS 측에서 Cloud VPN이 지원하지 않는 IKE 패킷의 IP 조각화가 발생할 수 있습니다. 자세한 내용은 사이트 간 VPN 연결을 위한 터널 옵션을 참조하세요.

  1. Cloud Shell에서 AWS 외부 IP 주소에 대해 4개의 인터페이스가 있는 외부 VPN 게이트웨이를 만듭니다.

    gcloud compute external-vpn-gateways create PEER_GATEWAY_NAME --interfaces \
      0=AWS_GW_IP_1,1=AWS_GW_IP_2,2=AWS_GW_IP_3,3=AWS_GW_IP_4
    

    다음을 바꿉니다.

    • AWS_GW_IP_1: 연결 1, 터널 1에 대한 Virtual Private Gateway의 외부 IP 주소
    • AWS_GW_IP_2: 연결 1, 터널 2에 대한 Virtual Private Gateway의 외부 IP 주소
    • AWS_GW_IP_3: 연결 2, 터널 1에 대한 Virtual Private Gateway의 외부 IP 주소
    • AWS_GW_IP_4: 연결 2, 터널 2에 대한 Virtual Private Gateway의 외부 IP 주소
  2. 4개의 VPN 터널을 만듭니다.

    • 터널 1:

      gcloud compute vpn-tunnels create tunnel-1 \
          --peer-external-gateway PEER_GATEWAY_NAME \
          --peer-external-gateway-interface 0 \
          --region REGION \
          --ike-version IKE_VERSION \
          --shared-secret SHARED_SECRET_1 \
          --router ROUTER_NAME \
          --vpn-gateway HA_VPN_GATEWAY_NAME \
          --interface 0
      
    • 터널 2:

      gcloud compute vpn-tunnels create tunnel-2 \
          --peer-external-gateway PEER_GATEWAY_NAME \
          --peer-external-gateway-interface 1 \
          --region REGION \
          --ike-version IKE_VERSION \
          --shared-secret SHARED_SECRET_2 \
          --router ROUTER_NAME \
          --vpn-gateway HA_VPN_GATEWAY_NAME \
          --interface 0
      
    • 터널 3:

      gcloud compute vpn-tunnels create tunnel-3 \
          --peer-external-gateway PEER_GATEWAY_NAME \
          --peer-external-gateway-interface 2 \
          --region REGION \
          --ike-version IKE_VERSION \
          --shared-secret SHARED_SECRET_3 \
          --router ROUTER_NAME \
          --vpn-gateway HA_VPN_GATEWAY_NAME \
          --interface 1
      
    • 터널 4:

      gcloud compute vpn-tunnels create tunnel-4 \
          --peer-external-gateway PEER_GATEWAY_NAME \
          --peer-external-gateway-interface 3 \
          --region REGION \
          --ike-version IKE_VERSION \
          --shared-secret SHARED_SECRET_4 \
          --router ROUTER_NAME \
          --vpn-gateway HA_VPN_GATEWAY_NAME \
          --interface 1
      
  3. 4개의 Cloud Router 인터페이스를 만듭니다.

    다음 명령어에서 각 GOOGLE_BGP_IP_TUNNEL 자리표시자를 Google Cloud 측의 터널 내부 IP 주소로 바꿉니다. AWS VPN 구성 파일의 값을 각 터널의 고객 게이트웨이 주소로 찾을 수 있습니다. 이러한 각 주소는 169.254.0.0/16 네트워크 범위 내의 /30 CIDR 범위에 있어야 합니다.

    • Cloud Router 인터페이스 1:

      gcloud compute routers add-interface ROUTER_NAME \
          --interface-name int-1 \
          --vpn-tunnel tunnel-1 \
          --ip-address GOOGLE_BGP_IP_TUNNEL_1 \
          --mask-length 30 \
          --region REGION
      
    • Cloud Router 인터페이스 2:

      gcloud compute routers add-interface ROUTER_NAME \
          --interface-name int-2 \
          --vpn-tunnel tunnel-2 \
          --ip-address GOOGLE_BGP_IP_TUNNEL_2 \
          --mask-length 30 \
          --region REGION
      
    • Cloud Router 인터페이스 3:

      gcloud compute routers add-interface ROUTER_NAME \
          --interface-name int-3 \
          --vpn-tunnel tunnel-3 \
          --ip-address GOOGLE_BGP_IP_TUNNEL_3 \
          --mask-length 30 \
          --region REGION
      
    • Cloud Router 인터페이스 4:

      gcloud compute routers add-interface ROUTER_NAME \
          --interface-name int-4 \
          --vpn-tunnel tunnel-4 \
          --ip-address GOOGLE_BGP_IP_TUNNEL_4 \
          --mask-length 30 \
          --region REGION
      
  4. BGP 피어를 추가합니다.

    다음 명령어에서 PEER_ASN을 BGP 세션의 AWS 측에 대한 ASN으로 바꿉니다.

    • AWS 연결 1, 터널 1

      gcloud compute routers add-bgp-peer ROUTER_NAME \
          --peer-name aws-conn1-tunn1 \
          --peer-asn PEER_ASN \
          --interface int-1 \
          --peer-ip-address AWS_T1_IP \
          --region REGION
      
    • AWS 연결 1, 터널 2

      gcloud compute routers add-bgp-peer ROUTER_NAME \
          --peer-name aws-conn1-tunn2 \
          --peer-asn PEER_ASN \
          --interface int-2 \
          --peer-ip-address AWS_T2_IP \
          --region REGION
      
    • AWS 연결 2, 터널 1

      gcloud compute routers add-bgp-peer ROUTER_NAME \
          --peer-name aws-conn2-tunn1 \
          --peer-asn PEER_ASN \
          --interface int-3 \
          --peer-ip-address AWS_T3_IP \
          --region REGION
      
    • AWS 연결 2, 터널 2

      gcloud compute routers add-bgp-peer ROUTER_NAME \
          --peer-name aws-conn2-tunn2 \
          --peer-asn PEER_ASN \
          --interface int-4 \
          --peer-ip-address AWS_T4_IP \
          --region REGION
      

구성 확인

  1. Cloud Shell에서 Cloud Router 상태를 확인합니다.

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

    출력은 다음과 비슷합니다.

    result.bgpPeerStatus[].peerIpAddress)'
    result.bgpPeerStatus[0].ipAddress:     169.254.171.18
    result.bgpPeerStatus[0].name:          aws-conn1-tunn1
    result.bgpPeerStatus[0].peerIpAddress: 169.254.171.17
    result.bgpPeerStatus[1].ipAddress:     169.254.156.154
    result.bgpPeerStatus[1].name:          aws-conn1-tunn2
    result.bgpPeerStatus[1].peerIpAddress: 169.254.156.153
    result.bgpPeerStatus[2].ipAddress:     169.254.123.38
    result.bgpPeerStatus[2].name:          aws-conn2-tunn1
    result.bgpPeerStatus[2].peerIpAddress: 169.254.123.37
    result.bgpPeerStatus[3].ipAddress:     169.254.48.186
    result.bgpPeerStatus[3].name:          aws-conn2-tunn2
    result.bgpPeerStatus[3].peerIpAddress: 169.254.48.185
    
  2. 모든 터널을 나열합니다.

    gcloud compute vpn-tunnels list
    

    출력은 다음과 비슷합니다.

    NAME      REGION    GATEWAY    PEER_ADDRESS
    tunnel-1  us-east4  ha-vpn-gw  34.205.x.x
    tunnel-2  us-east4  ha-vpn-gw  52.203.x.x
    tunnel-3  us-east4  ha-vpn-gw  3.208.x.x
    tunnel-4  us-east4  ha-vpn-gw  52.204.x.x
    
  3. 터널 상태를 확인합니다.

    gcloud compute vpn-tunnels describe tunnel-1 \
         --region REGION \
         --format='flattened(status,detailedStatus)'
    

    출력은 다음과 비슷합니다.

    detailed_status: Tunnel is up and running.
    status:          ESTABLISHED
    
  4. Cloud Router가 학습한 동적 경로를 나열합니다.

    gcloud compute routers get-status ROUTER_NAME \
        --region REGION \
        --format="flattened(result.bestRoutes)"
    

    출력은 다음과 비슷합니다.

    result.bestRoutes[0].creationTimestamp: 2021-01-19T20:42:07.366-08:00
    result.bestRoutes[0].destRange:         10.2.2.0/24
    result.bestRoutes[0].kind:              compute#route
    result.bestRoutes[0].nextHopIp:         169.254.171.17
    result.bestRoutes[0].priority:          100
    result.bestRoutes[1].creationTimestamp: 2021-01-19T20:42:07.366-08:00
    result.bestRoutes[1].destRange:         10.2.2.0/24
    result.bestRoutes[1].kind:              compute#route
    result.bestRoutes[1].nextHopIp:         169.254.156.153
    result.bestRoutes[1].priority:          100
    result.bestRoutes[2].creationTimestamp: 2021-01-19T20:56:26.588-08:00
    result.bestRoutes[2].destRange:         10.2.2.0/24
    result.bestRoutes[2].kind:              compute#route
    result.bestRoutes[2].nextHopIp:         169.254.123.37
    result.bestRoutes[2].priority:          100
    result.bestRoutes[3].creationTimestamp: 2021-01-19T20:56:26.588-08:00
    result.bestRoutes[3].destRange:         10.2.2.0/24
    result.bestRoutes[3].kind:              compute#route
    result.bestRoutes[3].nextHopIp:         169.254.48.185
    result.bestRoutes[3].priority:          100
    

연결 테스트

  1. 핑 요청을 테스트하기 위해 터널의 양 측면에서 테스트 VM을 만듭니다.

    ICMP 트래픽을 허용하도록 방화벽 규칙이 설정되었는지 확인합니다.

  2. ping 명령어를 사용하여 연결을 테스트합니다.

  3. iperf를 사용하여 테스트 머신 간에 대역폭을 측정합니다.

    • 서버 측:

      iperf3 -s
      
    • 클라이언트 측:

      iperf3 -c SERVER_IP_ADDRESS -P NUMBER_OF_PARALLEL_SESSIONS
      

삭제

이 튜토리얼을 진행하는 동안 만든 Google Cloud 및 AWS 리소스를 삭제합니다.

Google Cloud 프로젝트 삭제

이 가이드에서 사용한 리소스의 비용이 Google Cloud 계정에 청구되지 않도록 하려면 프로젝트를 삭제하면 됩니다.

  1. Google Cloud 콘솔에서 리소스 관리 페이지로 이동합니다.

    리소스 관리로 이동

  2. 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제를 클릭합니다.
  3. 대화상자에서 프로젝트 ID를 입력한 후 종료를 클릭하여 프로젝트를 삭제합니다.

AWS 리소스 삭제

  1. VPN 연결을 삭제합니다.
  2. 전송 게이트웨이를 삭제합니다.
  3. 테스트 VM을 삭제합니다.

다음 단계