TeknoCerdas.com – Salam cerdas untuk kita semua. Tepat akhir Juni lalu Amazon RDS Proxy resmi diluncurkan. Preview dari Amazon RDS Proxy pertama kali diperkenalkan pada AWS re:Invent 2019. Amazon RDS Proxy adalah sebuah proxy database managed service dari AWS yang mendukung MySQL, Aurora dan PostgreSQL.
AWS mengeluarkan layanan ini pasti karena melihat ada kebutuhan. AWS juga memiliki layanan serverless seperti AWS Lambda. Lalu apa hubungannya?
Fungsi Utama RDS Proxy
Sebelum adanya RDS Proxy sebuah fungsi Lambda yang sangat sibuk yang menerima puluhan ribu request per second akan membuka juga ribuan koneksi ke database sumber dalam hal ini RDS. Sebuah database server tidak didesain untuk melayani permintaan koneksi sebanyak ini. Kalaupun dapat menerima koneksi sebesar itu pasti membutuhkan spesifikasi mesin yang tinggi.
Agar beban database server dalam dalam menerima koneksi tidak terlalu tinggi maka diperlukan adanya proxy diantara Lambda dan RDS yang akan membuat conection pooling. Sehingga Lambda akan melakukan koneksi ke RDS Proxy dan tidak langsung ke RDS. RDS Proxy yang akan menentukan apakah akan membuat koneksi baru atau menggunakan koneksi yang sudah ada.
Dengan demikian jumlah koneksi yang dibuka ke RDS tidak sebanyak jumlah koneksi yang dibuat oleh Lambda. Akan tetapi Lambda akan mengambil koneksi dari pooling yang telah dibuat oleh RDS Proxy.
Dilansir dari AWS, RDS Proxy mengurangi client recovery time setelah sebuah database mengalami failover sebesar 79% untuk Amazon Aurora MySQL dan sebesar 32% untuk Amazon RDS MySQL. Selain itu autentikasi juga dapat dilakukan dengan AWS Secret Manager dan AWS IAM.
Catatan Tentang RDS Proxy
Ada beberapa hal yang harus diperhatikan sebelum mulai menggunakan RDS Proxy. Dilansir dari blog resmi AWS inilah beberapa poin tersebut.
- Saat ini, RDS Proxy hanya tersedia untuk MySQL dan PostgreSQL server saja. Versi RDS yang didukung adalah RDS MySQL v5.6 dan 5.7 sedangkan RDS PostgreSQL 10.11 dan 11.5.
- Pada Aurora cluster, semua koneksi dari connection pooling akan diarahkan ke Aurora primary instance. Untuk melakukan load balancing misal read only query maka pengguna harus melakukannya langsung ke Aurora cluster.
- RDS Proxy harus berada pada VPS yang sama dengan database dan tidak bisa diakses dari publik.
- RDS Proxy tidak mendukung compressed mode. Sebagai contoh, RDS Proxy tidak mendukung perintah
--compress
padamysql
.