Pada artikel ini, saya akan membahas cara menyiapkan instans MySQL di AWS RDS menggunakan template Cloud Formation. Dalam artikel saya sebelumnya, Cara mengonfigurasi lingkungan Amazon RDS untuk MySQL, saya telah memberikan panduan mendetail tentang cara menyiapkan instans MySQL di Amazon. Anda dapat menggunakan konsol AWS untuk memberikan semua informasi yang diperlukan untuk menyiapkan instans dan kemudian menggunakannya. Namun, dalam artikel ini, kita akan membahas cara otomatis untuk mencapai fungsionalitas yang sama menggunakan template Cloud Formation.
Apa itu template CloudFormation?
Untuk mulai menulis template, pertama-tama kita perlu memahami apa itu pembentukan awan. AWS menawarkan Cloud Formation sebagai layanan cloud yang memungkinkan pelanggan AWS untuk menulis status infrastruktur apa pun yang diinginkan sebagai kode dan kemudian menggunakannya untuk menyebarkan sumber daya ke AWS. Ini memungkinkan kita untuk membuat sumber daya atau sekelompok sumber daya dengan mengikuti template konfigurasi sederhana. Misalnya, jika Anda ingin menerapkan aplikasi web pada instans EC2 yang juga akan menggunakan database RDS, Anda cukup menggabungkan kedua sumber daya menjadi satu tumpukan dan menulis kode untuk menyiapkan instans. Setelah dijalankan, instance EC2 dan RDS akan dibuat dan juga menerapkan aplikasi web Anda.
Gambar 1 – Template CloudFormation di AWS Console
Komponen template pembentukan awan adalah sebagai berikut:
- Sebuah JSON atau YAML file di mana sumber daya akan didefinisikan sebagai template
- Tumpukan dapat berupa kombinasi dari beberapa sumber daya yang perlu disiapkan sebagai bagian dari aplikasi. Misalnya, EC2 dan RDS
- Set perubahan dapat digunakan untuk melihat daftar operasi yang akan dilakukan oleh tumpukan
- Set tumpukan juga dapat dianggap sebagai grup tumpukan terkelola yang direproduksi atau direplikasi
Di luar hal di atas, kami terutama akan fokus pada template JSON/YAML dan tumpukan dalam artikel ini. Template mendukung berbagai sumber daya di AWS. Untuk mendapatkan daftar lengkap, ikuti tautan ini.
Menulis file template JSON atau YAML
Salah satu tantangan utama yang kami hadapi saat menulis template untuk pertama kalinya adalah konten apa yang harus disertakan di dalamnya. Untuk memudahkannya, AWS menyediakan banyak contoh template yang dapat dengan mudah ditemukan di dokumentasi resmi. Setelah Anda menemukan template yang diperlukan untuk membuat sumber daya yang diperlukan, Anda dapat menggunakannya untuk membuat template Anda sendiri. Template dapat dibuat menggunakan JSON atau YAML dan juga dikonversi dari satu ke yang lain. Sebagai catatan pribadi, saya lebih suka menulis template menggunakan YAML karena membantu saya menghindari kurung kurawal dan koma dan menjaga dokumen tetap bersih. Namun, Anda bebas memilih opsi apa pun antara JSON dan YAML.
Untuk latihan ini, mari kita coba menjalankan instance MySQL di RDS dan kita akan menulis kodenya dalam YAML. Untuk menyiapkan database MySQL menggunakan formasi cloud, kita memerlukan item berikut.
- Nama Sumber Daya – Nama sumber daya yang akan Anda siapkan.
- Jenis Sumber Daya – Jenis sumber daya.
- Properti Sumber Daya – Nama database, nama pengguna, dan kata sandi untuk terhubung.
- Mesin database – MySQL, SQL Server, PostgreSQL, dll.
- Jenis Penyimpanan – Jenis penyimpanan yang akan digunakan.
- Aksesibilitas Publik – Apakah database harus memiliki akses publik atau tidak.
- Memori yang Dialokasikan – Memori yang harus dialokasikan ke instance database.
- Wilayah AWS – Wilayah tempat instance akan dibuat.
Sekarang setelah kita memiliki beberapa poin, mari kita lanjutkan dan mulai dengan menulis file template.
https://gist.github.com/aveek22/a188b02abde65479bbba2deba5ec90d6
Gambar 2 – File template untuk membuat instance MySQL di RDS
Seperti yang Anda lihat pada gambar di atas, struktur file dibagi menjadi dua bagian. Di bagian pertama, kami telah menetapkan beberapa parameter yang akan digunakan oleh definisi sumber daya di bagian kedua saat membuat sumber daya di AWS. Anda dapat menggunakan skrip yang sama di mesin Anda untuk membuat instans di akun AWS Anda.
Menyiapkan tumpukan di konsol
Sekarang kita telah membuat template untuk MySQL, saatnya kita mengaturnya untuk melihat apakah semuanya berjalan dengan baik. Buka konsol AWS dan cari Formasi Cloud di bilah pencarian. Klik Create Stack dan unggah file template dari lokal Anda. Klik Berikutnya setelah selesai.
Gambar 3 – Membuat tumpukan dari template
Pada halaman berikutnya, Anda akan diminta untuk memberikan parameter yang ditentukan dalam template pembentukan awan. Lanjutkan dan berikan detail yang diperlukan dan klik Berikutnya .
Gambar 4 – Parameter Stack disediakan
Tinjau perubahan dan parameter tumpukan dan klik Buat Tumpukan di halaman terakhir. Pembuatan tumpukan akan dimulai. Mungkin perlu beberapa saat untuk membuat semua sumber daya sebelum tersedia untuk digunakan. Sementara itu, Anda dapat mengeklik tombol Muat Ulang untuk memeriksa apakah semua acara telah berhasil dibuat.
Gambar 5 – Pembuatan Stack sedang berlangsung
Seperti yang Anda lihat pada stempel waktu, saya membutuhkan waktu sekitar 6 menit setelah sumber daya tersedia dan juga terlihat di konsol. Navigasikan ke Sumber Daya tab dan klik pada ID Fisik dari sumber daya. Ini akan membawa Anda ke konsol RDS.
Gambar 6 – Stack Berhasil Dibuat
Menghubungkan database MySQL
Setelah Anda berada di konsol RDS, Anda bisa mendapatkan nama host untuk instans database dan menggunakannya untuk terhubung ke database. Raih titik akhir dari konsol dan gunakan untuk terhubung.
Gambar 7 – Detail instance MySQL di RDS
Sekarang mari kita menuju ke MySQL Workbench dan coba sambungkan ke nama host dengan kredensial yang telah kami berikan sebelumnya. Gunakan nama host, nama pengguna, dan sandi untuk terhubung ke instance.
Gambar 8 – Menghubungkan ke instance MySQL menggunakan MySQL Workbench
Seperti yang Anda lihat pada gambar di atas, kami telah berhasil terhubung ke instance database di RDS. Sekarang mari kita jalankan beberapa kueri dan lihat apakah itu berhasil.
Gambar 9 – Menjalankan skrip di MySQL Workbench
Seperti yang Anda lihat pada gambar di atas, kami telah dapat terhubung ke instance database dan menjalankan kueri. Dengan ini, Anda dapat menulis template formasi cloud Anda sendiri dan memutar sumber daya lain seperti database SQL Server atau PostgreSQL.
Menghapus sumber daya
Jika Anda melakukan ini sebagai latihan, saya akan merekomendasikan menghapus sumber daya yang telah kami buat karena akan dikenakan beberapa biaya. Anda dapat menavigasi ke konsol RDS lalu memilih instance dan mengklik Hapus untuk menghapus sumber daya secara permanen.
Gambar 10 – Menghapus sumber daya yang dibuat
Setelah sumber daya berhasil dihapus, Anda dapat memeriksa di konsol sekali lagi jika ada instance yang berjalan hanya untuk menghindari penambahan biaya penagihan yang tidak perlu.
Kesimpulan
Dalam artikel ini, kita telah membahas secara mendetail cara menyiapkan instans database MySQL di lingkungan AWS RDS dan mengotomatiskannya menggunakan template Cloud Formation. Dengan cara ini jika menyiapkan sumber daya di cloud juga dikenal sebagai layanan infrastruktur sebagai kode di mana Anda dapat mengatur seluruh infrastruktur sebagai kode dan kemudian menggunakannya di berbagai lingkungan. Template ini dapat digunakan tidak hanya untuk menerapkan instance database tetapi juga infrastruktur lain dalam AWS seperti EC2, Lambda, RedShift, dll. Untuk mempelajari lebih lanjut tentang template pembentukan cloud, Anda dapat melihat contoh template yang tersedia di situs web resmi.