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.
Cluster yang menggunakan enkripsi dalam pengiriman memiliki Certificate Authority (CA). Anda menggunakan CA untuk mengautentikasi sertifikat mesin di cluster Anda.
Salah satu mode CA yang dapat Anda gunakan adalah CA per instance. Memorystore for Redis Cluster menyediakan setiap cluster dengan infrastruktur CA yang unik dan terpisah. Untuk mengakses cluster dengan aman, Anda harus mengonfigurasi aplikasi klien agar memercayai hierarki CA ini. Hal ini melibatkan pendownloadan dan penginstalan sertifikat CA di setiap klien yang mengakses cluster.
Membuat cluster yang menggunakan CA per instance
Konsol
Ikuti langkah-langkah di Membuat instance.
gcloud
Untuk membuat cluster yang menggunakan CA per instance, gunakan perintah gcloud redis clusters create.
gcloud redis clusters create CLUSTER_ID \ --region=REGION_ID \ --network=NETWORK \ --replica-count=REPLICA_COUNT \ --node-type=NODE_TYPE \ --shard-count=SHARD_COUNT \ --transit-encryption-mode=server-authentication \ --server-ca-mode=google-managed-per-instance-ca
Lakukan penggantian berikut:
CLUSTER_ID: ID cluster yang Anda buat. ID cluster harus terdiri dari 1 hingga 63 karakter, dan hanya menggunakan huruf kecil, angka, atau tanda hubung. ID harus diawali dengan huruf kecil, dan diakhiri dengan huruf kecil atau angka.
REGION_ID: region tempat Anda ingin menempatkan cluster.
NETWORK: jaringan yang Anda gunakan untuk membuat cluster. Harus menggunakan format ini:
projects/NETWORK_PROJECT_ID/global/networks/NETWORK_ID. ID jaringan yang Anda gunakan harus cocok dengan ID jaringan yang digunakan oleh kebijakan koneksi layanan. Jika tidak, Anda tidak dapat membuat cluster.REPLICA_COUNT: jumlah replika (per shard). Nilai yang diterima adalah
0-5.NODE_TYPE: jenis node. Nilai yang diterima adalah:
redis-shared-core-nanoredis-standard-smallredis-highmem-mediumredis-highmem-xlarge
SHARD_COUNT: jumlah shard dalam cluster. Jumlah partisi menentukan total kapasitas memori untuk menyimpan data cluster. Untuk mengetahui informasi selengkapnya tentang spesifikasi cluster, lihat Spesifikasi cluster dan node.
Parameter server-ca-mode menunjukkan mode CA untuk cluster. Untuk CA per instance, google-managed-per-instance-ca adalah nilai untuk parameter. Jika Anda tidak menggunakan parameter ini, mode CA default adalah
per-instance.
Contoh:
gcloud redis clusters create my-cluster \ --region=us-central1 \ --network=projects/my-network-project/global/networks/default \ --replica-count=1 \ --node-type=redis-highmem-medium \ --shard-count=3 \ --transit-encryption-mode=server-authentication \ --server-ca-mode=google-managed-per-instance-ca
Mendownload CA
Jika Anda mengaktifkan enkripsi saat transit untuk cluster, saat Anda menggunakan perintah get-cluster-certificate-authority, sertifikat CA akan muncul.
gcloud redis clusters get-cluster-certificate-authority CLUSTER_ID
Ganti CLUSTER_ID dengan ID cluster.
Isi respons mencakup sertifikat untuk semua CA yang berlaku.
Menginstal sertifikat CA di klien
Anda harus menginstal sertifikat CA di klien yang terhubung ke cluster. Bergantung pada jenis klien, penginstalan sertifikat CA mungkin berbeda.
Untuk menginstal sertifikat CA di VM Linux Compute Engine, lakukan hal berikut:
Gunakan SSH untuk terhubung ke klien Linux Compute Engine.
Di klien, gunakan perintah berikut untuk membuat file
server_ca.pem:sudo vim /tmp/server_ca.pem
Download CA dan tempelkan ke dalam file
server_ca.pem.Anda harus memformat teks CA dengan benar. File
server_ca.pemmungkin muncul seperti berikut:-----BEGIN CERTIFICATE----- MIIDnTCCAoWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBhTEtMCsGA1UELhMkNzYx NTc4OGMtMTI2Yi00Nzk0LWI2MWMtY2YxOWE2Y2Y1ZjNiMTEwLwYDVQQDEyhHb29n bGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVkaXMgU2VydmVyIENBMRQwEgYDVQQKEwtH b29nbGUsIEluYzELMAkGA1UEBhMCVVMwHhcNMjAwOTE3MjEzNDE1WhcNMzAwOTE1 MjEzNTE1WjCBhTEtMCsGA1UELhMkNzYxNTc4OGMtMTI2Yi00Nzk0LWI2MWMtY2Yx OWE2Y2Y1ZjNiMTEwLwYDVQQDEyhHb29nbGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVk aXMgU2VydmVyIENBMRQwEgYDVQQKEwtHb29nbGUsIEluYzELMAkGA1UEBhMCVVMw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCyDKmDHZm6tzMhNtKOnp8H 8+zTv1qA6OkBToVqCjKTTMGO18ovNtAAMjbGvclLuJNLbA2WTTWVttHen6Cn82h0 3gG9HMk9AwK1cVT7gW072h++TRsYddIRlwnSweRWL8jUX+PNt7CjFqH+sma/Hb1m CktHdBOa897JiYHrMVNTcpS8SFwwz05yHUTEVGlHdkvlaJXfHLe6keCMABLyjaMh 1Jl4gZI2WqLMV680pJusK6FI6q/NmqENFc9ywMEg395lHTK9w9e014WIXg0q7sU3 84ChVVS2yYOMEUWeov4Qx6XeVfA4ss5t7OCqsMQkvslkE90mJZcVvhBj3QvTH9Rz AgMBAAGjFjAUMBIGA1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcNAQELBQADggEB AJkn+MDE4V10DZn4uEc0s0Mg4FEMC1fDewmDYwSNnxRlzfEi+wAX2AaqrJ4m4Qa7 xIyuSYxArEOY6QeyJyw7/06dom8aAv4aO2p8hE04Ih6QwaTMFIlT2Jf6TidVd3eT wfjwFJVoJ+dgxsaCv2uMFZWee5aRHmKzj9LhqPwpWnTs9Q/qmOheUNoe2/1i8yvn 662M7RZMR7fZH6ETsdz5w1nPXXiRqJ7K0EGKoPNjMlYK3/U1X3sazI4tpMNgTdxG rnNh9Sd9REMBmDCPj9dUI9k4hQX4yQZp96fnLT6cet22OPajEKnpzyqJs1s4iX/g lEtWs4V/YBhKA56CW6ASZS8= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDnTCCAoWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBhTEtMCsGA1UELhMkYjg4 ZTUzYTMtODdmNC00N2VhLWJjN2MtYTdhMzM4NmIwZmU4MTEwLwYDVQQDEyhHb29n bGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVkaXMgU2VydmVyIENBMRQwEgYDVQQKEwtH b29nbGUsIEluYzELMAkGA1UEBhMCVVMwHhcNMjAwOTE4MjEzMTI3WhcNMzAwOTE2 MjEzMjI3WjCBhTEtMCsGA1UELhMkYjg4ZTUzYTMtODdmNC00N2VhLWJjN2MtYTdh MzM4NmIwZmU4MTEwLwYDVQQDEyhHb29nbGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVk aXMgU2VydmVyIENBMRQwEgYDVQQKEwtHb29nbGUsIEluYzELMAkGA1UEBhMCVVMw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEO4Zs/So5DA6wtftkAElD 8BVREob4gby2mGBYAtd3JJQKFC+zIqCf2DhrWihrCeXhsdsZqJUF16E3MsCCWS2T UWt6T37zObU2fzKmb7X+TSw1tunIUcIXwWzoMhqdGrIvfI9guMbF+KssQIjDMs9M G/hY6cY1NB5THOxXqcxzYrwSKB1EE160EDz4RgKAYQhw7AyVOBBAbWqA5pTEDuUy qpsz+NFpKYTwaeTpzil0xIl0JJS3DOd4G7ZnMG2wFT2j3wt+P0SkAPuOWgmX82iO gGmKoaCh3KcICie/rZRTfsRPjMm+yswRQRDeLB5eoMmH+gbUInVZU0qOJ/7gOYEb AgMBAAGjFjAUMBIGA1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcNAQELBQADggEB AF4xlEbwLUK5VjoKlJBtKXLYrYcW+AbQLhZQFP8exE8bOW7p39h+5J0nl3ItPxu6 97BCt1P5TFisba8pBxaExiDsYmjKQrhtizMkzl5h9hGksOgoLlAqaaxfA97+Q9Tq 5gaYChESur/159Z3jiM47obKoZmHfgSgr//7tjII7yZxUGhOjIVffv/fEa4aixqM 0yH1V1s8hWHZeui2VFrHmTxY20IH9ktyedjSUgnFXzsEH6sbR18p0wBZqyrrtURs DaUIeoOHfHgEJM8k/wphSJI0V6pMC6nax2JhexLTRiUsiGTLRDe3VtsdWqS2DLa9 9DmrfdF0eFrfWw3VRNLwwXg= -----END CERTIFICATE-----
File Anda, seperti yang terlihat pada contoh sebelumnya, harus menggunakan pedoman berikut:
Salin seluruh CA, termasuk baris
-----BEGIN CERTIFICATE-----dan
-----END CERTIFICATE-----.Pastikan teks CA sepenuhnya rata kiri. Pastikan tidak ada spasi di depan setiap baris CA.
Tambahkan setiap CA di baris baru. Pastikan tidak ada baris kosong di antara CA.
Mengonfigurasi klien untuk enkripsi saat transit
Klien yang Anda gunakan untuk terhubung ke cluster harus mendukung TLS atau menggunakan sidecar pihak ketiga untuk mengaktifkan TLS.
Jika klien Anda mendukung TLS, konfigurasikan klien agar mengarah ke alamat IP cluster, port 6379, dan file yang berisi CA. Anda dapat melihat contoh cara terhubung ke cluster yang mengaktifkan enkripsi dalam transit.
Mengelola rotasi CA
Sebaiknya instal semua sertifikat CA yang dapat didownload di klien yang mengakses cluster.
Menginstal sertifikat CA terbaru secara berkala memastikan Anda memiliki sertifikat yang diperlukan saat Cluster Memorystore untuk Redis merotasi CA. Selama rotasi ini, CA yang ada dan CA baru akan aktif.
Contoh kode untuk terhubung ke cluster yang menggunakan enkripsi saat transit
Untuk melihat contoh kode tentang cara menyiapkan library klien untuk terhubung ke cluster yang menggunakan enkripsi saat transit, lihat Contoh kode library klien enkripsi saat transit.