View a markdown version of this page

ElastiCache enkripsi dalam transit (TLS) - Amazon ElastiCache

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

ElastiCache enkripsi dalam transit (TLS)

Untuk membantu menjaga keamanan data Anda, Amazon ElastiCache dan Amazon EC2 menyediakan mekanisme untuk melindungi dari akses tidak sah dari data Anda di server. Dengan menyediakan kemampuan enkripsi dalam transit, ElastiCache memberi Anda alat yang dapat Anda gunakan untuk membantu melindungi data Anda saat berpindah dari satu lokasi ke lokasi lain.

Semua cache tanpa server Valkey atau Redis OSS mengaktifkan enkripsi dalam transit. Untuk cluster berbasis node, Anda dapat mengaktifkan enkripsi dalam transit pada grup replikasi dengan menyetel parameter TransitEncryptionEnabled ke true (CLI:--transit-encryption-enabled) saat Anda membuat grup replikasi. Anda dapat melakukan ini apakah Anda membuat grup replikasi menggunakan Konsol Manajemen AWS, AWS CLI, atau ElastiCache API.

Semua cache nirserver memiliki enkripsi bergerak yang aktif. Untuk cluster berbasis node, Anda dapat mengaktifkan enkripsi dalam transit pada cluster dengan menyetel parameter TransitEncryptionEnabled ke true (CLI:--transit-encryption-enabled) saat Anda membuat cluster menggunakan operasi CreateCacheCluster (CLI:). create-cache-cluster

In-transit ikhtisar enkripsi

Enkripsi ElastiCache in-transit Amazon adalah fitur yang memungkinkan Anda meningkatkan keamanan data Anda di titik-titik yang paling rentan — saat sedang transit dari satu lokasi ke lokasi lain. Karena diperlukan beberapa pemrosesan untuk mengenkripsi dan mendekripsi data di titik akhir, mengaktifkan enkripsi bergerak dapat memberikan beberapa dampak pada performa. Anda harus menolok ukur data Anda dengan dan tanpa enkripsi bergerak untuk menentukan dampak terhadap performa pada kasus penggunaan Anda.

ElastiCache enkripsi dalam transit mengimplementasikan fitur-fitur berikut:

  • Koneksi klien terenkripsi—koneksi klien ke simpul cache dienkripsi TLS.

  • Koneksi server terenkripsi—data yang bergerak antarsimpul dalam klaster dienkripsi.

  • Autentikasi server—Klien dapat mengautentikasi bahwa koneksinya dilakukan ke server yang benar.

  • Otentikasi klien —menggunakan fitur Valkey dan Redis OSS AUTH, server dapat mengotentikasi klien.

catatan

ElastiCache tidak mendukung MTL (TLS bersama).

Pencatatan Transparansi Sertifikat

ElastiCache menyediakan sertifikat TLS yang menyertakan nama cluster untuk titik akhir setiap cluster yang mengaktifkan enkripsi dalam transit. AWS Certificate Manager merekam sertifikat TLS yang dipercaya secara publik di publik, hanya menambahkan log Transparansi Sertifikat. Akibatnya, nama cluster dengan enkripsi dalam transit diaktifkan muncul di log Transparansi Sertifikat publik. Jangan sertakan informasi rahasia atau sensitif dalam nama cluster. Untuk informasi selengkapnya tentang pencatatan Transparansi Sertifik at, lihat Logging Transparansi AWS Sertifikat di Panduan Pengguna Manajer Sertifikat.

In-transit kondisi enkripsi (Valkey dan Redis OSS)

Kendala berikut pada enkripsi ElastiCache dalam transit Amazon harus diingat ketika Anda merencanakan implementasi cluster berbasis node Anda:

  • In-transit enkripsi didukung pada grup replikasi yang menjalankan Valkey dan Redis OSS.

  • Memodifikasi pengaturan enkripsi dalam transit, untuk cluster yang ada, didukung pada grup replikasi yang menjalankan Valkey 7.2 dan yang lebih baru, dan Redis OSS versi 7 dan yang lebih baru.

    Jika cluster menjalankan versi mesin yang tidak mendukung modifikasi ini, opsi enkripsi dalam transit muncul dinonaktifkan (berwarna abu-abu) di AWS Management Console saat Anda mencoba memodifikasi cluster. Untuk mengaktifkan enkripsi in-transit dalam kasus ini, Anda harus memutakhirkan versi mesin Anda ke Valkey 7.2 atau yang lebih baru, atau Redis OSS versi 7 atau yang lebih baru.

  • In-transit enkripsi hanya didukung untuk grup replikasi yang berjalan di Amazon VPC.

  • In-transit enkripsi tidak didukung untuk grup replikasi yang menjalankan jenis node berikut: M1, M2.

    Untuk informasi selengkapnya, lihat Jenis simpul yang didukung.

  • In-transit enkripsi diaktifkan dengan secara eksplisit mengatur parameter TransitEncryptionEnabled ketrue.

  • Pastikan klien cache Anda mendukung konektivitas TLS dan Anda telah mengaktifkannya dalam konfigurasi klien.

  • Mulai 28 April 2026, AWS akan memperbarui versi TLS minimum yang didukung ke 1.2 ElastiCache untuk Valkey versi 7.2 dan lebih tinggi, dan ElastiCache untuk Redis OSS versi 6 ke atas. Pelanggan harus memperbarui perangkat lunak klien mereka sebelum tanggal tersebut. Pembaruan ini membantu Anda memenuhi kebutuhan keamanan, kepatuhan, dan peraturan.

In-transit kondisi enkripsi (Memcached)

Kendala berikut pada enkripsi ElastiCache dalam transit Amazon harus diingat ketika Anda merencanakan implementasi cluster berbasis node Anda:

  • In-transit enkripsi didukung pada cluster yang menjalankan Memcached versi 1.6.12 dan yang lebih baru.

  • In-transit enkripsi mendukung Transport Layer Security (TLS) versi 1.2 dan 1.3.

  • In-transit enkripsi hanya didukung untuk cluster yang berjalan di Amazon VPC.

  • In-transit enkripsi tidak didukung untuk grup replikasi yang menjalankan jenis node berikut: M1, M2, M3, R3, T2.

    Untuk informasi selengkapnya, lihat Jenis simpul yang didukung.

  • In-transit enkripsi diaktifkan dengan secara eksplisit mengatur parameter TransitEncryptionEnabled ketrue.

  • Anda dapat mengaktifkan enkripsi bergerak pada klaster hanya saat pembuatan klaster. Anda tidak dapat mengaktifkan dan menonaktifkan enkripsi bergerak dengan mengubah klaster.

  • Pastikan klien cache Anda mendukung konektivitas TLS dan Anda telah mengaktifkannya dalam konfigurasi klien.

In-transit praktik terbaik enkripsi

  • Karena pemrosesan diperlukan untuk mengenkripsi dan mendekripsi data di titik akhir, menerapkan enkripsi bergerak dapat mengurangi performa. Lakukan tolok ukur terhadap enkripsi bergerak dibandingkan dengan tanpa enkripsi pada data Anda sendiri untuk menentukan dampaknya terhadap performa untuk implementasi Anda.

  • Karena membuat koneksi baru bisa menghabiskan banyak daya komputasi, Anda dapat mengurangi dampak enkripsi bergerak pada performa dengan mempersistensi koneksi TLS Anda.

  • Jangan sertakan informasi rahasia atau sensitif dalam nama cluster. Saat Anda mengaktifkan enkripsi dalam transit, sertifikat TLS cluster menyertakan nama cluster, dan AWS Certificate Manager merekam sertifikat itu dalam log Transparansi Sertifikat publik.

Opsi Valkey dan Redis OSS lebih lanjut

Untuk informasi lebih lanjut tentang opsi yang tersedia untuk Valkey dan Redis OSS, lihat tautan berikut.

Mengaktifkan enkripsi dalam transit untuk Memcached

Untuk mengaktifkan enkripsi bergerak saat membuat klaster Memcached menggunakan Konsol Manajemen AWS , buat pilihan berikut:

  • Pilih Memcached sebagai mesin Anda.

  • Pilih versi mesin 1.6.12 atau yang lebih baru.

  • Pada Enkripsi bergerak, pilih Aktifkan.

Untuk proses langkah demi langkah, lihatMembuat cluster untuk Valkey atau Redis OSS.

Menghubungkan ke node yang diaktifkan dengan enkripsi dalam transit menggunakan Openssl (Memcached)

Untuk mengakses data dari ElastiCache node Memcached yang diaktifkan dengan enkripsi dalam transit, Anda perlu menggunakan klien yang bekerja dengan Secure Socket Layer (SSL). Anda juga dapat menggunakan s_client Openssl di Amazon Linux dan Amazon Linux 2.

Untuk menggunakan s_client Openssl untuk terhubung ke klaster Memcached dengan enkripsi bergerak diaktifkan di Amazon Linux 2 atau Amazon Linux:

/usr/bin/openssl s_client -connect memcached-node-endpoint:memcached-port

Membuat klien Memcached TLS menggunakan Java

Untuk membuat klien dalam mode TLS, lakukan hal berikut untuk menginisialisasi klien dengan SSLContext yang sesuai:

import java.security.KeyStore; import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManagerFactory; import net.spy.memcached.AddrUtil; import net.spy.memcached.ConnectionFactoryBuilder; import net.spy.memcached.MemcachedClient; public class TLSDemo { public static void main(String[] args) throws Exception { ConnectionFactoryBuilder connectionFactoryBuilder = new ConnectionFactoryBuilder(); // Build SSLContext TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); tmf.init((KeyStore) null); SSLContext sslContext = SSLContext.getInstance("TLS"); sslContext.init(null, tmf.getTrustManagers(), null); // Create the client in TLS mode connectionFactoryBuilder.setSSLContext(sslContext); MemcachedClient client = new MemcachedClient(connectionFactoryBuilder.build(), AddrUtil.getAddresses("mycluster.fnjyzo.cfg.use1.cache.amazonaws.com:11211")); // Store a data item for an hour. client.set("theKey", 3600, "This is the data value"); } }

Membuat klien Memcached TLS menggunakan PHP

Untuk membuat klien dalam mode TLS, lakukan hal berikut untuk menginisialisasi klien dengan SSLContext yang sesuai:

<?php /** * Sample PHP code to show how to create a TLS Memcached client. In this example we * will use the Amazon ElastiCache Auto Descovery feature, but TLS can also be * used with a Static mode client. * See Using the ElastiCache Cluster Client for PHP (https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/AutoDiscovery.Using.ModifyApp.PHP.html) for more information * about Auto Discovery and persistent-id. */ /* Configuration endpoint to use to initialize memcached client. * this is only an example */ $server_endpoint = "mycluster.fnjyzo.cfg.use1.cache.amazonaws.com"; /* Port for connecting to the cluster. * This is only an example */ $server_port = 11211; /* Initialize a persistent Memcached client and configure it with the Dynamic client mode */ $tls_client = new Memcached('persistent-id'); $tls_client->setOption(Memcached::OPT_CLIENT_MODE, Memcached::DYNAMIC_CLIENT_MODE); /* Add the memcached's cluster server/s */ $tls_client->addServer($server_endpoint, $server_port); /* Configure the client to use TLS */ if(!$tls_client->setOption(Memcached::OPT_USE_TLS, 1)) { echo $tls_client->getLastErrorMessage(), "\n"; exit(1); } /* Set your TLS context configurations values. * See MemcachedTLSContextConfig in memcached-api.php for all configurations */ $tls_config = new MemcachedTLSContextConfig(); $tls_config->hostname = '*.mycluster.fnjyzo.use1.cache.amazonaws.com'; $tls_config->skip_cert_verify = false; $tls_config->skip_hostname_verify = false; /* Use the created TLS context configuration object to create OpenSSL's SSL_CTX and set it to your client. * Note: These TLS context configurations will be applied to all the servers connected to this client. */ $tls_client->createAndSetTLSContext((array)$tls_config); /* test the TLS connection with set-get scenario: */ /* store the data for 60 seconds in the cluster. * The client will decide which cache host will store this item. */ if($tls_client->set('key', 'value', 60)) { print "Successfully stored key\n"; } else { echo "Failed to set key: ", $tls_client->getLastErrorMessage(), "\n"; exit(1); } /* retrieve the key */ if ($tls_client->get('key') === 'value') { print "Successfully retrieved key\n"; } else { echo "Failed to get key: ", $tls_client->getLastErrorMessage(), "\n"; exit(1); }

Untuk informasi selengkapnya tentang menggunakan klien PHP, lihat Menginstal klien ElastiCache cluster untuk PHP.