Konektivitas pribadi

Konektivitas pribadi memungkinkan Datastream berkomunikasi dengan resource di jaringan Virtual Private Cloud (VPC) Anda menggunakan koneksi Peering Jaringan VPC ke jaringan VPC Datastream.

Koneksi Peering Jaringan VPC antara jaringan VPC Anda dan jaringan VPC Datastream memungkinkan Datastream terhubung ke:

Koneksi Peering Jaringan VPC antara jaringan VPC Anda dan jaringan VPC Datastream tidak mengizinkan Datastream terhubung ke:

  • Endpoint Private Service Connect yang berada di jaringan VPC Anda.
  • Resource yang terletak di jaringan VPC lain, yang melakukan peering dengan jaringan VPC Anda, tetapi tidak melakukan peering dengan jaringan VPC Datastream. (Hal ini karena Peering Jaringan VPC tidak menyediakan perutean transitif.)

Untuk membuat konektivitas antara Datastream dan resource yang hanya dapat diakses dari jaringan VPC, Anda dapat menggunakan VM terjemahan alamat jaringan (NAT) di jaringan VPC. Kasus penggunaan umum untuk VM NAT adalah saat Datastream perlu terhubung ke instance Cloud SQL.

Halaman ini menjelaskan contoh konfigurasi VM NAT yang memungkinkan Datastream terhubung secara pribadi ke instance Cloud SQL.

Diagram alur penggunaan Datastream

Menyiapkan VM NAT

  1. Identifikasi alamat IP instance Cloud SQL yang perlu dihubungkan oleh Datastream.

  2. Identifikasi jaringan VPC Anda. Ini adalah jaringan VPC yang terhubung ke jaringan VPC Datastream menggunakan Peering Jaringan VPC.

  3. Jika belum melakukannya, buat konfigurasi konektivitas pribadi di Datastream. Tindakan ini akan membuat koneksi Peering Jaringan VPC yang menghubungkan jaringan VPC Anda dan jaringan VPC Datastream. Catat rentang alamat IP yang digunakan oleh konfigurasi konektivitas pribadi Datastream.

  4. Pilih jenis mesin yang akan digunakan untuk VM NAT yang Anda buat di langkah berikutnya. Google Cloud menerapkan batas bandwidth egress maksimum per instance, untuk paket yang dirutekan oleh next hop dalam jaringan VPC, sesuai dengan jenis mesin instance VM. Untuk mengetahui informasi selengkapnya, lihat Traffic keluar ke tujuan yang dapat dirutekan dalam jaringan VPC dan Bandwidth keluar maksimum per instance.

  5. Buat VM NAT di jaringan VPC Anda. Jika jaringan VPC Anda adalah jaringan VPC Bersama, Anda dapat membuat VM NAT di project host atau project layanan apa pun, selama antarmuka jaringan VM NAT berada di jaringan VPC Bersama.

    • Untuk meminimalkan waktu perjalanan bolak-balik jaringan, buat VM NAT di region yang sama dengan Datastream.
    • Contoh ini mengasumsikan bahwa VM NAT memiliki satu antarmuka jaringan.
    • Jalankan skrip di distribusi Linux—misalnya, Debian 12.
    • Gunakan skrip startup berikut. Skrip startup dijalankan oleh root setiap kali VM dimulai. Skrip ini menyertakan komentar yang menjelaskan fungsi setiap baris skrip. Dalam skrip, ganti CLOUD_SQL_INSTANCE_IP dengan alamat IP instance Cloud SQL dan DATABASE_PORT dengan port tujuan yang digunakan oleh software database.
    #! /bin/bash
    
    export DB_ADDR=CLOUD_SQL_INSTANCE_IP
    export DB_PORT=DATABASE_PORT
    
    # Enable the VM to receive packets whose destinations do
    # not match any running process local to the VM
    echo 1 > /proc/sys/net/ipv4/ip_forward
    
    # Ask the Metadata server for the IP address of the VM nic0
    # network interface:
    md_url_prefix="http://169.254.169.254/computeMetadata/v1/instance"
    vm_nic_ip="$(curl -H "Metadata-Flavor: Google" ${md_url_prefix}/network-interfaces/0/ip)"
    
    # Clear any existing iptables NAT table entries (all chains):
    iptables -t nat -F
    
    # Create a NAT table entry in the prerouting chain, matching
    # any packets with destination database port, changing the destination
    # IP address of the packet to the SQL instance IP address:
    iptables -t nat -A PREROUTING \
         -p tcp --dport $DB_PORT \
         -j DNAT \
         --to-destination $DB_ADDR
    
    # Create a NAT table entry in the postrouting chain, matching
    # any packets with destination database port, changing the source IP
    # address of the packet to the NAT VM's primary internal IPv4 address:
    iptables -t nat -A POSTROUTING \
         -p tcp --dport $DB_PORT \
         -j SNAT \
         --to-source $vm_nic_ip
    
    # Save iptables configuration:
    iptables-save
  6. Buat aturan firewall izinkan traffic masuk (atau aturan dalam kebijakan firewall jaringan global, kebijakan firewall jaringan regional, atau kebijakan firewall hierarkis) dengan karakteristik berikut:

    • Arah: masuk
    • Tindakan: izinkan
    • Parameter target: setidaknya VM NAT
    • Parameter sumber: rentang alamat IP yang digunakan oleh konfigurasi konektivitas pribadi Datastream
    • Protokol: TCP
    • Port: minimal harus menyertakan DATABASE_PORT
  7. Aturan firewall izinkan traffic keluar yang tersirat memungkinkan VM NAT mengirim paket ke tujuan mana pun. Jika jaringan VPC Anda menggunakan aturan firewall yang menolak traffic keluar, Anda mungkin harus membuat aturan firewall izinkan traffic keluar untuk mengizinkan VM NAT mengirim paket ke instance Cloud SQL. Jika aturan izin keluar diperlukan, gunakan parameter ini:

    • Arah: egress
    • Tindakan: izinkan
    • Parameter target: setidaknya VM NAT
    • Parameter tujuan: alamat IP instance Cloud SQL
    • Protokol: TCP
    • Port: minimal harus menyertakan DATABASE_PORT
  8. Pastikan Anda telah mengonfigurasi instance Cloud SQL untuk menerima koneksi dari alamat IPv4 internal utama yang digunakan oleh antarmuka jaringan VM NAT Anda. Untuk mengetahui petunjuknya, lihat Memberikan otorisasi dengan jaringan yang diizinkan dalam dokumentasi Cloud SQL.

  9. Buat profil koneksi di Datastream. Di detail koneksi profil, tentukan alamat IPv4 internal primer VM NAT yang Anda buat. Masukkan port database sumber di kolom port profil koneksi.

Menyiapkan sepasang VM NAT dan Load Balancer Jaringan passthrough internal

Untuk meningkatkan keandalan solusi VM NAT, pertimbangkan arsitektur berikut, yang menggunakan sepasang VM NAT dan Load Balancer Jaringan passthrough internal:

  1. Buat dua VM NAT di zona berbeda di region yang sama. Ikuti petunjuk Menyiapkan VM NAT untuk membuat setiap VM, dan tempatkan setiap VM dalam grup instance tidak terkelola zonal-nya sendiri.

    Atau, Anda dapat membuat grup instance terkelola regional. Dalam template grup instance terkelola, sertakan skrip startup seperti contoh skrip startup dalam petunjuk Menyiapkan VM NAT.

  2. Buat Load Balancer Jaringan passthrough internal yang layanan backend-nya menggunakan grup instance atau grup dari langkah sebelumnya sebagai backend-nya. Untuk contoh Load Balancer Jaringan passthrough internal, lihat Menyiapkan Load Balancer Jaringan passthrough internal dengan backend grup instance VM.

    Saat mengonfigurasi health check load balancer, Anda dapat menggunakan health check TCP yang menggunakan port TCP tujuan yang cocok dengan DATABASE_PORT. Paket health check dirutekan ke CLOUD_SQL_INSTANCE_IP sesuai dengan konfigurasi VM NAT. Atau, Anda dapat menjalankan proses lokal di VM NAT yang menjawab health check TCP atau HTTP di port kustom.

  3. Buat aturan firewall dan konfigurasikan jaringan yang diizinkan Cloud SQL seperti yang dijelaskan dalam petunjuk Menyiapkan VM NAT. Pastikan jaringan yang diizinkan Cloud SQL menyertakan alamat IPv4 internal utama dari kedua VM NAT.

  4. Saat Anda membuat profil koneksi Datastream, tentukan alamat IP aturan penerusan Load Balancer Jaringan passthrough internal di detail koneksi profil.

Langkah selanjutnya