Tentang enkripsi saat transit

Halaman ini memberikan ringkasan tentang enkripsi dalam transit untuk Memorystore for Redis.

Untuk mengetahui petunjuk cara mengenkripsi koneksi dengan enkripsi dalam pengiriman, lihat Mengaktifkan enkripsi dalam pengiriman.

Memorystore for Redis hanya mendukung protokol TLS versi 1.2 atau yang lebih tinggi.

Pengantar

Memorystore for Redis mendukung enkripsi semua traffic Redis menggunakan protokol Transport Layer Security (TLS). Saat enkripsi dalam pengiriman diaktifkan, klien Redis berkomunikasi secara eksklusif melalui koneksi port yang aman. Klien Redis yang tidak dikonfigurasi untuk TLS akan diblokir. Jika Anda memilih untuk mengaktifkan enkripsi dalam pengiriman, Anda bertanggung jawab untuk memastikan bahwa klien Redis Anda mampu menggunakan protokol TLS.

Prasyarat enkripsi saat transit

Untuk menggunakan enkripsi dalam transit dengan Memorystore for Redis, Anda memerlukan:

  1. Klien Redis yang mendukung TLS atau sidecar TLS pihak ketiga
  2. Certificate Authority yang diinstal di mesin klien yang mengakses instance Redis Anda

TLS native tidak didukung sebelum Redis open source versi 6.0. Akibatnya, tidak semua library klien Redis mendukung TLS. Jika Anda menggunakan klien yang tidak mendukung TLS, sebaiknya gunakan plugin pihak ketiga Stunnel yang mengaktifkan TLS untuk klien Anda. Lihat Menghubungkan ke instance Redis dengan aman menggunakan Stunnel dan telnet untuk mengetahui contoh cara menghubungkan ke instance Redis dengan Stunnel.

Otoritas Sertifikat

Instance Redis yang menggunakan enkripsi dalam pengiriman memiliki satu atau beberapa Certificate Authority (CA) unik yang digunakan untuk memverifikasi identitas server. CA adalah string yang harus Anda download dan instal di klien yang mengakses instance Redis Anda. CA berlaku selama sepuluh tahun sejak tanggal pembuatannya. Untuk memastikan kontinuitas layanan, CA baru harus diinstal di klien instance Redis sebelum masa berlaku CA sebelumnya berakhir.

Rotasi Certificate Authority

CA berlaku selama 10 tahun setelah pembuatan instance. Selain itu, CA baru akan tersedia lima tahun setelah pembuatan instance.

CA lama berlaku hingga tanggal habis masa berlakunya. Hal ini memberi Anda periode lima tahun untuk mendownload dan menginstal CA baru ke klien yang terhubung ke instance Redis. Setelah masa berlaku CA lama berakhir, Anda dapat meng-uninstalnya dari klien.

Untuk petunjuk tentang cara memutar CA, lihat Mengelola rotasi Certificate Authority.

Rotasi sertifikat server

Rotasi sertifikat sisi server terjadi setiap 180 hari, yang menyebabkan koneksi hilang sementara selama beberapa detik. Anda harus memiliki logika percobaan ulang dengan backoff eksponensial untuk membuat kembali koneksi. Rotasi sertifikat tidak menyebabkan failover untuk instance Tingkat Standar.

Batas koneksi untuk enkripsi saat proses pengiriman

Mengaktifkan enkripsi dalam pengiriman di instance Redis akan memberikan batas pada jumlah maksimum koneksi klien yang dapat dimiliki instance Anda. Batas ini bergantung pada ukuran instance Anda. Anda harus mempertimbangkan untuk meningkatkan ukuran instance Redis jika memerlukan lebih banyak koneksi daripada yang didukung oleh tingkat kapasitas saat ini.

Tingkat kapasitas Jumlah maksimum koneksi untuk Redis versi 4.0, 5.0, dan 6.x1 Jumlah maksimum koneksi untuk Redis versi 7.0 dan yang lebih baru1
M1 (1-4GB) 1000 65.000
M2 (5-10GB) 2.500 65.000
M3 (11-35GB) 15.000 65.000
M4 (36-100GB) 30.000 65.000
M5 (101+GB) 65.000 65.000

1 Batas koneksi ini merupakan perkiraan, dan bergantung pada kecepatan dan kompleksitas perintah Redis yang dikirim per koneksi.

Memantau koneksi

Karena instance Redis dengan enkripsi dalam pengiriman memiliki batas koneksi tertentu, Anda harus memantau metrik redis.googleapis.com/clients/connected untuk memastikan Anda tidak melebihi batas koneksi. Jika batas terlampaui, instance Redis akan menolak koneksi yang baru dicoba. Dalam situasi ini, sebaiknya skalakan instance Anda ke ukuran yang mengakomodasi jumlah koneksi yang diperlukan. Jika Anda mencurigai bahwa koneksi tidak ada aktivitasnya merupakan sebagian besar koneksi Anda, Anda dapat menghentikan koneksi ini secara proaktif dengan parameter konfigurasi timeout.

Dampak performa saat mengaktifkan enkripsi saat transit

Fitur enkripsi dalam pengiriman mengenkripsi dan mendekripsi data, yang disertai dengan overhead pemrosesan. Akibatnya, mengaktifkan enkripsi dalam pengiriman dapat mengurangi performa. Selain itu, saat menggunakan enkripsi dalam pengiriman, setiap koneksi tambahan akan disertai dengan biaya resource terkait. Untuk menentukan latensi yang terkait dengan penggunaan enkripsi dalam pengiriman, bandingkan performa aplikasi dengan menjalankan benchmark performa aplikasi dengan instance Redis yang mengaktifkan enkripsi dalam pengiriman dan instance Redis yang menonaktifkannya.

Panduan untuk meningkatkan performa

  • Kurangi jumlah koneksi klien jika memungkinkan. Buat dan gunakan kembali koneksi jangka panjang, bukan membuat koneksi jangka pendek on demand.
  • Tingkatkan ukuran instance Memorystore Anda (M4 atau yang lebih besar direkomendasikan).
  • Tingkatkan resource CPU mesin host klien Memorystore. Mesin klien dengan jumlah CPU yang lebih tinggi akan menghasilkan performa yang lebih baik. Jika menggunakan VM Compute Engine, sebaiknya gunakan instance yang dioptimalkan untuk komputasi.
  • Mengurangi ukuran payload yang terkait dengan traffic aplikasi karena payload yang lebih besar memerlukan lebih banyak round trip.

Dampak enkripsi dalam pengiriman pada penggunaan memori

Mengaktifkan enkripsi dalam transit akan mencadangkan sebagian memori instance Redis Anda untuk fitur tersebut. Jika semua hal lainnya sama, dengan enkripsi dalam pengiriman diaktifkan, nilai untuk metrik Rasio Penggunaan Memori Sistem akan lebih tinggi karena memori overhead tambahan yang digunakan oleh fitur tersebut.

Peningkatan performa Redis versi 7.0

Menggunakan Redis versi 7.0 di Memorystore for Redis akan meningkatkan performa enkripsi dalam transit. Untuk memanfaatkan peningkatan performa ini, pertimbangkan untuk mengupgrade instance agar dapat menggunakan Redis versi 7.0.

Langkah selanjutnya