Klien dapat terhubung ke cluster Managed Service untuk Apache Kafka Google Cloud dari jaringan Virtual Private Cloud (VPC) mana pun di Google Cloud project Anda. Anda juga dapat mengaktifkan akses dari rentang IP tepercaya melalui internet publik.
Halaman ini menjelaskan cara mengonfigurasi jaringan di Managed Service untuk Apache Kafka, cara mengaktifkan koneksi antara klien Kafka dan cluster Anda, serta cara menghubungkan klien dan cluster secara pribadi di berbagai project.
Jaringan VPC adalah versi virtual dari jaringan fisik yang diimplementasikan di dalam Google Cloud. Layanan ini menyediakan konektivitas jaringan pribadi yang aman untuk instance VM, workload container, dan resource lainnya. Untuk mengetahui informasi selengkapnya, lihat ringkasan jaringan VPC.
Ringkasan
Saat Anda membuat cluster, layanan menempatkan broker cluster dan endpoint jaringan di jaringan VPC dalam project yang dikelola Google. Project ini disebut project tenant, dan jaringan disebut jaringan tenant. Sebaliknya, resource, aplikasi klien, dan jaringan VPC klien Anda berada di project Anda sendiri, yang disebut project konsumen. Setiap cluster Managed Service untuk Apache Kafka memiliki jaringan tenant terisolasi sendiri.
Jaringan VPC dibagi menjadi partisi yang disebut subnetwork (subnet). Setiap subnet menentukan rentang alamat IP di region tertentu dalam jaringan cloud Anda. Untuk memungkinkan aplikasi klien berkomunikasi dengan cluster, Anda menghubungkan subnet dalam jaringan VPC Anda ke jaringan tenant, atau secara opsional mengaktifkan akses cluster publik untuk terhubung melalui internet publik.
Diagram berikut menunjukkan dua Google Cloud project, project-1 dan
project-2. Cluster Managed Service untuk Apache Kafka terletak di
project-1.

Subnet berikut terhubung ke cluster:
subnet-1, di jaringan VPCvpc-1diproject-1.subnet-2, di jaringan VPCvpc-2diproject-1.subnet-3, di jaringan VPCvpc-3diproject-2.
Menghubungkan subnet ke cluster
Saat pertama kali membuat cluster Managed Service untuk Apache Kafka, Anda harus menentukan setidaknya satu subnet. Selanjutnya, Anda dapat mengupdate cluster untuk menambahkan atau menghapus subnet.
Subnet yang terhubung dapat dimiliki oleh project konsumen yang sama dengan cluster atau project konsumen yang berbeda. Aplikasi klien di region mana pun dalam jaringan VPC yang terhubung dapat terhubung ke cluster. Untuk mengetahui informasi selengkapnya tentang lokasi dan jumlah subnet, lihat Batasan.
Untuk mengetahui informasi selengkapnya tentang cara melihat subnetwork yang terhubung, lihat Melihat 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. Saat mengalihkan klien ke broker tertentu, server bootstrap menggunakan URL broker, bukan alamat IP.
URL bootstrap dan broker ditetapkan selama masa aktif cluster, tetapi format URL mungkin berbeda untuk cluster yang berbeda. Untuk mendapatkan alamat bootstrap cluster, lihat Melihat alamat bootstrap cluster.
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 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 alamat IP yang tersedia dalam jumlah yang cukup. 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 adalah 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 tersebut akan memiliki satu broker untuk setiap 15 vCPU. Dalam hal ini, hitung jumlah minimum alamat IP untuk setiap subnet sebagai berikut:
- Bagi jumlah vCPU dengan 15.
- Bulatkan ke atas ke bilangan bulat terdekat.
- Tambahkan 1 untuk memperhitungkan alamat bootstrap.
Misalnya, cluster dengan 60 vCPU memerlukan setidaknya (60/15 + 1) = 5 alamat IP yang dapat digunakan.
Google dapat mengubah rasio broker terhadap vCPU. Untuk mengakomodasi perubahan apa pun, sebaiknya alokasikan tiga kali lipat jumlah alamat IP yang dihitung pada langkah sebelumnya.
Saat merencanakan ukuran subnet, dasarkan penghitungan Anda pada ukuran maksimum yang Anda harapkan untuk menskalakan cluster Anda.
Jika Anda berencana menggunakan Kafka Connect, maka pertimbangkan juga persyaratan subnet untuk cluster Connect. Untuk mengetahui informasi selengkapnya, lihat subnet worker.
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).
Anda tidak memerlukan konfigurasi tambahan untuk terhubung ke subnet PUPI. Subnet PUPI harus menggunakan rentang IPv4 yang valid yang bukan merupakan rentang subnet IPv4 yang dilarang.
Menghubungkan klien dan cluster secara pribadi di seluruh project
Jika ingin menghubungkan klien Kafka di project Google Cloud yang berbeda secara pribadi ke cluster Anda, Anda dapat menggunakan salah satu metode berikut:
- Hubungkan cluster ke jaringan VPC di beberapa project.
- Gunakan VPC Bersama untuk menghubungkan project.
Bagian berikut menjelaskan opsi ini.
Menghubungkan cluster di seluruh project
Anda dapat menghubungkan subnet dari project lain ke cluster Anda. Untuk mengaktifkan akses antar-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 resource Google Cloud , sehingga cluster dapat membuat resource jaringan dan entri DNS.
Misalnya, jika project-1 berisi cluster, dan Anda ingin klien di
project-2 mengakses cluster, berikan peran Managed Kafka Service Agent untuk akun layanan Managed Kafka bagi project-1 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
Tentukan Google Cloud project tempat Anda ingin klien Kafka mengakses cluster Managed Service untuk Apache Kafka.
Untuk setiap project, di konsol Google Cloud , buka halaman IAM untuk project tersebut:
Klik Grant access.
Di kolom New principals, masukkan berikut ini:
service-CLUSTER_PROJECT_NUMBER@gcp-sa-managedkafka.iam.gserviceaccount.comGanti CLUSTER_PROJECT_NUMBER dengan nomor project project yang berisi cluster Managed Service untuk Apache Kafka.
Klik Tambahkan peran.
Di kolom Search for roles, masukkan
Managed Kafka Service Agent. Nama agen layanan akan muncul di hasil penelusuran.Di hasil penelusuran, pilih Managed Kafka Service Agent.
Klik Terapkan.
Klik Simpan.
gcloud
Tentukan Google Cloud project tempat Anda ingin klien Kafka mengakses cluster Managed Service untuk Apache Kafka.
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.serviceAgentGanti kode berikut:
- CLIENT_PROJECT_ID: nama project yang berisi jaringan VPC yang akan dihubungkan
- CLUSTER_PROJECT_NUMBER: nomor project dari project yang berisi cluster Managed Service untuk Apache Kafka
Menggunakan VPC Bersama untuk menghubungkan project
VPC Bersama memungkinkan organisasi menghubungkan resource dari beberapa project ke jaringan VPC umum. Untuk menggunakan VPC Bersama dengan Managed Service untuk Apache Kafka, lakukan langkah-langkah berikut:
Buat cluster Managed Service untuk Apache Kafka.
Beri akun layanan Managed Kafka peran yang diperlukan di project host VPC Bersama, seperti yang dijelaskan di bagian sebelumnya.
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.
Menghubungkan klien ke cluster publik
Jika memiliki aplikasi klien di luar jaringan VPC, Anda dapat mengaktifkan akses publik ke cluster. Cluster publik masih memerlukan subnet yang terhubung. Namun, Anda tidak perlu mengirim traffic melalui proxy tersebut.
Saat Anda mengaktifkan fitur cluster publik, layanan akan menyediakan alamat IPv4 eksternal untuk endpoint bootstrap dan broker cluster. Layanan ini juga membuat entri DNS cluster dapat di-resolve secara publik ke alamat IP publik ini. Artinya, klien eksternal dapat menggunakan alamat bootstrap yang sama untuk menemukan broker dan membuat koneksi. Implementasi ini menggunakan DNS split-horizon. Klien di jaringan VPC yang berisi subnet yang terhubung akan terus me-resolve endpoint pribadi, sementara klien di jaringan lain akan me-resolve endpoint publik. Mengaktifkan fitur cluster publik tidak akan membuat resource tambahan di project konsumen Anda.
Saat mengaktifkan fitur cluster publik, Anda harus memberikan satu atau beberapa rentang IP sumber yang diizinkan. Untuk mengetahui informasi selengkapnya tentang ukuran dan batas rentang yang diizinkan, lihat Cluster publik atau Batasan.
Anda dapat menambahkan atau menghapus rentang IP sumber yang diizinkan dengan memperbarui cluster. Managed Service untuk Apache Kafka menggunakan Cloud Next Generation Firewall untuk membatasi akses ke cluster publik. Menghapus rentang IP sumber yang diizinkan hanya berlaku untuk koneksi baru (lihat efek pada traffic yang ada).
Layanan ini melakukan beberapa tindakan pencegahan untuk membantu memastikan keamanan cluster publik Anda. Semua koneksi dienkripsi dalam transit menggunakan TLS, dan semua koneksi memerlukan autentikasi. Anda harus melakukan autentikasi menggunakan identitas IAM dengan SASL atau sertifikat klien dengan mTLS. Akses anonim tidak diizinkan. Untuk mengetahui informasi selengkapnya, lihat Jenis autentikasi untuk broker Kafka.
Administrator keamanan dapat melarang cluster publik dengan mengaktifkan batasan kebijakan organisasi terkelola Restrict Managed Kafka Public Clusters (constraints/managedkafka.managed.restrictPublicClusters). Untuk mengetahui informasi selengkapnya tentang batasan terkelola, lihat Batasan terkelola.
Mengonfigurasi firewall egress dari jaringan eksternal
Dalam beberapa skenario, Anda mungkin perlu menentukan alamat IPv4 eksternal endpoint bootstrap dan broker. Untuk mengetahui petunjuk tentang cara mengambil nilai ini, lihat Detail cluster publik.
Layanan ini menyediakan informasi ini dengan cara berikut:
Alamat IPv4 eksternal yang terkait dengan cluster Anda tersedia di Managed Service untuk Apache Kafka API,
gcloud, dan Terraform.Layanan ini mengelola satu atau beberapa data DNS penemuan. Ini adalah data DNS
Ayang berisi semua alamat IPv4 eksternal yang terkait dengan cluster Anda. Anda dapat menggunakan data ini di firewall berbasis FQDN, seperti Cloud NGFW, yang secara otomatis memperbarui aturan saat daftar endpoint berubah. Daftar endpoint penemuan tersedia di API,gcloud, dan Terraform.
Pertimbangkan hal berikut saat Anda menggunakan alamat IP publik yang terkait dengan cluster Anda:
Daftar alamat IPv4 publik yang terkait dengan cluster Anda dapat berubah atau bertambah. Oleh karena itu, otomatiskan cara Anda menggunakan informasi ini, atau tentukan proses untuk memperhitungkan data DNS penemuan baru saat meningkatkan skala cluster Anda. Perubahan dapat terjadi saat:
Anda menskalakan cluster. Menskalakan mungkin menambahkan satu atau beberapa alamat IPv4 eksternal saat broker baru ditambahkan. Untuk memahami pengaruh jumlah vCPU terhadap jumlah broker, lihat Penentuan ukuran subnet.
Anda menonaktifkan, lalu mengaktifkan fitur cluster publik. Tindakan ini akan menetapkan kumpulan alamat IPv4 eksternal baru ke cluster.
Setiap data DNS penemuan berisi maksimal 30 alamat IP. Hal ini tetap berada dalam batas umum yang diterapkan oleh firewall FQDN. Cluster dengan 29 broker atau kurang memiliki satu data DNS penemuan yang berisi 30 alamat IPv4 eksternal (termasuk data bootstrap). Layanan ini menambahkan satu data DNS penemuan untuk setiap 30 broker tambahan. Untuk memahami pengaruh jumlah vCPU terhadap jumlah broker, lihat Penentuan ukuran subnet.
Jangan mengonfigurasi klien Kafka Anda untuk terhubung ke data DNS penemuan; sebagai gantinya, konfigurasi klien untuk terhubung ke alamat bootstrap. Untuk mengetahui informasi selengkapnya, lihat Batasan.
Jika Anda menggunakan informasi ini untuk mengonfigurasi firewall keluar, izinkan konektivitas ke port TCP
9092(SASL) dan9192(mTLS).
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 secara terpisah juga dapat bertindak sebagai server bootstrap, tetapi sebaiknya gunakan alamat bootstrap untuk keandalan.
Dalam setiap jaringan konsumen, layanan 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 didaftarkan secara otomatis 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 diselesaikan 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.
*
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 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 fault tolerance regional, karena alamat bootstrap tidak terbatas pada satu broker atau zona.
Batasan
Batasan berikut berlaku untuk koneksi VPC dan cluster publik:
Region subnet. Subnet yang terhubung harus berada di region yang sama dengan cluster Anda.
Jumlah subnet. Anda dapat menghubungkan minimal satu dan maksimal sepuluh subnet ke cluster.
Subnet per jaringan. Anda dapat menghubungkan paling banyak satu subnet per jaringan VPC ke cluster.
Ukuran subnet. Setiap subnet yang terhubung memerlukan setidaknya satu alamat IP untuk setiap broker ditambah satu alamat IP untuk alamat bootstrap. Diperlukan minimal empat alamat IP yang dapat digunakan. Untuk mengetahui informasi selengkapnya, lihat Penentuan ukuran subnet.
Subnet yang terhubung untuk cluster publik. Untuk mengaktifkan akses publik, cluster Anda harus tetap memiliki minimal satu subnet yang terhubung, meskipun Anda tidak perlu mengirim traffic melalui subnet tersebut.
Rentang IP sumber yang diizinkan. Setiap rentang IP sumber yang diizinkan untuk cluster publik harus ditentukan dalam notasi CIDR IPv4. Setiap ukuran subnet CIDR harus antara
/16dan/32. Rentang CIDR tidak boleh tumpang-tindih. Alamat IPv6 tidak didukung. Anda dapat menentukan maksimum 500 rentang IP sumber yang diizinkan.Resolusi DNS data penemuan. Data DNS penemuan hanya dirancang untuk mengonfigurasi firewall keluar berbasis FQDN. Jangan konfigurasi klien Kafka Anda untuk terhubung ke rekaman penemuan ini; sebagai gantinya, konfigurasi klien untuk terhubung ke alamat bootstrap.
Memecahkan masalah
Untuk mengetahui informasi tentang cara memecahkan masalah jaringan, lihat Error jaringan.
Apa langkah selanjutnya?
Untuk mengetahui informasi selengkapnya tentang cara membuat cluster, lihat Membuat cluster Managed Service untuk Apache Kafka.
Untuk mengetahui informasi selengkapnya tentang cara mengupdate cluster, lihat Mengupdate cluster Managed Service untuk Apache Kafka.
Untuk mengetahui informasi selengkapnya tentang cara melihat subnetwork dan broker aktif cluster, lihat Melihat cluster.
Untuk mengetahui informasi selengkapnya tentang cara memublikasikan dan menggunakan pesan, lihat Memublikasikan dan menggunakan pesan.