Tentang enkripsi saat transit

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

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

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). Jika enkripsi dalam transit diaktifkan, klien Redis berkomunikasi secara eksklusif melalui koneksi port yang aman. Klien Redis yang tidak dikonfigurasi untuk TLS akan diblokir. Jika memilih untuk mengaktifkan enkripsi selama pengiriman, Anda bertanggung jawab untuk memastikan bahwa klien Redis Anda dapat menggunakan protokol TLS.

Prasyarat enkripsi selama perjalanan

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

  1. Klien Redis yang mendukung TLS atau file bantuan TLS pihak ketiga
  2. Certificate Authority yang diinstal pada komputer 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 terhubung ke instance Redis dengan Stunnel.

Otoritas Sertifikat

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

Rotasi Certificate Authority

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

CA lama berlaku hingga tanggal habis masa berlakunya. Dengan begitu, Anda memiliki jangka waktu lima tahun untuk mendownload dan menginstal CA baru ke klien yang terhubung ke instance Redis. Setelah CA lama berakhir, Anda dapat meng-uninstalnya dari klien.

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

Rotasi sertifikat server

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

Batas koneksi untuk enkripsi saat transit

Pengaktifan enkripsi selama perjalanan pada instance Redis akan memberikan batas pada jumlah maksimum koneksi klien yang dapat dimiliki instance Anda. Batasnya bergantung pada ukuran instance. Sebaiknya pertimbangkan untuk meningkatkan ukuran instance Redis jika Anda 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) 1.000 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 hasil perkiraan, dan bergantung pada kecepatan dan kompleksitas perintah Redis yang dikirim per koneksi.

Memantau koneksi

Karena instance Redis dengan enkripsi selama 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 percobaan koneksi yang baru. Dalam situasi ini, sebaiknya tingkatkan instance Anda ke ukuran yang dapat mengakomodasi jumlah koneksi yang diperlukan. Jika Anda mencurigai bahwa koneksi nonaktif merupakan sejumlah besar koneksi, Anda dapat secara proaktif menghentikan koneksi ini dengan parameter konfigurasi timeout.

Dampak performa dari pengaktifan enkripsi dalam transit

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

Panduan untuk meningkatkan performa

  • Mengurangi jumlah koneksi klien jika memungkinkan. Buat dan gunakan kembali koneksi yang berjalan lama, bukan membuat koneksi berumur singkat on demand.
  • Tingkatkan ukuran instance Memorystore Anda (sebaiknya M4 atau lebih besar).
  • Tingkatkan resource CPU mesin host klien Memorystore. Mesin klien dengan jumlah CPU yang lebih tinggi menghasilkan performa yang lebih baik. Jika menggunakan VM Compute Engine, sebaiknya gunakan instance yang dioptimalkan untuk komputasi.
  • Kurangi ukuran payload yang terkait dengan traffic aplikasi karena payload yang lebih besar memerlukan perjalanan bolak-balik yang lebih banyak.

Dampak enkripsi in-transit pada penggunaan memori

Mengaktifkan enkripsi saat transit akan mencadangkan sebagian memori instance Redis Anda untuk fitur tersebut. Jika semua hal lainnya dianggap sama, dengan mengaktifkan enkripsi dalam transit, 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

Penggunaan Redis versi 7.0 pada Memorystore for Redis meningkatkan performa enkripsi dalam transit. Untuk memanfaatkan peningkatan performa ini, pertimbangkan untuk mengupgrade instance untuk menggunakan Redis versi 7.0.

Langkah selanjutnya