Bagaimana cara ElastiCache kerja - Amazon ElastiCache

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

Bagaimana cara ElastiCache kerja

Di sini Anda dapat menemukan ikhtisar komponen utama ElastiCache penerapan.

Mesin cache dan caching

Cache adalah penyimpanan data dalam memori yang dapat Anda gunakan untuk menyimpan data yang di-cache. Biasanya, aplikasi Anda akan menyimpan data yang sering diakses dalam cache untuk mengoptimalkan waktu respons. ElastiCache menawarkan dua opsi penerapan: Cluster tanpa server dan yang dirancang sendiri. Lihat Memilih antara opsi deployment.

catatan

Amazon ElastiCache bekerja dengan mesin Valkey, Redis, OSS dan Memcached. Jika Anda tidak yakin mesin yang ingin digunakan, lihat Membandingkan cache yang dirancang sendiri Valkey, RedisOSS, dan Memcached dalam panduan ini.

Bagaimana cara ElastiCache kerja

ElastiCache Tanpa server

ElastiCache Tanpa server memungkinkan Anda membuat cache tanpa khawatir tentang perencanaan kapasitas, manajemen perangkat keras, atau desain cluster. Anda cukup memberikan nama untuk cache Anda dan Anda menerima satu titik akhir yang dapat Anda konfigurasi di klien Valkey, Redis OSS atau Memcached Anda untuk mulai mengakses cache Anda.

catatan
  • ElastiCache Tanpa server menjalankan Valkey, Redis OSS atau Memcached dalam mode cluster dan hanya kompatibel dengan klien yang mendukung. TLS

Manfaat Utama

  • Tidak ada perencanaan kapasitas: ElastiCache Tanpa server menghilangkan kebutuhan Anda untuk merencanakan kapasitas. ElastiCache Tanpa server terus memantau memori, komputasi, dan pemanfaatan bandwidth jaringan cache Anda dan menskalakan baik secara vertikal maupun horizontal. Hal ini memungkinkan simpul cache untuk tumbuh dalam ukuran, sekaligus secara paralel memulai operasi menskalakan ke luar untuk memastikan bahwa cache dapat diskalakan untuk memenuhi persyaratan aplikasi Anda setiap saat.

  • Pay-per-use: Dengan ElastiCache Tanpa Server, Anda membayar untuk data yang disimpan dan menghitung yang digunakan oleh beban kerja Anda pada cache. Lihat Dimensi harga.

  • Ketersediaan tinggi: ElastiCache Tanpa server secara otomatis mereplikasi data Anda di beberapa Availability Zone (AZ) untuk ketersediaan tinggi. Layanan ini secara otomatis memantau simpul cache yang mendasarinya dan menggantinya jika terjadi kegagalan. Ini menawarkan ketersediaan 99,99% SLA untuk setiap cache.

  • Upgrade perangkat lunak otomatis: ElastiCache Tanpa server secara otomatis meningkatkan cache Anda ke versi perangkat lunak minor dan patch terbaru tanpa dampak ketersediaan apa pun pada aplikasi Anda. Ketika versi utama baru tersedia, ElastiCache akan mengirimkan pemberitahuan.

  • Keamanan: Nirserver selalu mengenkripsi data bergerak dan diam. Anda dapat menggunakan kunci yang dikelola layanan atau menggunakan Kunci Dikelola Pelanggan Anda sendiri untuk mengenkripsi data diam.

Diagram berikut menggambarkan bagaimana ElastiCache Serverless bekerja.

Diagram operasi cache ElastiCache Tanpa Server, dari zona ketersediaan ke Pelanggan VPC dan kemudian ke Layanan. VPC

Saat Anda membuat cache tanpa server baru, ElastiCache buat Titik Akhir Virtual Private Cloud (VPC) di subnet pilihan Anda di file. VPC Aplikasi Anda dapat terhubung ke cache melalui VPC Endpoint ini.

Dengan ElastiCache Tanpa Server Anda menerima satu DNS titik akhir yang terhubung dengan aplikasi Anda. Saat Anda meminta koneksi baru ke titik akhir, ElastiCache Tanpa Server menangani semua koneksi cache melalui lapisan proxy. Lapisan proksi membantu mengurangi konfigurasi klien yang kompleks, karena klien tidak perlu menemukan kembali topologi klaster jika terjadi perubahan pada klaster yang mendasarinya. Lapisan proksi adalah sekumpulan simpul proksi yang menangani koneksi menggunakan penyeimbang beban jaringan.

Saat aplikasi Anda membuat koneksi cache baru, permintaan dikirim ke simpul proksi oleh penyeimbang beban jaringan. Ketika aplikasi Anda mengeksekusi perintah cache, simpul proksi yang terhubung ke aplikasi Anda mengeksekusi permintaan di simpul cache di cache Anda. Lapisan proksi mengabstraksi topologi klaster cache dan simpul dari klien Anda. Hal ini memungkinkan ElastiCache untuk secara cerdas memuat keseimbangan, skala keluar dan menambahkan node cache baru, mengganti node cache ketika mereka gagal, dan memperbarui perangkat lunak pada node cache, semua tanpa dampak ketersediaan ke aplikasi Anda atau harus mengatur ulang koneksi.

Cluster yang dirancang sendiri ElastiCache

Anda dapat memilih untuk mendesain ElastiCache cluster Anda sendiri dengan memilih keluarga node cache, ukuran, dan jumlah node untuk cluster Anda. Merancang klaster Anda sendiri memberi Anda kontrol yang lebih terperinci dan memungkinkan Anda memilih jumlah serpihan di cache Anda dan jumlah simpul (primer dan replika) di setiap serpihan. Anda dapat memilih untuk mengoperasikan Valkey atau Redis OSS dalam mode cluster dengan membuat cluster dengan beberapa pecahan, atau dalam mode non-cluster dengan pecahan tunggal.

Manfaat Utama

  • Desain cluster Anda sendiri: Dengan ElastiCache, Anda dapat mendesain cluster Anda sendiri dan memilih di mana Anda ingin menempatkan node cache Anda. Misalnya, jika Anda memiliki aplikasi yang ingin menukar ketersediaan tinggi dengan latensi rendah, Anda dapat memilih untuk menerapkan simpul cache Anda dalam satu AZ. Atau, Anda dapat mendesain cluster Anda dengan node di beberapa AZs untuk mencapai ketersediaan tinggi.

  • Kontrol terperinci: Saat mendesain klaster sendiri, Anda memiliki kontrol yang lebih besar dalam menyempurnakan pengaturan cache Anda. Misalnya, Anda dapat menggunakan Parameter Valkey dan Redis OSS atau Parameter spesifik Memcached mengkonfigurasi mesin cache.

  • Menskalakan secara vertikal dan horizontal: Anda dapat memilih untuk menskalakan klaster Anda secara manual dengan menambah atau mengurangi ukuran simpul cache saat diperlukan. Anda juga dapat menskalakan secara horizontal dengan menambahkan serpihan baru atau menambahkan lebih banyak replika ke serpihan Anda. Anda juga dapat menggunakan fitur Auto-Scaling untuk mengonfigurasi penskalaan berdasarkan jadwal atau penskalaan berdasarkan metrik seperti CPU dan penggunaan Memori pada cache.

Diagram berikut menggambarkan bagaimana cluster yang ElastiCache dirancang sendiri bekerja.

Diagram operasi cluster yang ElastiCache dirancang sendiri, dari zona ketersediaan ke Pelanggan VPC dan kemudian ke node cache yang ElastiCache dikelola.

Dimensi harga

Anda dapat menerapkan ElastiCache dalam dua opsi penerapan. Saat menerapkan ElastiCache Tanpa Server, Anda membayar penggunaan untuk data yang disimpan dalam GB-jam dan menghitung di Unit Pemrosesan (). ElastiCache ECPU Saat memilih untuk mendesain ElastiCache cluster Anda sendiri, Anda membayar per jam penggunaan node cache. Lihat detail harga di sini.

Penyimpanan data

Anda membayar data yang disimpan dalam ElastiCache Serverless yang ditagih dalam gigabyte-hours (GB-HRs). ElastiCache Tanpa server terus memantau data yang disimpan dalam cache Anda, mengambil sampel beberapa kali per menit, dan menghitung rata-rata per jam untuk menentukan penggunaan penyimpanan data cache dalam GB-jam. Setiap cache ElastiCache Tanpa Server diukur untuk minimal 1 GB data yang disimpan.

ElastiCache Unit Pengolahan (ECPUs)

Anda membayar permintaan yang dijalankan aplikasi Anda di ElastiCache Tanpa Server di Unit ElastiCache Pemrosesan (ECPUs), unit yang mencakup CPU waktu v dan data yang ditransfer.

  • Bacaan dan penulisan sederhana membutuhkan 1 ECPU untuk setiap kilobyte (KB) data yang ditransfer. Misalnya, GET perintah yang mentransfer hingga 1 KB data mengkonsumsi 1ECPU. SETPermintaan yang mentransfer data 3,2 KB akan mengkonsumsi 3,2ECPUs.

  • Dengan Valkey dan RedisOSS, perintah yang mengkonsumsi lebih banyak CPU waktu v dan mentransfer lebih banyak data mengkonsumsi ECPUs berdasarkan yang lebih tinggi dari dua dimensi. Misalnya, jika aplikasi Anda menggunakan HMGET perintah, mengkonsumsi 3 kali CPU waktu v sebagai GET perintahSET/sederhana, dan mentransfer 3,2 KB data, itu akan mengkonsumsi 3.2ECPU. Atau, jika mentransfer hanya 2 KB data, itu akan mengkonsumsi 3ECPUs.

  • Dengan Valkey dan RedisOSS, perintah yang membutuhkan CPU waktu v tambahan akan mengkonsumsi lebih banyak secara proporsional. ECPUs Misalnya, jika aplikasi Anda menggunakan OSS HMGETperintah Valkey atau Redis, dan mengkonsumsi 3 kali CPU waktu v sebagai GET perintahSET/sederhana, maka itu akan mengkonsumsi 3. ECPUs

  • Dengan Memcached, perintah yang beroperasi pada beberapa item akan mengkonsumsi secara proporsional lebih banyak. ECPUs Misalnya, jika aplikasi Anda melakukan multiget pada 3 item, itu akan mengkonsumsi 3ECPUs.

  • Dengan Memcached, perintah yang beroperasi pada lebih banyak item dan mentransfer lebih banyak data mengkonsumsi ECPUs berdasarkan yang lebih tinggi dari dua dimensi. Misalnya, jika aplikasi Anda menggunakan GET perintah, mengambil 3 item, dan mentransfer 3,2 KB data, itu akan mengkonsumsi 3.2ECPU. Atau, jika mentransfer hanya 2 KB data, itu akan mengkonsumsi 3ECPUs.

ElastiCache Tanpa server memancarkan metrik baru yang disebut ElastiCacheProcessingUnits yang membantu Anda memahami ECPUs konsumsi beban kerja Anda.

Jam simpul

Anda dapat memilih untuk mendesain cluster cache Anda sendiri dengan memilih keluarga EC2 node, ukuran, jumlah node, dan penempatan di seluruh Availability Zones. Saat mendesain sendiri klaster Anda, Anda membayar per jam untuk setiap simpul cache.

ElastiCache cadangan

Cadangan adalah point-in-time salinan cache tanpa server, atau cluster yang dirancang sendiri Valkey atau OSS Redis. ElastiCache memungkinkan Anda untuk mengambil cadangan data Anda kapan saja atau mengatur cadangan otomatis. Cadangan dapat digunakan untuk memulihkan cache yang sudah ada atau melakukan seeding cache baru. Cadangan terdiri dari semua data dalam cache ditambah beberapa metadata. Untuk informasi selengkapnya, lihat Melakukan snapshot dan pemulihan.