Membuat koneksi VPN dengan ketersediaan tinggi (HA) antara Google Cloud dan AWS

Tutorial ini menunjukkan cara membuat koneksi VPN dengan ketersediaan tinggi antara Google Cloud dan Amazon Web Services (AWS) untuk komunikasi langsung antara jaringan VPC di kedua platform cloud.

Tutorial ini mengasumsikan bahwa Anda sudah memahami konsep dasar jaringan Virtual Private Cloud (VPC), Border Gateway Protocol (BGP), virtual private network (VPN), dan tunnel IPsec.

Google Cloud menyediakan layanan VPN dengan ketersediaan tinggi (HA) untuk menghubungkan jaringan VPC Anda ke lingkungan yang berjalan di luar Google Cloud, seperti di infrastruktur lokal atau di AWS melalui koneksi VPN IPsec. VPN dengan ketersediaan tinggi (HA) memberikan SLA ketersediaan layanan 99,99% jika dikonfigurasi berdasarkan praktik terbaik Google. Untuk mengetahui informasi selengkapnya, lihat Perjanjian Tingkat Layanan (SLA) Cloud VPN.

Ringkasan arsitektur

Arsitektur yang dijelaskan di halaman ini mencakup komponen berikut:

  • Cloud Router: Layanan Google Cloud yang terdistribusi dan terkelola sepenuhnya untuk menyediakan perutean dinamis menggunakan BGP untuk jaringan VPC Anda.
  • Gateway VPN dengan ketersediaan tinggi (HA): Gateway VPN yang dikelola Google yang berjalan pada Google Cloud. Setiap gateway VPN dengan ketersediaan tinggi (HA) adalah resource regional yang memiliki dua antarmuka, masing-masing dengan alamat IP eksternal: antarmuka 0 dan 1.
  • Tunnel VPN: Koneksi dari gateway VPN dengan ketersediaan tinggi (HA) ke gateway VPN peer di AWS yang dilalui traffic terenkripsi.
  • Gateway VPN peer: Dua endpoint VPN site-to-site AWS, yang dapat berasal dari gateway pribadi virtual AWS atau gateway transit AWS. Untuk informasi selengkapnya, lihat Apa yang dimaksud dengan AWS Site-to-Site VPN?

Setiap koneksi gateway VPN peer dilengkapi dengan dua tunnel yang telah dikonfigurasi sebelumnya untuk mengarah ke satu pengguna gateway, dalam hal ini merupakan antarmuka VPN dengan ketersediaan tinggi (HA) Google Cloud. Dengan konfigurasi ini, jumlah minimum tunnel untuk memenuhi SLA ketersediaan layanan 99,99% adalah empat.

Opsi perutean dan bandwidth gabungan melalui tunnel VPN bervariasi berdasarkan opsi VPN Site-to-Site yang digunakan di sisi AWS:

Diagram berikut menampilkan arsitektur.

Ringkasan arsitektur.

Tujuan

  • Membuat jaringan VPC di Google Cloud.
  • Membuat gateway VPN dengan ketersediaan tinggi (HA) dan Cloud Router pada Google Cloud.
  • Membuat gateway pelanggan di AWS.
  • Membuat koneksi VPN dengan perutean dinamis pada AWS.
  • Membuat gateway VPN eksternal dan tunnel VPN di Google Cloud.
  • Memverifikasi dan uji koneksi VPN antarjaringan VPC pada Google Cloud dan AWS.

Contoh modul Terraform

Anda dapat menggunakan modul gcp-to-aws-ha-vpn-terraform-module untuk menyediakan VPN dengan ketersediaan tinggi (HA) antara Google Cloud dan AWS.

Biaya

Tutorial ini menggunakan komponen Google Cloud yang dapat ditagih, termasuk sebagai berikut:

Untuk memperkirakan biaya komponen Google Cloud, gunakan Kalkulator Harga Google Cloud.

Tutorial ini menggunakan komponen Amazon Web Services yang dapat ditagih, termasuk berikut ini:

  • Gateway Transit AWS
  • VPN Site-to-Site AWS

Untuk memperkirakan biaya komponen AWS, gunakan Kalkulator Harga AWS.

Sebelum memulai

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. Make sure that billing is enabled for your Google Cloud project.

  3. Enable the Compute Engine API.

    Enable the API

  4. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

  5. Pastikan Anda memiliki peran administratif yang diperlukan untuk mengonfigurasi komponen jaringan:

    • Network Admincompute.networkAdmin
    • Security Admin: compute.securityAdmin
    • Compute Admin: compute.admin

    Untuk informasi selengkapnya tentang tujuan peran ini, lihat Peran IAM untuk fungsi pekerjaan terkait jaringan.

Membuat gateway VPN dengan ketersediaan tinggi (HA) dan Cloud Router di Google Cloud

Di bagian ini, Anda akan membuat jaringan VPC, gateway VPN dengan ketersediaan tinggi (HA), dan Cloud Router di Google Cloud.

  1. Di Cloud Shell, pastikan Anda bekerja di project Google Cloud yang Anda buat atau pilih.

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

    Ganti YOUR_PROJECT_ID dengan project ID Google Cloud Anda.

  2. Untuk membuat jaringan VPC kustom dengan satu subnet, gunakan perintah gcloud compute networks create:

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

    Ganti kode berikut:

    Misalnya, perintah berikut akan membuat jaringan VPC kustom bernama gc-vpc dengan satu subnet:

    gcloud compute networks create gc-vpc \
        --subnet-mode custom \
        --bgp-routing-mode global
    
  3. Untuk membuat satu subnet guna menghosting VM pengujian, gunakan perintah gcloud compute networks subnets create:

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

    Ganti kode berikut:

    • SUBNET_NAME: Nama subnet
    • SUBNET_REGION: Region tempat membuat subnet
    • IP_ADDRESS_RANGE: Rentang alamat IP untuk subnet

      Misalnya, perintah berikut akan membuat subnet bernama subnet-east4 di jaringan VPC gc-vpc.

    gcloud compute networks subnets create subnet-east4  \
        --network gc-vpc \
        --region us-east4 \
        --range 10.1.1.0/24
    
  4. Untuk membuat gateway VPN dengan ketersediaan tinggi (HA), gunakan perintah gcloud compute vpn-gateways create:

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

    Ganti HA_VPN_GATEWAY_NAME dengan nama gateway VPN dengan ketersediaan tinggi (HA).

  5. Untuk membuat Cloud Router, gunakan perintah gcloud compute routers create:

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

    Ganti kode berikut:

    • ROUTER_NAME: Nama Cloud Router Anda
    • GOOGLE_ASN: ASN (nomor sistem otonom) pribadi untuk Cloud Router yang Anda buat. Dapat berupa ASN pribadi apa pun dalam rentang 64512-65534 atau4200000000-4294967294 yang belum Anda gunakan sebagai pembanding ASN di wilayah dan jaringan yang sama.

    Misalnya, perintah berikut akan membuat Cloud Router bernama cloud-router.

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

Untuk membuat gateway VPN dengan dua antarmuka, catat alamat IP eksternal. Anda memerlukan alamat ini saat menyiapkan lingkungan di sisi AWS.

Membuat gateway dan koneksi VPN di AWS

Di bagian ini, Anda akan membuat gateway pelanggan, gateway target, dan koneksi VPN dengan perutean dinamis.

Anda menjalankan perintah AWS menggunakan Antarmuka Command Line AWS.

  1. Untuk membuat dua gateway pelanggan menggunakan perintah AWS berikut, gunakan perintah AWS CLI create-customer-gateway:

    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

    Ganti INTERFACE_0_IP_ADDRESS dan INTERFACE_1_IP_ADDRESS dengan alamat IP eksternal dari langkah terakhir di bagian sebelumnya.

  2. Untuk membuat gateway target dan melampirkan ke Amazon VPC, lakukan hal berikut:

    Gateway target dapat berupa gateway pribadi virtual atau gateway transit. Untuk mengetahui informasi selengkapnya, lihat Membuat gateway target.

    Virtual private gateway

    1. Buat gateway pribadi virtual dengan ASN sisi AWS tertentu menggunakan perintah AWS CLI create-vpn-gateway:

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

      Ganti AWS_SIDE_ASN dengan ASN untuk sisi AWS.

      Perintah ini akan terlihat seperti contoh berikut:

      aws ec2 create-vpn-gateway --type ipsec.1 --amazon-side-asn 65001
      
    2. Lampirkan gateway pribadi virtual ke jaringan VPC Anda menggunakan perintah AWS CLI attach-vpn-gateway:

      aws ec2 attach-vpn-gateway --vpn-gateway-id VPN_GATEWAY_ID --vpc-id VPC_ID

    Gateway transit

    1. Buat gateway transit menggunakan perintah AWS CLI create-transit-gateway:

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

      Ganti TRANSIT_GATEWAY_DESCRIPTION dengan deskripsi untuk gateway transit Anda.

    2. Hubungkan jaringan VPC Anda ke gateway transit menggunakan perintah AWS CLI create-transit-gateway-vpc-attachment:

      aws ec2 create-transit-gateway-vpc-attachment \
          --transit-gateway-id TRANSIT_GATEWAY_ID \
          --vpc-id VPC_ID \
          --subnet-ids "SUBNET_ID"

      Ganti kode berikut:

      • TRANSIT_GATEWAY_ID: ID gateway transit
      • VPC_ID: ID VPC
      • SUBNET_ID: ID satu atau beberapa subnet
  3. Untuk membuat koneksi VPN dengan perutean dinamis, lakukan hal berikut:

    Metode untuk membuat koneksi VPN dengan perutean dinamis berbeda-beda bergantung pada apakah gateway target Anda adalah gateway pribadi virtual atau gateway. transit. Untuk informasi selengkapnya, lihat Membuat koneksi VPN.

    Virtual private gateway

    Buat koneksi VPN dengan perutean dinamis antara gateway pribadi virtual dan gateway pelanggan, lalu terapkan tag ke koneksi 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}]'

    Ganti kode berikut:

    • CUSTOMER_GATEWAY_1: Gateway Google Cloud VPN, antarmuka 0
    • CUSTOMER_GATEWAY_2: Gateway Google Cloud VPN, antarmuka 1
    • AWS_T1_IP: Di dalam alamat IP untuk gateway pribadi virtual untuk koneksi 1, tunnel 1
    • AWS_T2_IP: Di dalam alamat IP untuk gateway pribadi virtual untuk koneksi 1, tunnel 2
    • AWS_T3_IP: Di dalam alamat IP untuk gateway pribadi virtual untuk koneksi 2, tunnel 1
    • AWS_T4_IP: Di dalam alamat IP untuk gateway pribadi virtual untuk koneksi 2, tunnel 2
    • SHARED_SECRET_1: Pre-shared key untuk koneksi 1, tunnel 1
    • SHARED_SECRET_2: Pre-shared key untuk koneksi 1, tunnel 2
    • SHARED_SECRET_3: Pre-shared key untuk koneksi 2, tunnel 1
    • SHARED_SECRET_4: Pre-shared key untuk koneksi 2, tunnel 2

    Gateway transit

    Buat koneksi VPN dengan perutean dinamis antara gateway transit dan gateway pelanggan:

    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}]'

    Ganti kode berikut:

    • CUSTOMER_GATEWAY_1: Gateway Google Cloud VPN, antarmuka 0
    • CUSTOMER_GATEWAY_2: Gateway Google Cloud VPN, antarmuka 1
    • TRANSIT_GATEWAY_ID: ID gateway transit yang terkait dengan koneksi VPN
    • AWS_T1_IP: Di dalam alamat IP untuk gateway pribadi virtual untuk koneksi 1, tunnel 1
    • AWS_T2_IP: Di dalam alamat IP untuk gateway pribadi virtual untuk koneksi 1, tunnel 2
    • AWS_T3_IP: Di dalam alamat IP untuk gateway pribadi virtual untuk koneksi 2, tunnel 1
    • AWS_T4_IP: Di dalam alamat IP untuk gateway pribadi virtual untuk koneksi 2, tunnel 2
    • SHARED_SECRET_1: Pre-shared key untuk koneksi 1, tunnel 1
    • SHARED_SECRET_2: Pre-shared key untuk koneksi 1, tunnel 2
    • SHARED_SECRET_3: Pre-shared key untuk koneksi 2, tunnel 1
    • SHARED_SECRET_4: Pre-shared key untuk koneksi 2, tunnel 2
    • CUSTOMER_GATEWAY_1: Gateway Google Cloud VPN, antarmuka 0
    • CUSTOMER_GATEWAY_2: Gateway Google Cloud VPN, antarmuka 1
    • TRANSIT_GATEWAY_ID: ID gateway transit yang terkait dengan koneksi VPN
    • AWS_T1_IP: Di dalam alamat IP untuk gateway pribadi virtual untuk koneksi 1, tunnel 1
    • AWS_T2_IP: Di dalam alamat IP untuk gateway pribadi virtual untuk koneksi 1, tunnel 2
    • AWS_T3_IP: Di dalam alamat IP untuk gateway pribadi virtual untuk koneksi 2, tunnel 1
    • AWS_T4_IP: Di dalam alamat IP untuk gateway pribadi virtual untuk koneksi 2, tunnel 2
    • SHARED_SECRET_1: Pre-shared key untuk koneksi 1, tunnel 1
    • SHARED_SECRET_2: Pre-shared key untuk koneksi 1, tunnel 2
    • SHARED_SECRET_3: Pre-shared key untuk koneksi 2, tunnel 1
    • SHARED_SECRET_4: Pre-shared key untuk koneksi 2, tunnel 2

    AWS mencadangkan beberapa rentang CIDR, sehingga Anda tidak dapat menggunakan nilai dalam rentang ini sebagai alamat IP di dalam (AWS_T1_IP, AWS_T2_IP, AWS_T3_IP, AWS_T4_IP). Untuk mengetahui informasi tentang CIDR apa yang memblokir cadangan AWS, lihat Opsi tunnel untuk koneksi VPN Site-to-Site Anda.

    Anda membuat empat tunnel ke Google Cloud menggunakan perintah ini.

  4. Download file konfigurasi untuk kedua koneksi VPN tersebut.

    Pada langkah berikutnya, Anda akan menggunakan nilai dari file konfigurasi yang didownload untuk membuat dan mengonfigurasi resource di sisi Google Cloud.

Membuat tunnel VPN dan antarmuka Cloud Router di Google Cloud

Di bagian ini, Anda akan menggunakan informasi dari koneksi VPN AWS yang Anda buat di bagian sebelumnya untuk membuat gateway VPN eksternal, tunnel VPN, dan antarmuka Cloud Router di Google Cloud.

Saat mengonfigurasi tunnel Cloud VPN ke AWS, Anda harus menggunakan protokol IKEv2 dan hanya memilih satu set cipher IKE untuk membantu memastikan pembentukan tunnel berhasil. Misalnya, pilih satu algoritma enkripsi Fase 1 dan satu algoritma enkripsi Fase 2, algoritma integritas, dan grup Diffie-Hellman (DH). Set transformasi AWS default membuat payload asosiasi keamanan (SA) yang besar, yang dapat menyebabkan fragmentasi IP paket IKE. Cloud VPN tidak mendukung paket IKE yang terfragmentasi.

  1. Di Cloud Shell, buat gateway VPN eksternal dengan empat antarmuka untuk alamat IP di luar AWS.

    Sebelum membuat gateway VPN eksternal, pastikan alamat IP di luar AWS cocok dengan nilai dalam file konfigurasi yang Anda download. Anda tidak dapat mengubah alamat IP ini setelah membuat gateway VPN eksternal. Jika alamat tidak cocok, koneksi tunnel VPN dengan ketersediaan tinggi (HA) tidak dapat dibuat.

    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

    Ganti kode berikut:

    • AWS_GW_IP_1: Alamat IP luar untuk gateway pribadi virtual untuk koneksi 1, tunnel 1
    • AWS_GW_IP_2: Alamat IP luar untuk gateway pribadi virtual untuk koneksi 1, tunnel 2
    • AWS_GW_IP_3: Alamat IP luar untuk gateway pribadi virtual untuk koneksi 2, tunnel 1
    • AWS_GW_IP_4: Alamat IP luar untuk gateway pribadi virtual untuk koneksi 2, tunnel 2
  2. Buat empat tunnel VPN.

    • Tunnel 1:

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

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

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

      gcloud compute vpn-tunnels create tunnel-4 \
          --peer-external-gateway PEER_GATEWAY_NAME \
          --peer-external-gateway-interface 3 \
          --region REGION \
          --ike-version 2 \
          --shared-secret SHARED_SECRET_4 \
          --router ROUTER_NAME \
          --vpn-gateway HA_VPN_GATEWAY_NAME \
          --interface 1

      Ganti kode berikut:

  3. Buat empat antarmuka Cloud Router.

    Pada perintah berikut, ganti setiap GOOGLE_BGP_IP_TUNNEL placeholder dengan alamat IP dalam tunnel pada sisi Google Cloud. Anda dapat menemukan nilai dalam file konfigurasi AWS VPN sebagai alamat gateway pelanggan untuk setiap tunnel. Setiap alamat ini harus berada dalam /30 rentang CIDR dalam rentang jaringan 169.254.0.0/16.

    • Antarmuka 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
    • Antarmuka 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
    • Antarmuka 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
    • Antarmuka 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. Tambahkan peer BGP.

    Pada perintah berikut, ganti PEER_ASN dengan ASN untuk sisi AWS dari sesi BGP.

    • Koneksi AWS 1, tunnel 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
    • Koneksi AWS 1, tunnel 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
    • Koneksi AWS 2, tunnel 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
    • Koneksi AWS 2, tunnel 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

Memverifikasi konfigurasi

  1. Di Cloud Shell, verifikasi status Cloud Router:

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

    Output-nya mirip dengan yang berikut ini:

    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. Daftar semua tunnel:

    gcloud compute vpn-tunnels list

    Output-nya mirip dengan yang berikut ini:

    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. Periksa status tunnel:

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

    Output-nya mirip dengan yang berikut ini:

    detailed_status: Tunnel is up and running.
    status:          ESTABLISHED
    
  4. Mencantumkan rute dinamis yang dipelajari oleh Cloud Router:

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

    Outputnya mirip dengan hal berikut ini:

    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
    

Menguji koneksi VPN

  1. Buat VM uji di setiap sisi tunnel untuk menguji permintaan ping.

    Pastikan Anda memiliki aturan firewall VPC untuk mengizinkan traffic ICMP.

  2. Uji koneksi menggunakan perintah ping.

    1. Jika pengujian ping gagal, lihat log di Google Cloud dan log VPN Site-to-Site AWS. Pesan error dalam log dapat membantu Anda mengidentifikasi masalah. Untuk mempelajari cara memecahkan masalah koneksi VPN, lihat resource berikut:
  3. Mengukur bandwidth antar-mesin uji menggunakan iperf.

    • Pihak Server:

      iperf3 -s
    • Pihak Klien:

      iperf3 -c SERVER_IP_ADDRESS -P NUMBER_OF_PARALLEL_SESSIONS

Pembersihan

Hapus resource Google Cloud dan AWS yang telah Anda buat selama tutorial ini.

Menghapus project Google Cloud

Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, Anda dapat menghapus project Anda.

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Menghapus resource AWS

  1. Menghapus koneksi VPN Site-to-Site
  2. Menghapus gateway transit
  3. Menghentikan instance Amazon EC2

Langkah selanjutnya