Anda dapat mengenkripsi semua data yang berpindah antara aplikasi klien dan Memorystore for Redis Cluster dengan aman. Ini adalah enkripsi dalam pengiriman. Dengan menggunakan enkripsi dalam transit, semua traffic Redis dienkripsi melalui protokol Transport Layer Security (TLS). Hal ini memastikan bahwa semua data yang berpindah antara aplikasi Anda dan Memorystore for Redis Cluster tetap rahasia dan tidak dimodifikasi.
Jika enkripsi dalam transit diaktifkan, klien Redis hanya berkomunikasi melalui koneksi aman. Klien Redis yang tidak dikonfigurasi untuk TLS akan diblokir. Jika memilih untuk menggunakan enkripsi saat transit, Anda bertanggung jawab untuk memastikan bahwa klien Redis Anda dapat menggunakan protokol TLS.
Berikut adalah contoh kasus penggunaan untuk menggunakan enkripsi saat transit:
- Melindungi data sensitif yang di-cache: Jika Anda menggunakan Memorystore for Redis Cluster untuk menyimpan informasi bernilai tinggi, seperti token sesi, Informasi Identitas Pribadi (PII), atau kunci API, maka enkripsi saat transit akan mencegah penyerang dengan akses VPC mengakses data Anda.
- Mematuhi standar industri: Banyak framework keamanan, termasuk HIPAA untuk data kesehatan dan PCI DSS untuk data keuangan, mewajibkan informasi sensitif dienkripsi saat dalam penyimpanan dan saat dikirim untuk tujuan kepatuhan terhadap peraturan dan industri.
- Autentikasi Identity and Access Management (IAM) yang aman: Saat Anda menggunakan autentikasi IAM untuk mengelola akses ke data Anda, Memorystore untuk Cluster Redis memerlukan TLS untuk mencegah pemaparan atau kebocoran token autentikasi selama transmisi.
- Mencegah serangan man-in-the-middle: TLS mengautentikasi endpoint server menggunakan Otoritas Sertifikat (CA). CA melindungi aplikasi Anda dari peniruan server dan modifikasi data yang tidak sah saat data berpindah antara aplikasi Anda dan Memorystore for Redis Cluster.
Prasyarat enkripsi dalam transit
Untuk menggunakan enkripsi saat transit dengan Memorystore for Redis Cluster, Anda memerlukan hal berikut:
Klien Redis yang mendukung TLS atau TLS sidecar pihak ketiga.
Sertifikat CA yang diinstal di komputer klien yang mengakses cluster Anda.
TLS bawaan hanya didukung untuk Redis, versi 6.0 dan yang lebih baru. Akibatnya, tidak semua library klien Redis mendukung TLS. Jika Anda menggunakan klien yang tidak mendukung TLS, sebaiknya gunakan plugin pihak ketiga yang mengaktifkan TLS untuk klien Anda. Anda dapat melihat contoh cara menghubungkan ke cluster di Memorystore for Redis Cluster yang mengaktifkan enkripsi saat transit.
Certificate Authority (CA)
Cluster yang menggunakan enkripsi dalam transit memiliki Certificate Authority (CA) yang mengautentikasi sertifikat mesin di cluster. Memorystore for Redis Cluster memungkinkan Anda memilih mode CA server. Mode CA menentukan hierarki CA mana yang digunakan untuk menerbitkan sertifikat digital untuk cluster.
Memorystore for Redis Cluster menawarkan mode CA berikut:
- CA per instance: Memorystore for Redis Cluster menyediakan setiap cluster dengan infrastruktur CA yang unik. Untuk mengakses cluster secara aman, Anda harus mengonfigurasi klien agar memercayai hierarki CA ini. Hal ini melibatkan pendownloadan dan penginstalan sertifikat CA di setiap klien yang mengakses cluster.
- CA Bersama: infrastruktur CA terkelola dan regional. Untuk setiap region, Anda dapat mendownload satu paket sertifikat CA. Paket ini berlaku untuk semua cluster yang berada di region yang Anda konfigurasi untuk menggunakan CA bersama. Menggunakan CA bersama akan mengurangi jumlah sertifikat yang perlu dikelola klien.
- CA yang dikelola pelanggan: gunakan kumpulan CA Anda sendiri yang dihosting di Certificate Authority Service. Jika aplikasi klien Anda dikonfigurasi untuk memercayai CA ini, aplikasi Anda dapat terhubung ke cluster tanpa Anda harus mendownload dan menginstal sertifikat CA tambahan. Hal ini memberi Anda kontrol yang lebih besar dan membantu Anda memenuhi persyaratan kepatuhan.
Rotasi sertifikat server
Setiap minggu, Memorystore untuk Redis Cluster melakukan rotasi sertifikat sisi server untuk cluster yang menggunakan mode CA per instance, CA bersama, dan CA yang dikelola pelanggan. Sertifikat server baru hanya berlaku untuk koneksi baru, dan koneksi yang ada tetap aktif selama rotasi ini.
Selain rotasi sertifikat sisi server mingguan yang dilakukan oleh Memorystore for Redis Cluster, untuk mode CA yang dikelola pelanggan, Anda dapat merotasi sertifikat sesuai permintaan.
Dampak performa pengaktifan enkripsi saat proses pengiriman
Fitur enkripsi dalam pengiriman mengenkripsi dan mendekripsi data, yang disertai dengan overhead pemrosesan. Akibatnya, mengaktifkan enkripsi dalam transit dapat mengurangi performa klien Anda. Selain itu, saat Anda menggunakan enkripsi dalam transit, setiap koneksi tambahan akan dikenai biaya resource terkait.
Untuk menentukan latensi yang terkait dengan penggunaan enkripsi dalam transit, bandingkan performa klien Anda. Untuk melakukannya, lakukan tolok ukur performa cluster yang mengaktifkan enkripsi dalam transit terhadap cluster yang menonaktifkannya.
Panduan untuk meningkatkan performa
Untuk meningkatkan performa cluster, gunakan panduan berikut:
Jika memungkinkan, kurangi jumlah koneksi klien. Daripada membuat koneksi singkat sesuai permintaan, buat dan gunakan kembali koneksi yang berjalan lama.
Tingkatkan ukuran cluster.
Tingkatkan resource CPU mesin host klien Anda. Mesin klien dengan jumlah CPU yang lebih tinggi menghasilkan performa yang lebih baik. Jika Anda menggunakan VM Compute Engine, sebaiknya gunakan cluster yang dioptimalkan.
Kurangi ukuran payload yang terkait dengan traffic klien Anda. Payload yang lebih besar memerlukan lebih banyak perjalanan bolak-balik.