Membuat dan mengelola koneksi VPN

Halaman ini menjelaskan cara membuat dan mengelola resource koneksi VPN Google Distributed Cloud terhubung di zona Distributed Cloud terhubung.

Fungsi ini hanya tersedia di rak yang terhubung ke Distributed Cloud. Server yang terhubung ke Distributed Cloud tidak mendukung resource koneksi VPN.

Untuk mengetahui informasi selengkapnya tentang koneksi Distributed Cloud VPN, lihat Cara kerja Distributed Cloud terhubung.

Ingat hal berikut:

  • Anda harus mengonfigurasi jaringan untuk mengizinkan traffic yang diperlukan oleh koneksi Distributed Cloud VPN.

  • Saat Anda membuat koneksi Distributed Cloud VPN, Distributed Cloud akan membuat resource Cloud VPN gateway dan Cloud Router yang diperlukan. Nama gateway Cloud VPN diawali dengan anthos-mcc. Nama Cloud Router diawali dengan gdce. Anda tidak boleh mengubah resource ini; jika tidak, koneksi Distributed Cloud VPN mungkin berhenti berfungsi. Jika Anda secara tidak sengaja mengubah resource ini, Anda harus menghapus dan membuat ulang koneksi Distributed Cloud VPN yang terpengaruh.

  • Distributed Cloud connected membuat satu Cloud Router per Google Cloud project per region saat Anda membuat koneksi Distributed Cloud VPN pertama diGoogle Cloud project dan region tersebut. Semua koneksi VPN yang dibuat selanjutnya di project dan region tersebut akan menggunakan kembali resource Cloud Router yang sama. Google Cloud

  • Resource Cloud Router hanya dapat dihapus jika tidak ada antarmuka jaringan sekunder yang terpasang padanya. Distributed Cloud yang terhubung akan otomatis menghapus Cloud Router saat Anda menghapus koneksi VPN terakhir yang masih terpasang.

  • Koneksi Distributed Cloud VPN hanya mendukung alamat IPv4.

  • Anda hanya dapat membuat satu koneksi VPN per cluster yang terhubung Distributed Cloud.

  • Jika jaringan lokal Anda menggunakan beberapa gateway network address translation (NAT), Anda harus mengonfigurasinya agar penginstalan yang terhubung ke Distributed Cloud menggunakan satu alamat IP untuk traffic keluar ke jaringan Virtual Private Cloud (VPC) Anda.

  • Secara default, Distributed Cloud connected mengonfigurasi satu klien VPN di satu node untuk terhubung ke Google Cloud menggunakan dua tunnel VPN, yang juga dikenal sebagai VPN dengan ketersediaan tinggi (HA) di ujung Google Cloud . Anda dapat lebih meningkatkan ketersediaan koneksi VPN menggunakan flag --high-availability. Flag ini menginstruksikan Distributed Cloud yang terhubung untuk mengonfigurasi dua klien VPN di dua node terpisah dengan total empat tunnel VPN.

  • Anda harus menghapus dan membuat ulang koneksi VPN jika ingin mengubah konfigurasinya.

  • Anda dapat mengelola koneksi VPN menggunakan Google Cloud CLI atau Distributed Cloud Edge Container API.

Buat koneksi VPN

Untuk membuat koneksi Distributed Cloud VPN, selesaikan langkah-langkah di bagian ini.

Untuk menyelesaikan tugas ini, Anda harus memiliki peran Admin Edge Container (roles/edgecontainer.admin) di project Google Cloud Anda.

gcloud

Gunakan perintah gcloud edge-cloud container vpn-connections create:

gcloud edge-cloud container vpn-connections create VPN_CONNECTION_NAME \
    --project=PROJECT_ID \
    --location=REGION \
    --cluster=CLUSTER_NAME \
    --vpc-network=VPC_NETWORK_NAME \
    --nat-gateway-ip=NAT_GATEWAY_IP \
    --router=ROUTER_NAME \
    --high-availability

Ganti kode berikut:

  • VPN_CONNECTION_NAME: nama deskriptif yang secara unik mengidentifikasi koneksi VPN ini.
  • PROJECT_ID: ID project Google Cloud target.
  • REGION: Google Cloud region tempat zona Distributed Cloud terhubung target dibuat.
  • CLUSTER_NAME: nama target cluster yang terhubung Distributed Cloud.
  • VPC_NETWORK_NAME: nama jaringan VPC target yang dituju oleh koneksi VPN ini. Jaringan ini harus berada di project yang sama dengan instalasi yang terhubung ke Distributed Cloud Anda. Google Cloud
  • NAT_GATEWAY_IP: alamat IP gateway NAT untuk target cluster. Hapus flag ini jika Anda tidak menggunakan NAT.
  • ROUTER_NAME (opsional): menentukan resource Cloud Router yang ada untuk digunakan untuk koneksi VPN ini. Jika tidak, Distributed Cloud terhubung akan membuat Cloud Router secara otomatis jika belum ada di target Google Cloud project dan region.
  • --high-availability (opsional): mengonfigurasi koneksi VPN ini untuk ketersediaan tinggi di sisi cluster dengan menyiapkan dua klien VPN terpisah yang berjalan di dua node terpisah. Untuk menonaktifkan ketersediaan tinggi, hilangkan tanda ini.

API

Buat permintaan POST ke metode projects.locations.vpnConnections.create:

POST /v1/PROJECT_ID/locations/REGION/vpnConnections?vpnConnectionId=VPN_CONNECTION_ID&requestId=REQUEST_ID
{
  "name": string,
  "labels": {
   },
  "natGatewayIp": NAT_GATEWAY,
  "cluster": CLUSTER_PATH,
  "vpc": VPC_NETWORK_ID
  "enableHighAvailability": HA_ENABLE,
  "router": ROUTER_NAME,
}

Ganti kode berikut:

  • PROJECT_ID: ID project Google Cloud target.
  • REGION: Google Cloud region tempat zona target Distributed Cloud yang terhubung dibuat.
  • VPN_CONNECTION_ID: ID terprogram unik yang mengidentifikasi resource node pool ini.
  • REQUEST_ID: ID terprogram unik yang mengidentifikasi permintaan ini.
  • VPN_CONNECTION_NAME: nama deskriptif yang secara unik mengidentifikasi koneksi VPN ini.
  • NAT_GATEWAY: alamat IP gateway NAT Anda.
  • CLUSTER_PATH: jalur kanonis lengkap ke cluster target.
  • VPC_NETWORK_ID: ID jaringan VPC target.
  • HA_ENABLE: menunjukkan apakah akan mengonfigurasi koneksi VPN ini untuk ketersediaan tinggi di sisi cluster. Jika disetel ke TRUE, mengonfigurasi dua klien VPN terpisah yang berjalan di dua node terpisah.
  • ROUTER_NAME (opsional): menentukan resource Cloud Router yang ada untuk digunakan untuk koneksi VPN ini. Jika tidak, Distributed Cloud terhubung akan membuat Cloud Router secara otomatis jika belum ada di target Google Cloud project dan region.

Mencantumkan koneksi VPN

Untuk mencantumkan koneksi VPN yang disediakan untuk cluster yang terhubung ke Distributed Cloud, selesaikan langkah-langkah di bagian ini.

Untuk menyelesaikan tugas ini, Anda harus memiliki peran Edge Container Viewer (roles/edgecontainer.viewer) di project Google Cloud Anda.

gcloud

Gunakan perintah gcloud edge-cloud container vpn-connections list:

gcloud edge-cloud container vpn-connections list \
    --project=PROJECT_ID \
    --location=REGION

Ganti kode berikut:

  • PROJECT_ID: ID project Google Cloud target.
  • REGION: region Google Cloud tempat zona Distributed Cloud target dibuat.

API

Buat permintaan GET ke metode projects.locations.vpnConnections.list:

GET /v1/PROJECT_ID/locations/REGION/vpnConnections?filter=FILTER&pageSize=PAGE_SIZE&orderBy=SORT_BY&pageToken=PAGE_TOKEN

Ganti kode berikut:

  • PROJECT_ID: ID project Google Cloud target.
  • REGION: Google Cloud region tempat zona target Distributed Cloud yang terhubung dibuat.
  • FILTER: ekspresi yang membatasi hasil yang ditampilkan ke nilai tertentu.
  • PAGE_SIZE: jumlah hasil yang akan ditampilkan per halaman.
  • SORT_BY: daftar nama kolom yang dipisahkan koma yang digunakan untuk mengurutkan hasil yang ditampilkan. Urutan pengurutan default adalah menaik; untuk urutan pengurutan menurun, beri awalan kolom yang diinginkan dengan ~.
  • PAGE_TOKEN: token yang diterima dalam respons terhadap permintaan daftar terakhir di kolom nextPageToken dalam respons. Kirim token ini untuk menerima halaman hasil.

Mendapatkan informasi tentang koneksi VPN

Untuk mendapatkan informasi tentang koneksi Distributed Cloud VPN, selesaikan langkah-langkah di bagian ini.

Untuk menyelesaikan tugas ini, Anda harus memiliki peran Edge Container Viewer (roles/edgecontainer.viewer) di project Google Cloud Anda.

gcloud

Gunakan perintah gcloud edge-cloud container vpn-connections describe:

gcloud edge-cloud container vpn-connections describe VPN_CONNECTION_NAME \
    --project=PROJECT_ID \
    --location=REGION

Ganti kode berikut:

  • VPN_CONNECTION_NAME: nama koneksi VPN target.
  • PROJECT_ID: ID project Google Cloud target.
  • REGION: Google Cloud region tempat zona target Distributed Cloud yang terhubung dibuat.

API

Buat permintaan GET ke metode projects.locations.vpnConnections.get:

GET /v1/PROJECT_ID/locations/REGION/vpnConnections/VPN_CONNECTION_NAME

Ganti kode berikut:

  • PROJECT_ID: ID project Google Cloud target.
  • REGION: Google Cloud region tempat zona target Distributed Cloud yang terhubung dibuat.
  • VPN_CONNECTION_NAME: nama koneksi VPN target.

Menghapus koneksi VPN

Untuk menghapus koneksi Distributed Cloud VPN, selesaikan langkah-langkah di bagian ini.

Jika Anda menghapus koneksi VPN terakhir yang terkait dengan resource Cloud Router yang sebelumnya dibuat oleh Distributed Cloud di project Google Cloud , penghapusan koneksi VPN akan otomatis menghapus resource Cloud Router terkait. Namun, hanya resource Cloud Router yang dibuat secara otomatis oleh Distributed Cloud yang terhubung yang dihapus secara otomatis dalam situasi ini. Distributed Cloud yang terhubung tidak menghapus resource Cloud Router yang ada yang ditentukan menggunakan tanda --router.

Untuk menyelesaikan tugas ini, Anda harus memiliki peran Admin Edge Container (roles/edgecontainer.admin) di project Google Cloud Anda.

gcloud

Gunakan perintah gcloud edge-cloud container vpn-connections delete:

gcloud edge-cloud container vpn-connections delete VPN_CONNECTION_NAME \
    --location=REGION \
    --project=PROJECT_ID

Ganti kode berikut:

  • VPN_CONNECTION_NAME: nama deskriptif yang secara unik mengidentifikasi koneksi VPN ini.
  • REGION: Google Cloud region tempat zona Distributed Cloud terhubung target dibuat.
  • PROJECT_ID: ID project Google Cloud target.

API

Buat permintaan DELETE ke metode projects.locations.vpnConnections.delete:

DELETE /v1/PROJECT_ID/locations/REGION/vpnConnections/VPN_CONNECTION_NAME?requestId=REQUEST_ID

Ganti kode berikut:

  • PROJECT_ID: ID project Google Cloud target.
  • REGION: Google Cloud region tempat zona target Distributed Cloud yang terhubung dibuat.
  • VPN_CONNECTION_NAME: nama koneksi VPN target.
  • REQUEST_ID: ID terprogram unik yang mengidentifikasi permintaan ini.

Mengelola koneksi VPN lintas project

Distributed Cloud connected juga memungkinkan Anda membuat koneksi VPN ke jaringan VPC dalam project Google Cloud yang berbeda dari project Google Cloud yang berisi cluster Distributed Cloud connected Anda.

Prasyarat

Anda harus memenuhi prasyarat di bagian ini sebelum dapat membuat koneksi VPN antarproject.

Izin akun pemanggil

Akun pengguna pemanggil di project VPC target harus memiliki izin berikut. Izin ini dienkapsulasi dalam peran Project IAM Admin (roles/resourcemanager.projectIamAdmin):

  • resourcemanager.projects.get
  • resourcemanager.projects.getIamPolicy
  • resourcemanager.projects.setIamPolicy

Untuk mengetahui informasi tentang cara menetapkan peran dan izin IAM, lihat bagian Mengelola akses ke project, folder, dan organisasi.

Izin akun layanan Distributed Cloud

Untuk mengizinkan Distributed Cloud yang terhubung membuat resource Cloud Router dan Cloud VPN di project VPC target yang memungkinkan koneksi VPN lintas project, Anda harus memberikan peran Compute Network Admin (roles/compute.networkAdmin) kepada akun layanan Distributed Cloud di cluster Distributed Cloud Anda.

Untuk memberikan peran Compute Network Admin, lakukan hal berikut.

gcloud

Gunakan perintah gcloud projects add-iam-policy-binding:

gcloud projects add-iam-policy-binding VPC_PROJECT_ID \
    --member="serviceAccount:service-PROJECT_NUM@gcp-sa-edgecontainer.iam.gserviceaccount.com" \
    --role="roles/compute.networkAdmin" \
    --project=VPC_PROJECT_ID

Ganti kode berikut:

  • VPC_PROJECT_ID: ID project VPC target.
  • PROJECT_NUM: jumlah project Distributed Cloud Google Cloud target.

Membuat koneksi VPN lintas project

Untuk membuat koneksi VPN ke jaringan VPC di projectGoogle Cloud yang berbeda, selesaikan langkah-langkah di bagian ini.

gcloud

Gunakan perintah gcloud edge-cloud container vpn-connections create:

gcloud edge-cloud container vpn-connections create VPN_CONNECTION_NAME \
    --project=PROJECT_ID \
    --location=REGION \
    --cluster=CLUSTER_NAME \
    --vpc-project=VPC_PROJECT_ID \
    --vpc-network=VPC_NETWORK_NAME \
    --nat-gateway-ip=NAT_GATEWAY_IP \
    --high-availability

Ganti kode berikut:

  • VPN_CONNECTION_NAME: nama deskriptif yang secara unik mengidentifikasi koneksi VPN ini.
  • PROJECT_ID: ID project cluster terhubung Distributed Cloud target Google Cloud .
  • REGION: Google Cloud region tempat zona target Distributed Cloud yang terhubung dibuat.
  • CLUSTER_NAME: nama target cluster yang terhubung Distributed Cloud.
  • VPC_PROJECT_ID: ID project target Google Cloud yang berisi jaringan VPC target.
  • VPC_NETWORK_NAME: nama jaringan VPC target yang dituju oleh koneksi VPN ini.
  • NAT_GATEWAY_IP: alamat IP gateway NAT untuk target cluster. Hapus flag ini jika Anda tidak menggunakan NAT.
  • --high-availability (opsional): mengonfigurasi koneksi VPN ini untuk ketersediaan tinggi di sisi cluster dengan menyiapkan dua klien VPN terpisah yang berjalan di dua node terpisah. Untuk menonaktifkan ketersediaan tinggi, hilangkan tanda ini.

API

Buat permintaan POST ke metode projects.locations.vpnConnections.create:

POST /v1/PROJECT_ID/locations/REGION/vpnConnections?vpnConnectionId=VPN_CONNECTION_ID&requestId=REQUEST_ID
{
  "name": string,
  "labels": {
   },
  "natGatewayIp": NAT_GATEWAY,
  "cluster": CLUSTER_PATH,
  "vpc": VPC_NETWORK_ID,
  "vpcProject": VPC_PROJECT_ID,
  "vpcServiceAccount": var>VPC_PROJECT_SERVICE_ACCOUNT,
  "enableHighAvailability": HA_ENABLE,
}

Ganti kode berikut:

  • PROJECT_ID: ID project Google Cloud target.
  • REGION: Google Cloud region tempat zona target Distributed Cloud yang terhubung dibuat.
  • VPN_CONNECTION_ID: ID terprogram unik yang mengidentifikasi resource node pool ini.
  • REQUEST_ID: ID terprogram unik yang mengidentifikasi permintaan ini.
  • VPN_CONNECTION_NAME: nama deskriptif yang secara unik mengidentifikasi koneksi VPN ini.
  • NAT_GATEWAY: alamat IP gateway NAT Anda.
  • CLUSTER_PATH: jalur kanonis lengkap ke cluster target.
  • VPC_NETWORK_ID: ID jaringan VPC target.
  • VPC_PROJECT_ID: ID project Google Cloud target yang berisi jaringan VPC target.
  • HA_ENABLE: menunjukkan apakah akan mengonfigurasi koneksi VPN ini untuk ketersediaan tinggi di sisi cluster. Jika disetel ke TRUE, mengonfigurasi dua klien VPN terpisah yang berjalan di dua node terpisah.

Cloud Audit Logs untuk koneksi VPN lintas project

Saat Anda membuat koneksi VPN lintas project, log Cloud Audit Logs akan ditulis sebagai berikut:

  • Log audit untuk cluster yang terhubung ke Distributed Cloud mencatat informasi operasi yang berjalan lama, autentikasi, dan otorisasi untuk koneksi VPN lintas project. Informasi ini mencakup pemanggil operasi pembuatan dan izin yang telah diberikan atau ditolak untuk pemanggil.
  • Log audit untuk project VPC target mencatat informasi tentang Google Cloud resource yang memungkinkan koneksi VPN antar-project, seperti resource Cloud Router dan Cloud VPN. Pemanggil yang mengakses resource ini adalah akun layanan yang terhubung ke Distributed Cloud yang telah Anda beri peran Agen Layanan Edge Container (roles/edgecontainer.serviceAgent).

Batasan koneksi VPN

Jika Anda mengubah kumpulan node cluster tempat Anda membuat koneksi VPN tertentu, Anda harus menghapus dan membuat ulang koneksi VPN tersebut. Jika tidak, perilaku yang tidak terduga dapat terjadi, termasuk:

  • Koneksi VPN terputus-putus
  • Tidak dapat membuat koneksi VPN di cluster lain di zona yang terhubung Distributed Cloud

Batasan koneksi VPN lintas project

Selain itu, koneksi VPN lintas project memiliki batasan berikut:

  • Resource koneksi VPN lintas project hanya ada di cluster yang terhubung Distributed Cloud Anda.
  • Jika Anda mengubah izin pada akun layanan yang terhubung ke Distributed Cloud di project VPC target, Anda tidak dapat menghapus koneksi VPN lintas project dari cluster yang terhubung ke Distributed Cloud.

Langkah berikutnya