Amazon Web Services (AWS) menawarkan beragam alat untuk membangun dan mengelola aplikasi di cloud.
Salah satu layanan yang paling berguna bagi praktisi data adalah Amazon Relational Database Service (RDS), solusi terkelola penuh yang mendukung mesin basis data populer seperti MySQL, PostgreSQL, MariaDB, Oracle, dan SQL Server.
Baik Anda baru memulai dan ingin menerapkan basis data tanpa mengelola infrastruktur sendiri, atau Anda seorang profesional berpengalaman yang ingin menyetel performa dan biaya, RDS memudahkan semuanya.
Dalam tutorial ini, saya akan menjelaskan fitur utama RDS dan menunjukkan cara memulai langkah demi langkah.
Apa itu AWS RDS?
AWS RDS menyederhanakan penyiapan, operasi, dan penambahan skala basis data relasional di cloud. Alih-alih mengelola infrastruktur, patching, pencadangan, dan skala secara manual, RDS mengotomatiskan banyak pekerjaan ini sehingga Anda dapat fokus pada aplikasi dan data.
Layanan ini mendukung berbagai mesin basis data seperti MySQL, PostgreSQL, Oracle, SQL Server, dan Amazon Aurora. Anda mendapatkan manfaat dari fitur-fitur seperti:
Fitur-fitur ini memungkinkan Anda menjalankan beban kerja produksi yang kritis dengan percaya diri sambil meminimalkan intervensi manual.
Menyiapkan Instance AWS RDS
Untuk memulai dengan RDS, pertama-tama Anda perlu membuat instance baru melalui AWS Console. Jika Anda belum memiliki akun AWS, Anda dapat mendaftar secara gratis.
> Untuk mempelajari lebih lanjut tentang ekosistem AWS secara umum, ikuti kursus AWS Cloud Technology and Services.
Membuat instance RDS baru
1. Di konsol pencarian AWS, cari “RDS” dan klik layanan Aurora and RDS.

2. Klik Databases pada menu sisi kiri.

3. Klik Create database di pojok kanan atas.

4. Pilih Standard Create untuk memiliki kontrol penuh atas konfigurasi.

Di bawah Engine options, pilih mesin basis data pilihan Anda. PostgreSQL adalah pilihan yang sangat baik untuk sebagian besar kasus penggunaan.
5. Setelah memilih mesin, konfigurasikan opsi lainnya untuk menyelesaikan penyiapan.
Kita akan membahas pengaturan lain yang diperlukan agar langkah ini berhasil diselesaikan.
Versi mesin
Versi mesin menentukan versi mesin basis data yang Anda pilih (misalnya, PostgreSQL, MySQL) yang akan digunakan. Ini memengaruhi fitur, performa, dan kompatibilitas basis data Anda.

Pilih versi stabil terbaru kecuali jika Anda memiliki alasan khusus (misalnya, kompatibilitas aplikasi) untuk menggunakan versi yang lebih lama. AWS biasanya memilih versi mayor terbaru, seperti PostgreSQL 17.2, yang aman untuk sebagian besar pengguna.
Template
Template menyediakan penyiapan pra-konfigurasi untuk instance basis data Anda berdasarkan kasus penggunaan: produksi, pengembangan, atau pengujian free tier. Template memengaruhi pengaturan default seperti performa, ketersediaan, dan retensi backup.

- Pilih Production jika Anda menjalankan aplikasi live dan membutuhkan ketersediaan tinggi.
- Pilih Dev/Test jika ini untuk pengembangan internal atau eksperimen.
- Pilih Free Tier jika Anda memenuhi syarat dan baru mencoba RDS untuk pertama kali agar terhindar dari biaya.
Ketersediaan dan daya tahan
Ini menentukan bagaimana basis data Anda menangani kegagalan dan mendistribusikan trafik di seluruh availability zone. Hal ini berdampak pada waktu aktif, redundansi, dan seberapa cepat sistem Anda pulih dari masalah.

- Pilih Multi-AZ DB cluster (3 instance) untuk beban baca tinggi dan ketahanan maksimum (dua replika yang dapat dibaca).
- Pilih Multi-AZ DB instance (2 instance) untuk sebagian besar penyiapan produksi, menambahkan instance siaga untuk failover tanpa kapasitas baca tambahan.
- Pilih Single-AZ hanya untuk dev/pengujian atau aplikasi non-kritis, tanpa failover atau redundansi.
Pengaturan
Bagian ini menentukan identitas instance DB Anda dan bagaimana kredensial ditangani. Anda akan memberi nama instance, menetapkan master username, dan memilih bagaimana secret (kata sandi) disimpan dan dienkripsi.

- Masukkan identifier instance DB yang unik (mis., app-name-db).
- Tetapkan master username (mis., postgres).
- Pilih Managed in AWS Secrets Manager untuk kredensial yang aman dan dibuat otomatis. Gunakan self-managed hanya jika Anda ingin kontrol penuh atas kata sandi.
- Anda juga dapat memilih kunci enkripsi KMS khusus jika diperlukan, namun opsi default sudah memadai untuk sebagian besar pengguna.
Konfigurasi instance
Ini mendefinisikan jenis sumber daya komputasi (CPU, RAM, jaringan) yang dialokasikan ke basis data Anda. Kelas instance menentukan performa, skalabilitas, dan biaya.

- Untuk sebagian besar kasus penggunaan, Standard classes (kelas m) adalah titik awal yang baik.
- Pilih Memory optimized (kelas r atau x) untuk analitik atau operasi in-memory yang besar.
- Pilih Burstable (kelas t) jika Anda dalam tahap pengembangan atau membutuhkan penyiapan berbiaya rendah.
- Contoh:
db.m7g.large memberi Anda dua vCPU dan 8 GiB RAM, cocok untuk beban kerja menengah.
Konfigurasi penyimpanan
Bagian ini mengontrol jenis, ukuran, dan performa penyimpanan basis data. Anda dapat memilih penyimpanan yang dioptimalkan untuk penggunaan umum atau beban kerja berperforma tinggi.

- Pilih Provisioned IOPS (io2) untuk aplikasi dengan latensi rendah dan throughput tinggi. Ideal untuk OLTP atau sistem yang intensif tulis.
- Atur Allocated Storage berdasarkan seberapa banyak data yang Anda perkirakan akan disimpan (min 100 GiB).
- Konfigurasikan Provisioned IOPS agar sesuai dengan kebutuhan performa Anda (rasio IOPS terhadap penyimpanan sebaiknya 0,5 hingga 1.000).
Konektivitas
Bagian ini menentukan bagaimana basis data Anda terhubung ke dunia luar, termasuk pengaturan jaringan, VPC, akses publik, dan security group.

- Biarkan Don’t connect to an EC2 compute resource tetap dipilih kecuali Anda membutuhkan akses EC2.
- Gunakan IPv4 untuk sebagian besar penyiapan standar.
- Pilih VPC Anda dengan cermat. Ini tidak dapat diubah setelah pembuatan.
- Pilih Public access: No untuk basis data yang aman dan privat (direkomendasikan untuk produksi).
- Gunakan VPC security group yang ada atau baru untuk mengelola akses. Pastikan port 5432 (PostgreSQL) atau 3306 (MySQL) terbuka untuk sumber yang diizinkan.
- Anda dapat membiarkan Certificate Authority sebagai default kecuali Anda memiliki kebutuhan khusus.
Autentikasi basis data
Pengaturan ini mengontrol bagaimana pengguna melakukan autentikasi ke basis data Anda. Anda dapat menggunakan kata sandi tradisional atau mengintegrasikan dengan layanan AWS seperti IAM atau Kerberos untuk kontrol akses yang lebih lanjut.

- Pilih autentikasi Password untuk login standar dan sederhana (paling umum untuk penyiapan baru).
- Pilih autentikasi IAM jika Anda ingin mengelola akses DB melalui role dan kebijakan AWS IAM.
- Gunakan autentikasi Kerberos hanya jika Anda memiliki integrasi direktori perusahaan.
Pemantauan
Bagian ini mengaktifkan pelacakan performa dan aktivitas untuk instance RDS Anda menggunakan alat seperti Database Insights, Enhanced Monitoring, dan DevOps Guru. Alat-alat ini membantu Anda mendeteksi bottleneck performa, menganalisis beban, dan menelusuri masalah.

- Pilih Database Insights – Advanced untuk visibilitas lebih dalam dan riwayat lebih panjang (15 bulan). Jika Anda sensitif terhadap biaya, Standard menawarkan metrik selama 7 hari.
- Aktifkan Enhanced Monitoring untuk metrik level OS (mis., CPU, memori) dengan granularitas halus seperti interval 60 detik.
- Anda dapat mengaktifkan DevOps Guru untuk peringatan cerdas, namun ini opsional dan ditagih terpisah. Sangat cocok untuk produksi namun tidak esensial untuk dev/test.
Mengonfigurasi pengaturan mesin basis data
Setelah Anda memilih semua pengaturan terkait infrastruktur, Anda akan sampai pada bagian bernama Additional configuration (atau serupa, tergantung mesin/versi). Di sinilah Anda mengonfigurasi perilaku dan kapabilitas mesin basis data RDS Anda.
Berikut yang biasanya Anda konfigurasikan:
1. Nama basis data awal
Ini adalah nama basis data pertama yang akan dibuat secara otomatis ketika instance disediakan.
- Anda selalu dapat membuat basis data lain nanti.
- Jika Anda membiarkannya kosong, RDS tidak akan membuat basis data default. Anda harus melakukannya secara manual setelah instance siap.
2. Port basis data
Setiap mesin basis data menggunakan port TCP standar:
- PostgreSQL: 5342
- MySQL / MariaDB: 3306
- Oracle: 1521
- SQL Server: 1433
Tetap gunakan default kecuali Anda memiliki kebutuhan jaringan khusus (misalnya, aplikasi Anda mengharapkan port yang berbeda).
3. Parameter group
Parameter group seperti template konfigurasi untuk mesin basis data. Ini mendefinisikan pengaturan tingkat rendah yang memengaruhi perilaku dan performa.
Contohnya, di PostgreSQL, Anda mungkin mengonfigurasi:
work_mem: Seberapa banyak memori yang digunakan untuk operasi sortir internal
max_connections: Berapa banyak koneksi klien bersamaan yang dapat diterima DB
log_min_duration_statement: Mencatat kueri yang melebihi waktu eksekusi tertentu
Setiap mesin memiliki serangkaian parameter yang dapat disetel, dan AWS menyediakan grup default. Anda dapat menggunakan default untuk penyiapan cepat atau mengkloning dan menyesuaikan grup jika beban kerja Anda memerlukan penyetelan khusus.
4. Option group
Option group memungkinkan Anda menambahkan fitur lanjutan yang tidak tersedia secara default untuk beberapa mesin basis data.
Beberapa contoh:
- Oracle: Transparent Data Encryption (TDE), Oracle XML DB
- SQL Server: SQL Server Agent, Full-Text Search
- MySQL/PostgreSQL: Biasanya tidak memerlukan option group kecuali Anda mengaktifkan fitur seperti audit plugin
Umumnya Anda tidak perlu khawatir tentang option group jika menggunakan PostgreSQL atau MySQL untuk beban kerja standar. Namun jika Anda bekerja dengan Oracle atau SQL Server, periksa dokumentasi untuk memastikan fitur yang diperlukan diaktifkan.
Menyambungkan ke AWS RDS
Setelah instance basis data Anda aktif dan berjalan, Anda dapat terhubung dengan beberapa cara.
1. Menyambungkan dari AWS console
AWS menawarkan editor kueri bawaan untuk MySQL dan PostgreSQL. Arahkan ke instance Anda, pilih Query Editor, dan masukkan kredensial basis data Anda untuk mulai menjalankan perintah SQL langsung dari browser.
Ini ideal untuk pemeriksaan cepat atau kueri skala kecil tanpa memerlukan klien SQL lokal.

2. Menyambungkan dari mesin lokal
Untuk terhubung dari klien lokal seperti pgAdmin atau MySQL Workbench.
- Salin endpoint dari AWS Console
- Pastikan instance dapat diakses secara publik atau dapat dijangkau melalui VPC
- Sediakan yang benar:
- Host (endpoint)
- Port (5432 atau 3306)
- Username dan password

Pastikan IP mesin lokal Anda masuk daftar putih di security group basis data.
3. Keamanan dan kontrol akses
Akses ke instance RDS diatur melalui Security Group. Anda perlu:
- Mengizinkan akses masuk pada port basis data (5432 atau 3306)
- Memodifikasi security group di konsol EC2
- Membatasi akses ke IP tertentu atau VPC di produksi.
Anda juga dapat meningkatkan kontrol akses menggunakan Identity and Access Management (IAM) roles dan kebijakan.
Mengelola dan Menambah Skala AWS RDS
Setelah basis data Anda berjalan, penting untuk memikirkan cara memelihara, menambah skala, dan mencadangkannya dari waktu ke waktu. AWS RDS menyediakan fitur bawaan yang memudahkan tugas-tugas ini, baik Anda mendukung aplikasi yang berkembang maupun mempersiapkan kegagalan tak terduga.
1. Menambah skala instance basis data Anda
Seiring pertumbuhan aplikasi, Anda mungkin perlu menambah skala basis data untuk mengikuti permintaan. AWS RDS mendukung dua jenis penskalaan: vertikal dan horizontal.
Penskalaan vertikal melibatkan peningkatan kelas instance untuk mendapatkan lebih banyak CPU, memori, dan kapasitas jaringan. Ini berguna saat beban kerja meningkat tetapi masih dapat dikelola pada satu node.
Untuk aplikasi yang berat baca, penskalaan horizontal adalah pilihan yang lebih baik. Anda dapat menambahkan read replica untuk mendistribusikan trafik baca. Replica ini juga dapat dipromosikan menjadi instance mandiri jika terjadi failover atau migrasi.
2. Mengonfigurasi Multi-AZ untuk ketersediaan tinggi
Untuk meningkatkan toleransi kesalahan dan mengurangi waktu henti, Anda dapat mengaktifkan penyebaran Multi-AZ. Konfigurasi ini membuat replika siaga di availability zone yang berbeda dan menjaganya sinkron dengan instance utama menggunakan replikasi sinkron.
Jika instance utama gagal, RDS akan otomatis melakukan failover ke siaga tanpa tindakan apa pun dari Anda. Karena endpoint basis data tetap sama, aplikasi Anda tidak perlu menyambung ulang atau dikonfigurasi ulang.
Multi-AZ sangat direkomendasikan untuk sistem produksi yang membutuhkan ketersediaan tinggi.
3. Mengotomatiskan backup dan snapshot
RDS memudahkan penyiapan backup otomatis dan manual. Backup otomatis diaktifkan secara default dan memungkinkan Anda memulihkan basis data ke titik waktu mana pun dalam periode retensi yang ditentukan (1 hingga 35 hari).
Selain backup otomatis, Anda juga dapat mengambil snapshot manual. Ini berguna sebelum melakukan perubahan besar seperti pembaruan skema atau peningkatan mesin. Snapshot dapat dipertahankan tanpa batas waktu dan digunakan untuk membuat instance baru jika diperlukan.
Sebaiknya jadwalkan snapshot sebelum deployment penting sebagai langkah pengamanan.
Fitur Lanjutan AWS RDS
Di luar dasar-dasarnya, AWS RDS menawarkan serangkaian fitur lanjutan yang dirancang untuk meningkatkan performa, keamanan, dan efisiensi operasional. Alat-alat ini membantu Anda memantau kesehatan basis data, mengelola alur kerja pemeliharaan, dan menerapkan praktik terbaik keamanan—semuanya penting untuk menjalankan sistem kelas produksi.
RDS terintegrasi secara native dengan Amazon CloudWatch, memungkinkan Anda melacak metrik performa penting seperti penggunaan CPU, I/O disk, ruang penyimpanan, dan koneksi basis data. Metrik ini tersedia secara real time dan dapat digunakan untuk menyiapkan alarm atau dasbor.
CloudWatch juga banyak digunakan dalam alur kerja AWS S3 dan EFS, sebagaimana ditunjukkan dalam Tutorial Penyimpanan AWS di Datacamp.
Untuk wawasan yang lebih mendalam, Anda dapat mengaktifkan Performance Insights, yang memvisualisasikan performa kueri dari waktu ke waktu. Alat ini membantu Anda mengidentifikasi kueri yang lambat atau intensif sumber daya, melihat tren beban basis data, dan menelusuri bottleneck. Dipadukan dengan penyetelan kueri dan strategi pengindeksan, ini merupakan cara ampuh untuk mengoptimalkan performa basis data saat berada di bawah tekanan.
2. Pemeliharaan dan patching RDS
AWS mengelola patching perangkat lunak dan pemeliharaan untuk instance RDS Anda. Anda dapat menentukan jendela pemeliharaan saat pembaruan diterapkan. Jika patch kritis dirilis, AWS dapat menginstalnya segera, atau Anda dapat memilih untuk menundanya sementara.
Anda akan menemukan semua acara pemeliharaan terjadwal dan yang telah berlalu di konsol RDS. Menjaga basis data tetap mutakhir memastikan Anda mendapatkan peningkatan performa terbaru, perbaikan bug, dan patch keamanan tanpa perlu mengelola pembaruan secara manual.
3. Enkripsi dan praktik terbaik keamanan
RDS mendukung enkripsi saat diam (at rest) dan saat transit. Enkripsi at rest ditangani oleh AWS Key Management Service (KMS) dan dapat diaktifkan saat pembuatan instance. Untuk data in transit, RDS mendukung koneksi SSL/TLS antara klien dan basis data.
Untuk lebih memperkuat keamanan, pertimbangkan untuk mengaktifkan autentikasi IAM guna menggunakan kredensial basis data yang berumur pendek alih-alih username dan password yang dikodekan keras. Sebaiknya juga menerapkan autentikasi multi-faktor (MFA) untuk semua pengguna AWS, menerapkan prinsip least privilege dengan kebijakan IAM, dan mencatat semua akses menggunakan AWS CloudTrail. Praktik terbaik ini membantu memastikan data Anda tetap terlindungi dan dapat diaudit.
Manajemen dan Optimasi Biaya
Mengelola biaya adalah bagian penting saat berkerja dengan layanan AWS, dan RDS bukan pengecualian. Meskipun merupakan layanan terkelola penuh, penetapan harga RDS dapat meningkat dengan cepat bergantung pada konfigurasinya. Memahami struktur biaya dan menerapkan strategi optimasi sejak dini dapat membantu Anda tetap dalam anggaran seiring pertumbuhan penggunaan.
1. Memahami penetapan harga AWS RDS
Biaya RDS didasarkan pada:
- Kelas instance dan jam penggunaan
- Ukuran dan tipe penyimpanan (
gp3 atau io1)
- Retensi backup dan penyimpanan snapshot
- Transfer data (terutama lintas region atau AZ)
Gunakan AWS Pricing Calculator untuk memperkirakan dan memodelkan biaya yang diharapkan.
Jika Anda bersiap untuk sertifikasi, memahami penetapan harga adalah bagian penting dari jalur pembelajaran AWS Cloud Practitioner (CLF-C02).
2. Praktik terbaik optimasi biaya
Ada beberapa cara untuk mengurangi atau mengendalikan biaya RDS. Jika Anda menjalankan basis data produksi jangka panjang, pertimbangkan untuk membeli Reserved Instances, yang menawarkan diskon signifikan dibandingkan harga on-demand dengan komitmen satu atau tiga tahun.
Untuk menghindari overprovisioning, aktifkan penskalaan otomatis penyimpanan sehingga ruang yang dialokasikan bertambah hanya sesuai kebutuhan. Untuk data yang jarang diakses tetapi harus dipertahankan, Anda dapat memindahkan backup lama atau ekspor ke S3 atau Glacier, yang merupakan opsi penyimpanan jauh lebih murah.
Anda juga dapat memantau penggunaan sumber daya menggunakan AWS Trusted Advisor, yang dapat menandai instance yang kurang dimanfaatkan dan merekomendasikan penyesuaian ukuran. Padukan ini dengan AWS Cost Explorer dan peringatan anggaran untuk melacak pola penggunaan Anda dari waktu ke waktu dan mendapatkan notifikasi saat Anda mendekati batas pengeluaran.
Pemecahan Masalah AWS RDS
Bahkan dengan layanan terkelola penuh seperti RDS, masalah bisa saja muncul, mulai dari kendala konektivitas hingga penurunan performa. Mengetahui tempat untuk memeriksa dan bagaimana merespons dapat membantu Anda menyelesaikan masalah dengan cepat dan meminimalkan dampaknya pada aplikasi.
1. Mengidentifikasi dan menyelesaikan masalah koneksi
Masalah koneksi sering disebabkan oleh pengaturan jaringan yang salah. Penyebab paling umum termasuk aturan security group yang hilang atau salah, seperti port tertutup atau rentang IP yang dibatasi. Masalah lain yang sering terjadi adalah penggunaan endpoint atau nomor port yang salah, terutama saat beralih antar lingkungan.
Anda juga harus memeriksa masalah resolusi DNS, terutama jika aplikasi Anda berjalan di VPC atau region yang berbeda. Alat seperti ping atau telnet dapat membantu memverifikasi konektivitas dasar. Jika Anda masih mengalami hambatan, log mesin yang tersedia melalui konsol RDS sering kali memberikan petunjuk berguna; cari kegagalan autentikasi atau timeout yang mungkin menunjukkan akar masalah.
Saat performa mulai menurun, penting untuk mengambil pendekatan terstruktur. Mulailah dengan mengaktifkan pencatatan kueri melalui pengaturan parameter group basis data Anda. Ini membantu Anda mengidentifikasi kueri yang memakan waktu lebih lama dari yang diharapkan.
Setelah itu, gunakan Performance Insights untuk memvisualisasikan beban kueri, peristiwa wait, dan aktivitas pengguna dari waktu ke waktu. Wawasan ini sering kali mengungkap masalah pengindeksan, struktur kueri yang tidak efisien, atau tingkat konkurensi yang tinggi. Perubahan kecil, seperti menambahkan indeks atau menulis ulang join yang kompleks, sering kali memberikan peningkatan yang terasa.
Jika penyetelan tidak membantu, pertimbangkan untuk meningkatkan kelas instance Anda atau menambahkan read replica untuk menskalakan secara horizontal. Seperti biasa, pastikan untuk menguji perubahan performa di lingkungan staging sebelum menerapkannya di produksi.
3. Menangani failover dan pemulihan
Dalam penyebaran Multi-AZ, RDS menangani failover secara otomatis. Jika instance utama menjadi tidak tersedia, AWS mempromosikan siaga menjadi utama dan memperbarui catatan DNS, biasanya dalam beberapa menit. Proses ini mulus, dan aplikasi Anda dapat terus beroperasi tanpa intervensi manual.
Untuk instance Single-AZ, failover tidak otomatis. Jika terjadi kegagalan, Anda harus memulihkan basis data secara manual dari snapshot terbaru. Untuk mengurangi waktu pemulihan, sebaiknya menyiapkan alarm CloudWatch dan notifikasi SNS sehingga Anda langsung diberi tahu begitu terjadi sesuatu. Ini memungkinkan tim Anda merespons cepat dan meminimalkan waktu henti.
Kesimpulan
Amazon RDS memudahkan penerapan, pengelolaan, dan penskalaan basis data relasional di cloud, tanpa beban penyediaan infrastruktur atau penanganan pemeliharaan manual. Dengan dukungan untuk berbagai mesin, pencadangan otomatis, ketersediaan tinggi, dan alat pemantauan performa, RDS cocok untuk segala hal mulai dari proyek hobi hingga aplikasi yang sangat kritis.
Tutorial ini memberikan langkah-langkah praktis dan pengetahuan dasar untuk memulai.
Jika Anda siap untuk mengeksplorasi lebih jauh, jalur pembelajaran AWS Cloud Practitioner (CLF-C02) adalah langkah berikutnya yang tepat menuju sertifikasi dan keahlian cloud.
Amazon Web Services (AWS) menawarkan beragam alat untuk membangun dan mengelola aplikasi di cloud.
Salah satu layanan yang paling berguna bagi praktisi data adalah Amazon Relational Database Service (RDS), solusi terkelola penuh yang mendukung mesin basis data populer seperti MySQL, PostgreSQL, MariaDB, Oracle, dan SQL Server.
Baik Anda baru memulai dan ingin menerapkan basis data tanpa mengelola infrastruktur sendiri, atau Anda seorang profesional berpengalaman yang ingin menyetel performa dan biaya, RDS memudahkan semuanya.
Dalam tutorial ini, saya akan menjelaskan fitur utama RDS dan menunjukkan cara memulai langkah demi langkah.
Apa itu AWS RDS?
AWS RDS menyederhanakan penyiapan, operasi, dan penambahan skala basis data relasional di cloud. Alih-alih mengelola infrastruktur, patching, pencadangan, dan skala secara manual, RDS mengotomatiskan banyak pekerjaan ini sehingga Anda dapat fokus pada aplikasi dan data.
Layanan ini mendukung berbagai mesin basis data seperti MySQL, PostgreSQL, Oracle, SQL Server, dan Amazon Aurora. Anda mendapatkan manfaat dari fitur-fitur seperti:
Fitur-fitur ini memungkinkan Anda menjalankan beban kerja produksi yang kritis dengan percaya diri sambil meminimalkan intervensi manual.
Menyiapkan Instance AWS RDS
Untuk memulai dengan RDS, pertama-tama Anda perlu membuat instance baru melalui AWS Console. Jika Anda belum memiliki akun AWS, Anda dapat mendaftar secara gratis.
> Untuk mempelajari lebih lanjut tentang ekosistem AWS secara umum, ikuti kursus AWS Cloud Technology and Services.
Membuat instance RDS baru
1. Di konsol pencarian AWS, cari “RDS” dan klik layanan Aurora and RDS.
2. Klik Databases pada menu sisi kiri.
3. Klik Create database di pojok kanan atas.
4. Pilih Standard Create untuk memiliki kontrol penuh atas konfigurasi.
Di bawah Engine options, pilih mesin basis data pilihan Anda. PostgreSQL adalah pilihan yang sangat baik untuk sebagian besar kasus penggunaan.
5. Setelah memilih mesin, konfigurasikan opsi lainnya untuk menyelesaikan penyiapan.
Kita akan membahas pengaturan lain yang diperlukan agar langkah ini berhasil diselesaikan.
Versi mesin
Versi mesin menentukan versi mesin basis data yang Anda pilih (misalnya, PostgreSQL, MySQL) yang akan digunakan. Ini memengaruhi fitur, performa, dan kompatibilitas basis data Anda.
Pilih versi stabil terbaru kecuali jika Anda memiliki alasan khusus (misalnya, kompatibilitas aplikasi) untuk menggunakan versi yang lebih lama. AWS biasanya memilih versi mayor terbaru, seperti PostgreSQL 17.2, yang aman untuk sebagian besar pengguna.
Template
Template menyediakan penyiapan pra-konfigurasi untuk instance basis data Anda berdasarkan kasus penggunaan: produksi, pengembangan, atau pengujian free tier. Template memengaruhi pengaturan default seperti performa, ketersediaan, dan retensi backup.
Ketersediaan dan daya tahan
Ini menentukan bagaimana basis data Anda menangani kegagalan dan mendistribusikan trafik di seluruh availability zone. Hal ini berdampak pada waktu aktif, redundansi, dan seberapa cepat sistem Anda pulih dari masalah.
Pengaturan
Bagian ini menentukan identitas instance DB Anda dan bagaimana kredensial ditangani. Anda akan memberi nama instance, menetapkan master username, dan memilih bagaimana secret (kata sandi) disimpan dan dienkripsi.
Konfigurasi instance
Ini mendefinisikan jenis sumber daya komputasi (CPU, RAM, jaringan) yang dialokasikan ke basis data Anda. Kelas instance menentukan performa, skalabilitas, dan biaya.
db.m7g.largememberi Anda dua vCPU dan 8 GiB RAM, cocok untuk beban kerja menengah.Konfigurasi penyimpanan
Bagian ini mengontrol jenis, ukuran, dan performa penyimpanan basis data. Anda dapat memilih penyimpanan yang dioptimalkan untuk penggunaan umum atau beban kerja berperforma tinggi.
Konektivitas
Bagian ini menentukan bagaimana basis data Anda terhubung ke dunia luar, termasuk pengaturan jaringan, VPC, akses publik, dan security group.
Autentikasi basis data
Pengaturan ini mengontrol bagaimana pengguna melakukan autentikasi ke basis data Anda. Anda dapat menggunakan kata sandi tradisional atau mengintegrasikan dengan layanan AWS seperti IAM atau Kerberos untuk kontrol akses yang lebih lanjut.
Pemantauan
Bagian ini mengaktifkan pelacakan performa dan aktivitas untuk instance RDS Anda menggunakan alat seperti Database Insights, Enhanced Monitoring, dan DevOps Guru. Alat-alat ini membantu Anda mendeteksi bottleneck performa, menganalisis beban, dan menelusuri masalah.
Mengonfigurasi pengaturan mesin basis data
Setelah Anda memilih semua pengaturan terkait infrastruktur, Anda akan sampai pada bagian bernama Additional configuration (atau serupa, tergantung mesin/versi). Di sinilah Anda mengonfigurasi perilaku dan kapabilitas mesin basis data RDS Anda.
Berikut yang biasanya Anda konfigurasikan:
1. Nama basis data awal
Ini adalah nama basis data pertama yang akan dibuat secara otomatis ketika instance disediakan.
2. Port basis data
Setiap mesin basis data menggunakan port TCP standar:
Tetap gunakan default kecuali Anda memiliki kebutuhan jaringan khusus (misalnya, aplikasi Anda mengharapkan port yang berbeda).
3. Parameter group
Parameter group seperti template konfigurasi untuk mesin basis data. Ini mendefinisikan pengaturan tingkat rendah yang memengaruhi perilaku dan performa.
Contohnya, di PostgreSQL, Anda mungkin mengonfigurasi:
work_mem: Seberapa banyak memori yang digunakan untuk operasi sortir internalmax_connections: Berapa banyak koneksi klien bersamaan yang dapat diterima DBlog_min_duration_statement: Mencatat kueri yang melebihi waktu eksekusi tertentuSetiap mesin memiliki serangkaian parameter yang dapat disetel, dan AWS menyediakan grup default. Anda dapat menggunakan default untuk penyiapan cepat atau mengkloning dan menyesuaikan grup jika beban kerja Anda memerlukan penyetelan khusus.
4. Option group
Option group memungkinkan Anda menambahkan fitur lanjutan yang tidak tersedia secara default untuk beberapa mesin basis data.
Beberapa contoh:
Umumnya Anda tidak perlu khawatir tentang option group jika menggunakan PostgreSQL atau MySQL untuk beban kerja standar. Namun jika Anda bekerja dengan Oracle atau SQL Server, periksa dokumentasi untuk memastikan fitur yang diperlukan diaktifkan.
Menyambungkan ke AWS RDS
Setelah instance basis data Anda aktif dan berjalan, Anda dapat terhubung dengan beberapa cara.
1. Menyambungkan dari AWS console
AWS menawarkan editor kueri bawaan untuk MySQL dan PostgreSQL. Arahkan ke instance Anda, pilih Query Editor, dan masukkan kredensial basis data Anda untuk mulai menjalankan perintah SQL langsung dari browser.
Ini ideal untuk pemeriksaan cepat atau kueri skala kecil tanpa memerlukan klien SQL lokal.
2. Menyambungkan dari mesin lokal
Untuk terhubung dari klien lokal seperti pgAdmin atau MySQL Workbench.
Pastikan IP mesin lokal Anda masuk daftar putih di security group basis data.
3. Keamanan dan kontrol akses
Akses ke instance RDS diatur melalui Security Group. Anda perlu:
Anda juga dapat meningkatkan kontrol akses menggunakan Identity and Access Management (IAM) roles dan kebijakan.
Mengelola dan Menambah Skala AWS RDS
Setelah basis data Anda berjalan, penting untuk memikirkan cara memelihara, menambah skala, dan mencadangkannya dari waktu ke waktu. AWS RDS menyediakan fitur bawaan yang memudahkan tugas-tugas ini, baik Anda mendukung aplikasi yang berkembang maupun mempersiapkan kegagalan tak terduga.
1. Menambah skala instance basis data Anda
Seiring pertumbuhan aplikasi, Anda mungkin perlu menambah skala basis data untuk mengikuti permintaan. AWS RDS mendukung dua jenis penskalaan: vertikal dan horizontal.
Penskalaan vertikal melibatkan peningkatan kelas instance untuk mendapatkan lebih banyak CPU, memori, dan kapasitas jaringan. Ini berguna saat beban kerja meningkat tetapi masih dapat dikelola pada satu node.
Untuk aplikasi yang berat baca, penskalaan horizontal adalah pilihan yang lebih baik. Anda dapat menambahkan read replica untuk mendistribusikan trafik baca. Replica ini juga dapat dipromosikan menjadi instance mandiri jika terjadi failover atau migrasi.
2. Mengonfigurasi Multi-AZ untuk ketersediaan tinggi
Untuk meningkatkan toleransi kesalahan dan mengurangi waktu henti, Anda dapat mengaktifkan penyebaran Multi-AZ. Konfigurasi ini membuat replika siaga di availability zone yang berbeda dan menjaganya sinkron dengan instance utama menggunakan replikasi sinkron.
Jika instance utama gagal, RDS akan otomatis melakukan failover ke siaga tanpa tindakan apa pun dari Anda. Karena endpoint basis data tetap sama, aplikasi Anda tidak perlu menyambung ulang atau dikonfigurasi ulang.
Multi-AZ sangat direkomendasikan untuk sistem produksi yang membutuhkan ketersediaan tinggi.
3. Mengotomatiskan backup dan snapshot
RDS memudahkan penyiapan backup otomatis dan manual. Backup otomatis diaktifkan secara default dan memungkinkan Anda memulihkan basis data ke titik waktu mana pun dalam periode retensi yang ditentukan (1 hingga 35 hari).
Selain backup otomatis, Anda juga dapat mengambil snapshot manual. Ini berguna sebelum melakukan perubahan besar seperti pembaruan skema atau peningkatan mesin. Snapshot dapat dipertahankan tanpa batas waktu dan digunakan untuk membuat instance baru jika diperlukan.
Sebaiknya jadwalkan snapshot sebelum deployment penting sebagai langkah pengamanan.
Fitur Lanjutan AWS RDS
Di luar dasar-dasarnya, AWS RDS menawarkan serangkaian fitur lanjutan yang dirancang untuk meningkatkan performa, keamanan, dan efisiensi operasional. Alat-alat ini membantu Anda memantau kesehatan basis data, mengelola alur kerja pemeliharaan, dan menerapkan praktik terbaik keamanan—semuanya penting untuk menjalankan sistem kelas produksi.
1. Pemantauan performa dengan Amazon CloudWatch
RDS terintegrasi secara native dengan Amazon CloudWatch, memungkinkan Anda melacak metrik performa penting seperti penggunaan CPU, I/O disk, ruang penyimpanan, dan koneksi basis data. Metrik ini tersedia secara real time dan dapat digunakan untuk menyiapkan alarm atau dasbor.
CloudWatch juga banyak digunakan dalam alur kerja AWS S3 dan EFS, sebagaimana ditunjukkan dalam Tutorial Penyimpanan AWS di Datacamp.
Untuk wawasan yang lebih mendalam, Anda dapat mengaktifkan Performance Insights, yang memvisualisasikan performa kueri dari waktu ke waktu. Alat ini membantu Anda mengidentifikasi kueri yang lambat atau intensif sumber daya, melihat tren beban basis data, dan menelusuri bottleneck. Dipadukan dengan penyetelan kueri dan strategi pengindeksan, ini merupakan cara ampuh untuk mengoptimalkan performa basis data saat berada di bawah tekanan.
2. Pemeliharaan dan patching RDS
AWS mengelola patching perangkat lunak dan pemeliharaan untuk instance RDS Anda. Anda dapat menentukan jendela pemeliharaan saat pembaruan diterapkan. Jika patch kritis dirilis, AWS dapat menginstalnya segera, atau Anda dapat memilih untuk menundanya sementara.
Anda akan menemukan semua acara pemeliharaan terjadwal dan yang telah berlalu di konsol RDS. Menjaga basis data tetap mutakhir memastikan Anda mendapatkan peningkatan performa terbaru, perbaikan bug, dan patch keamanan tanpa perlu mengelola pembaruan secara manual.
3. Enkripsi dan praktik terbaik keamanan
RDS mendukung enkripsi saat diam (at rest) dan saat transit. Enkripsi at rest ditangani oleh AWS Key Management Service (KMS) dan dapat diaktifkan saat pembuatan instance. Untuk data in transit, RDS mendukung koneksi SSL/TLS antara klien dan basis data.
Untuk lebih memperkuat keamanan, pertimbangkan untuk mengaktifkan autentikasi IAM guna menggunakan kredensial basis data yang berumur pendek alih-alih username dan password yang dikodekan keras. Sebaiknya juga menerapkan autentikasi multi-faktor (MFA) untuk semua pengguna AWS, menerapkan prinsip least privilege dengan kebijakan IAM, dan mencatat semua akses menggunakan AWS CloudTrail. Praktik terbaik ini membantu memastikan data Anda tetap terlindungi dan dapat diaudit.
Manajemen dan Optimasi Biaya
Mengelola biaya adalah bagian penting saat berkerja dengan layanan AWS, dan RDS bukan pengecualian. Meskipun merupakan layanan terkelola penuh, penetapan harga RDS dapat meningkat dengan cepat bergantung pada konfigurasinya. Memahami struktur biaya dan menerapkan strategi optimasi sejak dini dapat membantu Anda tetap dalam anggaran seiring pertumbuhan penggunaan.
1. Memahami penetapan harga AWS RDS
Biaya RDS didasarkan pada:
gp3atauio1)Gunakan AWS Pricing Calculator untuk memperkirakan dan memodelkan biaya yang diharapkan.
Jika Anda bersiap untuk sertifikasi, memahami penetapan harga adalah bagian penting dari jalur pembelajaran AWS Cloud Practitioner (CLF-C02).
2. Praktik terbaik optimasi biaya
Ada beberapa cara untuk mengurangi atau mengendalikan biaya RDS. Jika Anda menjalankan basis data produksi jangka panjang, pertimbangkan untuk membeli Reserved Instances, yang menawarkan diskon signifikan dibandingkan harga on-demand dengan komitmen satu atau tiga tahun.
Untuk menghindari overprovisioning, aktifkan penskalaan otomatis penyimpanan sehingga ruang yang dialokasikan bertambah hanya sesuai kebutuhan. Untuk data yang jarang diakses tetapi harus dipertahankan, Anda dapat memindahkan backup lama atau ekspor ke S3 atau Glacier, yang merupakan opsi penyimpanan jauh lebih murah.
Anda juga dapat memantau penggunaan sumber daya menggunakan AWS Trusted Advisor, yang dapat menandai instance yang kurang dimanfaatkan dan merekomendasikan penyesuaian ukuran. Padukan ini dengan AWS Cost Explorer dan peringatan anggaran untuk melacak pola penggunaan Anda dari waktu ke waktu dan mendapatkan notifikasi saat Anda mendekati batas pengeluaran.
Pemecahan Masalah AWS RDS
Bahkan dengan layanan terkelola penuh seperti RDS, masalah bisa saja muncul, mulai dari kendala konektivitas hingga penurunan performa. Mengetahui tempat untuk memeriksa dan bagaimana merespons dapat membantu Anda menyelesaikan masalah dengan cepat dan meminimalkan dampaknya pada aplikasi.
1. Mengidentifikasi dan menyelesaikan masalah koneksi
Masalah koneksi sering disebabkan oleh pengaturan jaringan yang salah. Penyebab paling umum termasuk aturan security group yang hilang atau salah, seperti port tertutup atau rentang IP yang dibatasi. Masalah lain yang sering terjadi adalah penggunaan endpoint atau nomor port yang salah, terutama saat beralih antar lingkungan.
Anda juga harus memeriksa masalah resolusi DNS, terutama jika aplikasi Anda berjalan di VPC atau region yang berbeda. Alat seperti ping atau telnet dapat membantu memverifikasi konektivitas dasar. Jika Anda masih mengalami hambatan, log mesin yang tersedia melalui konsol RDS sering kali memberikan petunjuk berguna; cari kegagalan autentikasi atau timeout yang mungkin menunjukkan akar masalah.
2. Menangani masalah performa
Saat performa mulai menurun, penting untuk mengambil pendekatan terstruktur. Mulailah dengan mengaktifkan pencatatan kueri melalui pengaturan parameter group basis data Anda. Ini membantu Anda mengidentifikasi kueri yang memakan waktu lebih lama dari yang diharapkan.
Setelah itu, gunakan Performance Insights untuk memvisualisasikan beban kueri, peristiwa wait, dan aktivitas pengguna dari waktu ke waktu. Wawasan ini sering kali mengungkap masalah pengindeksan, struktur kueri yang tidak efisien, atau tingkat konkurensi yang tinggi. Perubahan kecil, seperti menambahkan indeks atau menulis ulang join yang kompleks, sering kali memberikan peningkatan yang terasa.
Jika penyetelan tidak membantu, pertimbangkan untuk meningkatkan kelas instance Anda atau menambahkan read replica untuk menskalakan secara horizontal. Seperti biasa, pastikan untuk menguji perubahan performa di lingkungan staging sebelum menerapkannya di produksi.
3. Menangani failover dan pemulihan
Dalam penyebaran Multi-AZ, RDS menangani failover secara otomatis. Jika instance utama menjadi tidak tersedia, AWS mempromosikan siaga menjadi utama dan memperbarui catatan DNS, biasanya dalam beberapa menit. Proses ini mulus, dan aplikasi Anda dapat terus beroperasi tanpa intervensi manual.
Untuk instance Single-AZ, failover tidak otomatis. Jika terjadi kegagalan, Anda harus memulihkan basis data secara manual dari snapshot terbaru. Untuk mengurangi waktu pemulihan, sebaiknya menyiapkan alarm CloudWatch dan notifikasi SNS sehingga Anda langsung diberi tahu begitu terjadi sesuatu. Ini memungkinkan tim Anda merespons cepat dan meminimalkan waktu henti.
Kesimpulan
Amazon RDS memudahkan penerapan, pengelolaan, dan penskalaan basis data relasional di cloud, tanpa beban penyediaan infrastruktur atau penanganan pemeliharaan manual. Dengan dukungan untuk berbagai mesin, pencadangan otomatis, ketersediaan tinggi, dan alat pemantauan performa, RDS cocok untuk segala hal mulai dari proyek hobi hingga aplikasi yang sangat kritis.
Tutorial ini memberikan langkah-langkah praktis dan pengetahuan dasar untuk memulai.
Jika Anda siap untuk mengeksplorasi lebih jauh, jalur pembelajaran AWS Cloud Practitioner (CLF-C02) adalah langkah berikutnya yang tepat menuju sertifikasi dan keahlian cloud.