Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengakses klaster Anda ElastiCache atau kelompok replikasi
ElastiCache Instans Amazon Anda dirancang untuk diakses melalui instans Amazon EC2.
Jika meluncurkan ElastiCache instans di Amazon Virtual Private Cloud (Amazon VPC), Anda dapat mengakses ElastiCache instans dari instans Amazon EC2 di Amazon VPC yang sama. Atau, dengan menggunakan VPC peering, Anda dapat mengakses ElastiCache instans Anda dari Amazon EC2 di VPC Amazon yang berbeda.
Jika meluncurkan ElastiCache instans di EC2 Classic, Anda mengizinkan instans EC2 mengakses klaster Anda dengan memberikan grup keamanan Amazon EC2 yang terkait dengan akses instans ke grup keamanan cache Anda. Secara default, akses ke klaster dibatasi pada akun yang meluncurkan klaster tersebut.
Berikan akses ke cluster Andaatau kelompok replikasi
Anda meluncurkan cluster Anda ke EC2-VPC
Jika meluncurkan klaster ke Amazon Virtual Private Cloud (Amazon VPC), Anda dapat terhubung ke ElastiCache klaster hanya dari instans Amazon EC2 yang berjalan di VPC Amazon yang sama. Dalam hal ini, Anda akan perlu memberikan izin masuk jaringan ke klaster.
catatan
Pastikan Anda telah mengaktifkan Zona Lokal jika Anda menggunakannya. Untuk informasi selengkapnya, lihat Mengaktifkan Zona Lokal. Dengan mengaktifkannya, VPC Anda diperluas ke Zona Lokal dan VPC Anda akan memperlakukan subnet seperti subnet apa pun di Zona Ketersediaan yang lain. Gateway, tabel rute dan pertimbangan grup keamanan lainnya yang berkaitan akan menyesuaikan secara otomatis.
Untuk memberikan izin masuk jaringan dari grup keamanan Amazon VPC ke klaster
Masuk ke Konsol Manajemen AWS dan buka konsol Amazon EC2 di. https://console.aws.amazon.com/ec2/
-
Pada panel navigasi, di bagian Jaringan & Keamanan, pilih Grup Keamanan.
-
Dari daftar grup keamanan, pilih grup keamanan untuk Amazon VPC Anda. Kecuali Anda membuat grup keamanan untuk ElastiCache digunakan, grup keamanan ini akan diberi nama default.
-
Pilih tab Masuk, lalu lakukan hal berikut:
-
Pilih Edit.
-
Pilih Tambahkan aturan.
-
Di kolom Jenis, pilih Aturan TCP kustom.
-
Di kotak Rentang port, ketik nomor port untuk simpul klaster Anda. Nomor ini harus sama dengan yang Anda tentukan saat meluncurkan klaster. Port default untuk Memcached adalah
11211Port default untuk Valkey dan Redis OSS adalah.6379 -
Di kotak Sumber, pilih Di mana saja yang memiliki rentang port (0.0.0. 0/0) sehingga instans Amazon EC2 apa pun yang Anda luncurkan di dalam VPC Amazon Anda dapat terhubung ke node Anda. ElastiCache
penting
Membuka ElastiCache cluster ke 0.0.0. 0/0 tidak mengekspos cluster ke Internet karena tidak memiliki alamat IP publik dan karena itu tidak dapat diakses dari luar VPC. Namun, grup keamanan default dapat diterapkan ke instans Amazon EC2 lainnya di akun pelanggan, dan instans tersebut mungkin memiliki alamat IP publik. Jika instans tersebut menjalankan sesuatu di port default, layanan tersebut dapat terekspos secara tak disengaja. Oleh karena itu, sebaiknya membuat Grup Keamanan VPC yang akan digunakan secara eksklusif oleh ElastiCache. Untuk informasi selengkapnya, lihat Grup Keamanan Kustom.
-
Pilih Simpan.
-
Saat meluncurkan instans Amazon EC2 ke VPC Amazon, instans tersebut akan dapat terhubung ke cluster Anda. ElastiCache
Mengakses ElastiCache sumber daya dari luar AWS
Amazon ElastiCache adalah AWS layanan yang menyediakan penyimpanan nilai kunci dalam memori berbasis cloud. Node-based cluster dan cache Tanpa Server dengan titik akhir VPC diakses dari dalam. AWS Cache tanpa server dengan titik akhir publik dapat diakses langsung melalui internet. Namun, jika ElastiCache cluster di-host di dalam VPC, Anda dapat menggunakan instans EC2 yang dikonfigurasi untuk Network Address Translation (NAT) dengan port forwarding untuk menyediakan akses luar.
penting
Pendekatan ini harus digunakan untuk tujuan pengujian dan pengembangan saja. Untuk beban kerja produksi yang membutuhkan akses eksternal, pertimbangkan untuk menggunakan AWS Site-to-Site VPN atau AWS Client VPN sebagai gantinya.
Persyaratan
Persyaratan berikut harus dipenuhi agar Anda dapat mengakses ElastiCache sumber daya Anda dari luar AWS:
-
Klaster harus berada dalam VPC dan diakses melalui instans Network Address Translation (NAT). Tidak ada pengecualian untuk persyaratan ini.
-
Instans EC2 port-forwarding harus diluncurkan dalam VPC yang sama dengan cluster.
-
Instans EC2 port-forwarding harus diluncurkan di subnet publik yang terpisah dari cluster.
-
Alamat IP Elastis (EIP) harus dikaitkan dengan instans EC2. Fitur penerusan port iptables digunakan untuk meneruskan port pada instance ke port node cache di dalam VPC.
Pertimbangan-pertimbangan
Pertimbangan berikut harus diingat saat mengakses ElastiCache sumber daya Anda dari luar. ElastiCache
-
Klien terhubung ke port EIP dan cache dari instans NAT. Port forwarding pada instance NAT meneruskan lalu lintas ke node cluster yang sesuai.
-
Jika simpul klaster ditambahkan atau diganti, aturan iptables perlu diperbarui untuk mencerminkan perubahan ini.
Batasan
Pendekatan ini harus digunakan untuk tujuan pengujian dan pengembangan saja. Sebaiknya jangan digunakan untuk produksi karena batasan berikut:
-
Instans NAT bertindak sebagai perantara antara klien dan beberapa klaster. Penambahan proxy berdampak pada kinerja cluster. Dampaknya meningkat dengan jumlah cluster yang Anda akses melalui instance NAT.
-
Lalu lintas dari klien ke instans NAT tidak terenkripsi. Oleh karena itu, Anda harus menghindari pengiriman data sensitif melalui instans NAT.
-
Instans NAT menambahkan overhead untuk memelihara instans lain.
-
Instans NAT berfungsi sebagai satu titik kegagalan. Untuk ketersediaan tinggi, pertimbangkan untuk menggunakan gateway NAT sebagai gantinya.
-
Pendekatan ini tidak bekerja dengan Valkey atau Redis OSS (mode cluster diaktifkan). Dalam mode cluster, klien mengikuti
MOVEDdanASKmengalihkan ke alamat node internal cluster. Alamat ini tidak dapat dijangkau melalui aturan penerusan port statis (iptables) pada instance NAT. Gunakan pendekatan ini hanya dengan Memcached atau dengan mode cluster dinonaktifkan.
Pertimbangan keamanan untuk akses eksternal
Penerusan port menyampaikan port cache ke alamat IP Elastis publik. Jika grup keamanan instans NAT memungkinkan akses dari berbagai alamat sumber, ini dapat mengekspos cache Anda ke internet. Memcached tidak menyediakan otentikasi bawaan, dan instance NAT tidak mengenkripsi lalu lintas dalam perjalanan. Batasi grup keamanan instans NAT ke alamat IP klien tepercaya tertentu yang memerlukan akses. Jangan mengirim data sensitif melalui koneksi ini.
Pendekatan ini tidak dapat menyediakan akses terenkripsi dan diautentikasi ke cache. Untuk enkripsi dalam transit dengan Transport Layer Security (TLS), sambungkan ke cache yang diaktifkan enkripsi dari dalam VPC. Atau, gunakan AWS Site-to-Site VPN atau AWS Client VPN untuk akses eksternal. Untuk informasi selengkapnya, lihat ElastiCache enkripsi dalam transit (TLS).
Cara mengakses ElastiCache sumber daya dari luar AWS
Prosedur berikut menunjukkan cara menghubungkan ke ElastiCache sumber daya Anda menggunakan instance NAT.
Langkah-langkah ini mengasumsikan hal berikut:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6380 -j DNAT --to 10.0.1.231:6379iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6381 -j DNAT --to 10.0.1.232:6379
Selanjutnya Anda membutuhkan NAT ke arah yang berlawanan:
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 10.0.0.55
Anda juga perlu mengaktifkan penerusan IP, yang dinonaktifkan secara default:
sudo sed -i 's/net.ipv4.ip_forward=0/net.ipv4.ip_forward=1/g' /etc/sysctl.conf
sudo sysctl --system
-
Anda mengakses klaster Memcached dengan:
-
Alamat IP – 10.0.1.230
-
Port Memcached default – 11211
-
Grup keamanan – *10\.0\.0\.55*
-
-
Anda mengakses cluster Valkey atau Redis OSS dengan:
-
Alamat IP – 10.0.1.230
-
Port standar - 6379
-
Grup keamanan – sg-bd56b7da
-
AWS alamat IP instance — 198.99.100.27
-
-
Klien tepercaya Anda memiliki alamat IP 198.51.100.27.
-
Instans NAT Anda memiliki Alamat IP Elastis 203.0.113.73.
-
Instans NAT Anda memiliki grup keamanan sg-ce56b7a9.
Untuk terhubung ke ElastiCache sumber daya Anda menggunakan instans NAT
-
Luncurkan instans EC2 di VPC yang sama dengan cluster Anda tetapi di subnet publik. Contoh ini akan bertindak sebagai NAT/port-forwarding tuan rumah Anda.
Gunakan AMI Amazon Linux 2023 saat ini (atau AMI Linux lainnya pilihan Anda). Pilih ukuran instans berdasarkan lalu lintas yang Anda harapkan. Instance membutuhkan subnet publik, alamat IP Elastis, dan penerusan IP diaktifkan.
Untuk informasi tentang meluncurkan instans EC2, lihat Meluncurkan instans di Panduan Pengguna Amazon Elastic Compute Cloud.
-
Buat aturan grup keamanan untuk cluster dan instance NAT.
Grup keamanan instans NAT dan instans klaster harus memiliki aturan berikut:
-
Dua aturan masuk
-
Dengan Memcached, aturan pertama adalah mengizinkan koneksi TCP dari klien tepercaya ke setiap port cache yang diteruskan dari instance NAT (11211 - 11213).
-
Dengan Valkey dan Redis OSS, aturan pertama adalah mengizinkan koneksi TCP dari klien tepercaya ke setiap port cache yang diteruskan dari instance NAT (6379 - 6381).
-
Aturan kedua untuk memungkinkan akses SSH ke klien tepercaya.
Grup keamanan instance NAT - aturan masuk dengan Memcached Tipe Protokol Rentang port Sumber Aturan TCP Kustom TCP 11211-11213 198.51.100. 27/32 SSH TCP 22 198.51.100. 27/32 Grup keamanan instans NAT - aturan masuk dengan Valkey atau Redis OSS Tipe Protokol Rentang port Sumber Aturan TCP Kustom TCP 6379-6380 198.51.100. 27/32 SSH TCP 22 203.0.113. 73/32 -
-
Dengan Memcached, aturan keluar untuk memungkinkan koneksi TCP ke port cache (11211).
Grup keamanan instans NAT - aturan keluar Jenis Protokol Rentang Port Tujuan Aturan TCP Kustom TCP 11211 sg-ce56b7a9 (Grup Keamanan NAT) -
Dengan Valkey atau Redis OSS, aturan keluar untuk memungkinkan koneksi TCP ke port cache (6379).
Grup keamanan instans NAT - aturan keluar Jenis Protokol Rentang Port Tujuan Aturan TCP Kustom TCP 6379 sg-ce56b7a9 (Grup Keamanan NAT) -
Dengan Memcached, aturan masuk untuk grup keamanan cluster yang memungkinkan koneksi TCP dari instance NAT ke port cache (11211).
Grup keamanan instans klaster - aturan masuk Jenis Protokol Rentang port Sumber Aturan TCP Kustom TCP 11211 sg-ce56b7a9 (Grup Keamanan NAT) -
Dengan Valkey atau Redis OSS, aturan masuk untuk grup keamanan cluster yang memungkinkan koneksi TCP dari instance NAT ke port cache (6379).
Grup keamanan instans klaster - aturan masuk Jenis Protokol Rentang port Sumber Aturan TCP Kustom TCP 6379 sg-ce56b7a9 (Grup Keamanan NAT)
-
-
Validasi aturan.
-
Konfirmasikan bahwa klien tepercaya dapat melakukan SSH ke instans NAT.
-
Konfirmasikan bahwa klien tepercaya dapat terhubung ke klaster dari instans NAT.
-
-
Memcache
Tambahkan aturan iptables ke instans NAT.
Aturan iptables harus ditambahkan ke tabel NAT untuk setiap simpul di klaster untuk meneruskan port cache dari instans NAT ke simpul klaster. Contohnya mungkin terlihat seperti berikut:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 11211 -j DNAT --to 10.0.1.230:11211Nomor port harus unik untuk setiap simpul di klaster. Misalnya, jika ada klaster Memcached tiga simpul menggunakan port 11211 - 11213, aturan akan terlihat seperti berikut:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 11211 -j DNAT --to 10.0.1.230:11211 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 11212 -j DNAT --to 10.0.1.231:11211 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 11213 -j DNAT --to 10.0.1.232:11211Konfirmasikan bahwa klien tepercaya dapat terhubung ke klaster.
Klien tepercaya harus terhubung ke EIP yang terkait dengan instans NAT dan port klaster yang sesuai dengan simpul klaster yang sesuai. Misalnya, string koneksi untuk PHP mungkin terlihat seperti berikut:
$memcached->connect( '203.0.113.73', 11211 ); $memcached->connect( '203.0.113.73', 11212 ); $memcached->connect( '203.0.113.73', 11213 );Klien telnet juga dapat digunakan untuk memverifikasi koneksi. Contoh:
telnet 203.0.113.73 11211 telnet 203.0.113.73 11212 telnet 203.0.113.73 11213Valkey atau Redis OSS
Tambahkan aturan iptables ke instans NAT.
Aturan iptables harus ditambahkan ke tabel NAT untuk setiap simpul di klaster untuk meneruskan port cache dari instans NAT ke simpul klaster. Contohnya mungkin terlihat seperti berikut:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6379 -j DNAT --to 10.0.1.230:6379Nomor port harus unik untuk setiap simpul di klaster. Misalnya, jika bekerja dengan cluster Redis OSS tiga node menggunakan port 6379 - 6381, aturannya akan terlihat seperti berikut:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6379 -j DNAT --to 10.0.1.230:6379 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6380 -j DNAT --to 10.0.1.231:6379 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6381 -j DNAT --to 10.0.1.232:6379Konfirmasikan bahwa klien tepercaya dapat terhubung ke klaster.
Klien tepercaya harus terhubung ke EIP yang terkait dengan instans NAT dan port klaster yang sesuai dengan simpul klaster yang sesuai. Misalnya, string koneksi untuk PHP mungkin terlihat seperti berikut:
redis->connect( '203.0.113.73', 6379 ); redis->connect( '203.0.113.73', 6380 ); redis->connect( '203.0.113.73', 6381 );Klien telnet juga dapat digunakan untuk memverifikasi koneksi. Misalnya:
telnet 203.0.113.73 6379 telnet 203.0.113.73 6380 telnet 203.0.113.73 6381 -
Simpan konfigurasi iptables.
Simpan aturan setelah Anda menguji dan memverifikasinya. Jika Anda menggunakan distribusi Redhat-based Linux (seperti Amazon Linux), jalankan perintah berikut:
service iptables save
Topik terkait
Topik-topik berikut mungkin menarik bagi Anda.