Mengonfigurasi jaringan untuk Managed Service for Apache Kafka

Klien dapat terhubung ke cluster Managed Service untuk Apache Kafka dari jaringan Virtual Private Cloud (VPC) mana pun di Google Cloud project Anda.

Halaman ini menjelaskan cara mengonfigurasi jaringan di Managed Service untuk Apache Kafka, cara mengaktifkan koneksi antara klien Kafka dan cluster Anda, serta cara mengaktifkan konektivitas lintas project.

Ringkasan

Saat Anda membuat cluster, layanan akan menempatkannya di jaringan VPC yang dikelola oleh Google Cloud. Jaringan ini disebut jaringan tenant. Setiap cluster Managed Service untuk Apache Kafka memiliki jaringan tenant terisolasi sendiri. Untuk mengaktifkan aplikasi klien berkomunikasi dengan cluster, Anda menghubungkan subnet dalam jaringan VPC ke jaringan tenant.

Diagram berikut menunjukkan dua Google Cloud project, project-1 dan project-2. Cluster Managed Service untuk Apache Kafka terletak di project-1.

Cluster Managed Service for Apache Kafka dengan tiga subnet yang terhubung

Subnet berikut terhubung ke cluster:

  • subnet-1, di jaringan VPC vpc-1 di project-1.
  • subnet-2, di jaringan VPC vpc-2 di project-1.
  • subnet-3, di jaringan VPC vpc-3 di project-2.

Menghubungkan subnet ke cluster

Saat pertama kali membuat cluster Managed Service untuk Apache Kafka, Anda harus menentukan setidaknya satu subnet. Nanti, Anda dapat mengupdate cluster untuk menambahkan atau menghapus subnet.

Subnet yang terhubung dapat berada di project yang sama dengan cluster atau project yang berbeda. Google Cloud Subnet yang terhubung harus berada di region yang sama dengan cluster, tetapi klien di region mana pun dalam VPC yang sama dapat terhubung ke alamat IP di subnet tersebut. Paling banyak satu subnet per jaringan VPC dapat terhubung ke cluster.

Untuk melihat subnet yang terhubung ke cluster, lihat Melihat subnet cluster.

Entri DNS cluster

Saat Anda menghubungkan subnet ke cluster, layanan akan membuat entri DNS dalam jaringan subnet tersebut untuk alamat bootstrap dan broker cluster. Klien Kafka menggunakan alamat bootstrap untuk menemukan broker dan membuat koneksi.

Nama DNS sama di semua subnet yang terhubung, meskipun sesuai dengan alamat IP yang berbeda di setiap subnet. Karena nama DNS konsisten, semua aplikasi klien Kafka Anda dapat menggunakan alamat bootstrap yang sama. Untuk mendapatkan alamat bootstrap cluster, lihat Melihat alamat bootstrap cluster.

Untuk contoh aplikasi klien yang terhubung ke Managed Service untuk Apache Kafka, lihat tutorial berikut:

Pengukuran subnet

Saat Anda menambahkan subnet ke cluster, subnet harus memiliki cukup alamat IP yang tersedia. Setiap subnet memerlukan satu alamat IP untuk setiap broker Kafka, ditambah satu alamat IP untuk alamat bootstrap. Ukuran cluster minimum untuk Managed Service untuk Apache Kafka memiliki tiga broker, sehingga setiap subnet memerlukan setidaknya empat alamat IP yang dapat digunakan, termasuk alamat bootstrap.

Jika cluster Anda memiliki lebih dari 45 vCPU, cluster akan memiliki satu broker untuk setiap 15 vCPU. Dalam hal ini, hitung jumlah minimum alamat IP untuk setiap subnet sebagai berikut:

  1. Bagi jumlah vCPU dengan 15.
  2. Bulatkan ke bilangan bulat terdekat.
  3. Tambahkan 1 untuk memperhitungkan alamat bootstrap.

Misalnya, cluster dengan 60 vCPU memerlukan setidaknya (60/15 + 1) = 5 alamat IP yang dapat digunakan.

Google mungkin akan mengubah rasio broker ke vCPU pada masa mendatang. Untuk mengakomodasi perubahan di masa mendatang, sebaiknya alokasikan 3x jumlah alamat IP yang dihitung pada langkah sebelumnya.

Saat Anda merencanakan ukuran subnet, dasarkan perhitungan pada ukuran maksimum yang Anda harapkan untuk menskalakan cluster pada masa mendatang.

Jika Anda berencana menggunakan Kafka Connect, pertimbangkan juga persyaratan subnet untuk cluster Connect. Untuk mengetahui informasi selengkapnya, lihat subnet pekerja.

Rentang IP publik yang digunakan secara pribadi

Anda dapat menghubungkan cluster ke subnet yang menggunakan ruang alamat non-RFC 1918. Rentang alamat IP tersebut disebut rentang IP publik yang digunakan secara pribadi (PUPI).

Tidak ada konfigurasi tambahan yang diperlukan untuk terhubung ke subnet PUPI. Subnet PUPI harus menggunakan rentang IPv4 yang valid dan bukan rentang subnet IPv4 yang dilarang.

Menghubungkan klien dan cluster di seluruh project

Jika memiliki klien Kafka di project yang berbeda Google Cloud , Anda dapat menghubungkan nya ke cluster dengan cara berikut:

Bagian berikutnya menjelaskan opsi ini.

Menghubungkan cluster di seluruh project

Anda dapat menghubungkan subnet dari project lain ke cluster. Untuk mengaktifkan akses lintas project, Anda harus memberikan izin ke akun layanan yang dikelola Google yang terkait dengan cluster. Untuk setiap project tempat Anda ingin klien Kafka mengakses cluster, akun layanan harus memiliki peran IAM Managed Kafka Service Agent di project tersebut. Peran ini memungkinkan cluster mengakses Google Cloud resource, sehingga dapat membuat resource jaringan dan entri DNS

Contoh: Jika project-1 berisi cluster, dan Anda ingin klien di project-2 mengakses cluster, berikan akun layanan Managed Kafka untuk project-1 peran Managed Kafka Service Agent di project-2. Kemudian hubungkan subnet dari project-2 ke cluster, seperti yang dijelaskan dalam Menghubungkan subnet ke cluster.

Untuk memberikan peran yang diperlukan, lakukan langkah-langkah berikut:

Konsol

  1. Tentukan Google Cloud project tempat Anda ingin klien Kafka mengakses cluster Managed Service untuk Apache Kafka.

  2. Untuk setiap project, di Google Cloud konsol, buka halaman IAM untuk project tersebut:

    Buka halaman IAM

  3. Klik Grant access.

  4. Di kolom New principals, masukkan hal berikut:

    service-CLUSTER_PROJECT_NUMBER@gcp-sa-managedkafka.iam.gserviceaccount.com
    

    Ganti CLUSTER_PROJECT_NUMBER dengan nomor project yang berisi cluster Managed Service untuk Apache Kafka.

  5. Klik Add roles.

  6. Di kolom Search for roles, masukkan Managed Kafka Service Agent. Nama agen layanan akan muncul di hasil penelusuran.

  7. Di hasil penelusuran, pilih Managed Kafka Service Agent.

  8. Klik Apply.

  9. Klik Save.

gcloud

  1. Tentukan Google Cloud project tempat Anda ingin klien Kafka mengakses cluster Managed Service untuk Apache Kafka.

  2. Untuk setiap project, jalankan perintah gcloud projects add-iam-policy-binding:

    gcloud projects add-iam-policy-binding CLIENT_PROJECT_ID \
        --member=serviceAccount:service-CLUSTER_PROJECT_NUMBER@gcp-sa-managedkafka.iam.gserviceaccount.com \
        --role=roles/managedkafka.serviceAgent
    

    Ganti kode berikut:

Menggunakan VPC Bersama untuk menghubungkan project

VPC Bersama membuat organisasi dapat menghubungkan resource dari beberapa project ke jaringan VPC umum. Untuk menggunakan VPC Bersama dengan Managed Service untuk Apache Kafka, lakukan langkah-langkah berikut:

  1. Buat cluster Managed Service untuk Apache Kafka.

  2. Sediakan VPC Bersama.

  3. Berikan akun layanan Managed Kafka peran yang diperlukan di project host VPC Bersama, seperti yang dijelaskan di bagian sebelumnya.

  4. Hubungkan cluster Managed Service untuk Apache Kafka ke subnet di jaringan VPC Bersama.

Klien di project host VPC Bersama atau di project layanan dapat terhubung ke cluster.

Untuk mengetahui informasi tentang kapan harus menggunakan VPC Bersama dalam arsitektur jaringan Anda, lihat Praktik terbaik dan arsitektur referensi untuk desain VPC.

Arsitektur jaringan cluster

Bagian ini menjelaskan detail arsitektur jaringan yang digunakan di Managed Service untuk Apache Kafka.

  • Cluster Kafka mencakup jaringan tenant dan satu atau beberapa jaringan konsumen.

  • Di jaringan tenant, cluster memiliki satu alamat IP dan URL bootstrap. Alamat bootstrap ini sesuai dengan load balancer yang terhubung ke semua broker di cluster. Setiap broker juga dapat bertindak sebagai server bootstrap, tetapi sebaiknya gunakan alamat bootstrap untuk keandalan.

  • Dalam setiap jaringan konsumen, layanan akan membuat endpoint Private Service Connect untuk alamat bootstrap dan satu endpoint untuk setiap broker.

  • URL untuk alamat bootstrap sama di seluruh jaringan VPC yang terhubung ke cluster. Alamat IP bersifat lokal untuk jaringan konsumen.

  • Klien terhubung ke broker Kafka menggunakan nama DNS. Nama ini otomatis terdaftar di setiap jaringan VPC yang terhubung ke cluster Kafka. Alamat bootstrap dan nomor port-nya tersedia sebagai properti cluster.

  • Klien menggunakan alamat bootstrap untuk mengambil URL broker. URL ini di-resolve ke alamat IP lokal untuk setiap jaringan VPC. Anda dapat menemukan alamat IP dan URL broker yang sebenarnya di Cloud DNS.

Diagram berikut menunjukkan contoh arsitektur jaringan cluster Managed Service untuk Apache Kafka.

Jaringan Managed Service untuk Apache Kafka

  • Dalam contoh ini, cluster memiliki tiga broker dan cluster berada di VPC tenant.

  • Broker berkomunikasi dengan klien melalui port Kafka default (9092) dan memiliki alamat IP yang unik. Dalam contoh ini, ketiga broker memiliki alamat IP 10.128.10.2, 10.128.10.3, dan 10.128.10.4.

  • Ketiga broker terhubung ke load balancer bootstrap. Hal ini memastikan ketersediaan tinggi dan toleransi fault regional, karena alamat bootstrap tidak terbatas pada satu broker atau zona.

Memecahkan masalah

Untuk mengetahui informasi tentang cara memecahkan masalah jaringan, lihat Error jaringan.

Apa langkah selanjutnya?