Secure Sockets Layer (SSL) adalah protokol jaringan yang digunakan untuk membangun koneksi aman antara klien dan server. Ketika SSL diaktifkan, seluruh transfer data dalam kluster Dataflow—termasuk pertukaran pesan antara produsen, konsumen, dan broker—akan dienkripsi. Hal ini memastikan informasi sensitif tidak dapat dicegat atau dimodifikasi selama transmisi jaringan. Topik ini menjelaskan cara mengaktifkan SSL dan terhubung ke Kafka melalui SSL.
Prasyarat
Kluster Dataflow (yaitu kluster Kafka) dengan layanan Kafka yang dipilih harus telah dibuat di Konsol EMR. Untuk informasi selengkapnya, lihat Buat kluster Dataflow Kafka.
Prosedur
Langkah 1: Aktifkan SSL
E-MapReduce menyediakan dua metode untuk mengonfigurasi SSL pada kluster Kafka:
-
Aktifkan SSL dengan sertifikat default: Gunakan sertifikat dan metode konfigurasi default E-MapReduce untuk mengaktifkan SSL secara cepat.
-
Aktifkan SSL dengan pengaturan kustom: Gunakan sertifikat dan nilai konfigurasi Anda sendiri untuk mengaktifkan SSL.
Parameter kafka.ssl.config.type dalam file konfigurasi server.properties mengelola kebijakan konfigurasi SSL di E-MapReduce.
Metode 1: Default
Secara default, SSL dinonaktifkan untuk kluster Kafka. Ikuti langkah-langkah berikut untuk mengaktifkan SSL secara cepat.
-
Buka halaman konfigurasi layanan.
-
Masuk ke Konsol E-MapReduce.
-
Di bilah navigasi atas, pilih wilayah dan kelompok sumber daya sesuai kebutuhan.
-
Klik Services di kolom Actions kluster target.
-
Di halaman Services, klik Configure di area layanan Kafka.
-
-
Ubah parameter konfigurasi.
-
Di halaman Configure, klik tab server.properties.
-
Atur parameter kafka.ssl.config.type menjadi DEFAULT.
-
-
Simpan konfigurasi.
-
Klik Save.
-
Pada kotak dialog yang muncul, masukkan Execution Reason, lalu klik Save.
-
-
Mulai ulang layanan Kafka.
-
Di halaman Configure layanan Kafka, pilih .
-
Pada kotak dialog yang muncul, masukkan alasan eksekusi, lalu klik OK.
-
Pada kotak dialog Confirm, klik OK.
-
Metode 2: Custom
Secara default, SSL dinonaktifkan untuk kluster Kafka. Anda dapat mengaktifkan SSL dengan konfigurasi kustom.
-
Buka halaman konfigurasi layanan.
-
Masuk ke Konsol E-MapReduce.
-
Di bilah navigasi atas, pilih wilayah dan kelompok sumber daya sesuai kebutuhan.
-
Klik Services di kolom Actions kluster target.
-
Di halaman Services, klik Configure di area layanan Kafka.
-
-
Ubah parameter konfigurasi.
-
Di halaman Configure, klik tab server.properties.
-
Ubah nilai parameter kafka.ssl.config.type menjadi CUSTOM.
-
-
Simpan konfigurasi.
-
Klik Save.
-
Pada kotak dialog pop-up, masukkan Execution Reason dan klik Save.
-
-
Konfigurasi parameter SSL lainnya.
Berdasarkan kebutuhan bisnis Anda, konfigurasikan parameter terkait SSL selain
listeners. Contohnya termasukssl.keystore.location,ssl.keystore.password,ssl.truststore.location,ssl.truststore.password,ssl.key.password,ssl.keystore.type, danssl.truststore.type. -
Mulai ulang layanan Kafka.
-
Di halaman Configure layanan Kafka, pilih .
-
Pada kotak dialog yang muncul, masukkan alasan eksekusi, lalu klik OK.
-
Pada kotak dialog Confirm, klik OK.
-
Langkah 2: Terhubung ke Kafka melalui SSL
Untuk terhubung ke Kafka melalui SSL, Anda harus mengonfigurasi parameter klien berikut: security.protocol, ssl.truststore.password, dan ssl.truststore.location.
Sebagai contoh, untuk menjalankan pekerjaan menggunakan produsen dan konsumen bawaan Kafka pada kluster Kafka yang telah diaktifkan SSL, ikuti langkah-langkah berikut:
-
Terhubung ke node master kluster melalui SSH. Untuk informasi selengkapnya, lihat Masuk ke kluster.
-
Buat file konfigurasi.
-
Jalankan perintah berikut untuk membuat file konfigurasi
ssl.properties.vim ssl.properties -
Tambahkan konten berikut ke file
ssl.properties.security.protocol=SSL ssl.truststore.location=/var/taihao-security/ssl/ssl/truststore ssl.truststore.password=${password} ssl.keystore.location=/var/taihao-security/ssl/ssl/keystore ssl.keystore.password=${password} ssl.endpoint.identification.algorithm=Anda dapat menemukan nilai-nilai parameter tersebut di halaman Configure layanan Kafka di Konsol EMR. Jika Anda menjalankan pekerjaan di lingkungan di luar kluster Kafka, salin file
truststoredankeystoredari direktori yang sesuai di salah satu node kluster ke lingkungan runtime Anda dan konfigurasikan jalur file tersebut sesuai kebutuhan.
-
-
Jalankan perintah berikut untuk membuat topik.
kafka-topics.sh --partitions 10 --replication-factor 2 --bootstrap-server core-1-1:9092 --topic test --create --command-config ssl.properties -
Jalankan perintah berikut untuk menghasilkan data menggunakan file konfigurasi SSL.
export IP=<your_InnerIP> kafka-producer-perf-test.sh --topic test --num-records 123456 --throughput 10000 --record-size 1024 --producer-props bootstrap.servers=${IP}:9092 --producer.config ssl.propertiesCatatanPada contoh kode ini,
<your_InnerIP>adalah alamat IP internal node master-1-1. -
Jalankan perintah berikut untuk mengonsumsi data menggunakan file konfigurasi SSL.
export IP=<your_InnerIP> kafka-consumer-perf-test.sh --broker-list ${IP}:9092 --messages 100000000 --topic test --consumer.config ssl.properties
Topik terkait
Untuk mengotentikasi pengguna yang terhubung ke layanan Kafka dengan SASL, lihat Otentikasi ke layanan Kafka menggunakan SASL.