Tutorial ini menjelaskan cara menggunakan Auto Scaling dengan kombinasi instans pay-as-you-go dan spot instans untuk menangani fluktuasi traffic periodik sekaligus mengurangi biaya.
Kasus penggunaan
Pertimbangkan sebuah platform pendidikan daring yang mengalami traffic puncak dari pukul 17.00 hingga 22.00 setiap hari. Di luar periode tersebut, traffic rendah. Untuk menangani beban puncak, tim operasional harus menyediakan sumber daya komputasi yang cukup selama jam-jam sibuk. Sumber daya tersebut kemudian menganggur selama jam sepi, sehingga terjadi pemborosan. Jika traffic tiba-tiba melonjak, insinyur tetap perlu membuat instans ECS tambahan secara manual.
Solusi ini juga cocok untuk aplikasi dengan karakteristik berikut:
-
Aplikasi dideploy pada kluster multi-server.
-
Aplikasi sangat toleran terhadap kegagalan dan dapat menahan gangguan. Contohnya, workload pengujian yang menggunakan spot instans.
-
Aplikasi memiliki pola traffic puncak dan lembah yang dapat diprediksi. Misalnya, permintaan tinggi dari pukul 17.00 hingga 22.00 setiap hari, sedangkan sumber daya menganggur di periode lainnya.
Solusi
Auto Scaling memungkinkan Anda menggunakan kombinasi instans pay-as-you-go dan spot instans untuk mengelola fluktuasi traffic periodik dengan biaya lebih rendah.
Anda dapat menerapkan pendekatan berikut:
-
Untuk periode jam sepi, gunakan instans ECS langganan untuk menangani traffic garis dasar.
-
Untuk periode puncak dan sepi, Anda dapat menggunakan Tugas terjadwal untuk menambah dan melepas instans ECS. Detailnya:
-
Selama jam puncak, grup penskalaan menggunakan Tugas terjadwal untuk secara otomatis menambah instans ECS yang diperlukan. Anda dapat menentukan beberapa tipe instans dan menggabungkan instans pay-as-you-go dengan spot instans untuk mengurangi biaya lebih lanjut. Grup penskalaan mengurutkan tipe instans berdasarkan harga satuan vCPU secara ascending, memprioritaskan tipe dengan harga terendah.
-
Selama jam sepi, grup penskalaan menggunakan Tugas terjadwal untuk secara otomatis melepas instans ECS yang tidak diperlukan.
-
Manfaat
Menggunakan Auto Scaling untuk mengurangi biaya memberikan manfaat berikut:
-
Biaya siaga nol
Auto Scaling secara otomatis membuat dan melepas instans ECS sesuai permintaan, sehingga menghilangkan kebutuhan akan server siaga. Anda hanya perlu mempertahankan sumber daya komputasi untuk traffic garis dasar selama periode jam sepi.
-
Beban operasional nol
Anda hanya perlu mengonfigurasi kebijakan penskalaan terlebih dahulu. Saat beban meningkat, Auto Scaling secara otomatis membuat instans ECS dan menambahkannya ke daftar putih alamat IP instans ApsaraDB RDS serta kelompok server backend instans load balancer terkait, seperti instans Classic Load Balancer (CLB). Seluruh proses ini berjalan otomatis tanpa intervensi manual.
-
Biaya sangat efisien
Auto Scaling mendukung kombinasi instans pay-as-you-go dan spot instans. Spot instans dapat dibeli dengan diskon hingga 90% dibandingkan instans pay-as-you-go. Jika stok spot instans tidak mencukupi, instans pay-as-you-go akan disediakan untuk memastikan kapasitas tersedia. Kebijakan Optimasi Biaya juga mendukung kompensasi spot instans. Lima menit sebelum spot instans ditarik kembali, Auto Scaling secara otomatis mencoba membuat spot instans baru dengan harga lebih rendah, sehingga menjaga efisiensi biaya tetap tinggi.
Prosedur
Untuk mengurangi biaya modul aplikasi Anda, evaluasi arsitektur bisnis Anda dan lakukan langkah-langkah berikut:
Sebelum memulai, buat custom image dari instans ECS yang menjalankan aplikasi Anda. Untuk informasi lebih lanjut, lihat Buat custom image dari instans.
Langkah 1: Buat instans ECS langganan
Buat jumlah instans ECS langganan yang diperlukan untuk menangani traffic garis dasar modul aplikasi Anda selama periode jam sepi.
Masuk ke ECS console.
Di panel navigasi kiri, pilih .
Di pojok kiri atas halaman, pilih wilayah dan kelompok sumber daya.
-
Temukan custom image aplikasi Anda dan klik Create Instance di kolom Actions.
-
Konfigurasikan informasi instans dan buat instans tersebut.
-
Atur Billing Method menjadi Subscription.
-
Informasi Region dan Image diisi secara otomatis.
Konfigurasikan parameter lain sesuai kebutuhan. Untuk informasi lebih lanjut, lihat Buat instans menggunakan wizard.
-
Langkah 2: Buat dan aktifkan grup penskalaan
Buat grup penskalaan untuk modul aplikasi yang sedang Anda optimalkan. Dalam konfigurasi penskalaan, pilih custom image aplikasi Anda agar instans baru dikonfigurasi dengan benar.
Masuk ke Auto Scaling console.
Di panel navigasi kiri, klik Scaling Groups.
Di bilah navigasi atas, pilih wilayah.
-
Klik Create Scaling Group, konfigurasikan parameter, lalu buat grup penskalaan.
-
Atur Scaling Group Name menjadi nama kustom, misalnya
testname. -
Atur Instance Configuration Source menjadi Create from Scratch.
-
Atur Minimum Number of Instances menjadi 0.
-
Atur Maximum Number of Instances menjadi 10.
-
Default cooldown (seconds) secara default adalah 300.
-
Atur Network Type menjadi VPC.
-
Atur Scaling Policy menjadi Cost Optimization Policy.
-
Atur Minimum Pay-as-you-go Instances menjadi 0.
-
Atur Percentage of Pay-as-you-go Instances menjadi 30.
-
Atur Lowest Cost Instance Types menjadi 3.
-
Aktifkan Enable Supplemental Spot Instances.
-
Use Pay-as-you-go Instances to Supplement Spot Capacity diaktifkan secara default.
-
-
Atur Instance Reclaim Mode menjadi Release.
-
Pilih VPC yang telah dibuat dan vSwitch yang sesuai.
-
Asosiasikan kelompok server Classic Load Balancer (CLB), Application Load Balancer (ALB), dan Network Load Balancer (NLB), serta instans ApsaraDB RDS yang digunakan oleh modul aplikasi Anda.
Konfigurasikan parameter lain sesuai kebutuhan. Untuk informasi lebih lanjut, lihat Buat grup penskalaan instans ECS.
-
-
Temukan grup penskalaan yang telah dibuat dan klik View Details di kolom Actions.
Di bagian atas halaman, klik tab Scaling Configurations.
-
Klik Create Scaling Configuration, konfigurasikan parameter, lalu buat konfigurasi penskalaan.
-
Atur Billing Method menjadi Spot Instance.
-
Untuk konfigurasi instans, pilih tiga atau lebih tipe instans.
-
Select Image: Pilih custom image Anda.
Konfigurasikan parameter lain sesuai kebutuhan. Untuk informasi lebih lanjut, lihat Buat konfigurasi penskalaan untuk instans ECS.
-
-
Aktifkan konfigurasi penskalaan dan grup penskalaan.
Langkah 3: Konfigurasi auto scaling
Tambahkan instans ECS langganan ke grup penskalaan dan buat Tugas terjadwal untuk secara otomatis dan lancar menskalakan sumber daya Anda berdasarkan puncak dan lembah traffic. Pendekatan ini memaksimalkan penghematan biaya dengan menggunakan spot instans.
-
Buka tab Instances dan tambahkan instans ECS langganan yang telah dibuat ke grup penskalaan.
-
Atur instans ECS langganan ke status protected untuk memastikan aplikasi Anda beroperasi normal selama periode jam sepi.
-
Buka halaman Scaling Groups dan ubah jumlah minimum dan maksimum instans dalam grup penskalaan sesuai kebutuhan bisnis Anda.
Untuk informasi lebih lanjut tentang cara mengubah jumlah maksimum dan minimum instans dalam grup penskalaan, lihat Kelola grup penskalaan.
-
Di halaman detail grup penskalaan, pilih dan buat dua aturan penskalaan simple.
Parameter utama dijelaskan sebagai berikut:
-
Atur Rule Type menjadi Simple Scaling Rule.
-
Konfigurasikan parameter Operation sebagai berikut:
-
Simple Scaling Rule 1: Saat grup penskalaan perlu melakukan scale-out, tambahkan 5 instans.
-
Simple Scaling Rule 2: Menghapus 5 instans saat grup penskalaan perlu melakukan scale-in.
-
Konfigurasikan parameter lain sesuai kebutuhan. Untuk informasi lebih lanjut, lihat Kelola aturan penskalaan.
-
-
Di halaman detail grup penskalaan, pilih dan buat dua Tugas terjadwal.
-
Konfigurasikan parameter Executed At sebagai berikut:
-
Tugas terjadwal 1: Untuk melakukan scale-out sebelum puncak bisnis (misalnya pukul 17.00), atur waktu menjadi 16.59 pada 20 November 2021.
-
Tugas terjadwal 2: Untuk melakukan scale-in sebelum lembah bisnis (misalnya pukul 22.00), atur waktu menjadi 21.59 pada 20 November 2021.
-
-
Scaling Group: Pilih grup penskalaan tempat instans ECS langganan ditambahkan.
-
Scaling Method: Pilih Select Existing Scaling Rule.
-
Atur Simple Scaling Rule sebagai berikut:
-
Tugas terjadwal 1: Untuk melakukan scale-out sebelum puncak bisnis (misalnya pukul 17.00), pilih simple scaling rule 1.
-
Tugas terjadwal 2: Untuk melakukan scale-in sebelum lembah bisnis (misalnya pukul 22.00), pilih simple scaling rule 2.
-
Konfigurasikan parameter lain sesuai kebutuhan. Untuk informasi lebih lanjut, lihat Kelola Tugas terjadwal.
-
Verifikasi hasil
Di halaman Scaling Activities, Anda dapat melihat detail aktivitas penskalaan dan memverifikasi bahwa instans dalam grup penskalaan telah diskalakan sesuai harapan. Untuk informasi lebih lanjut, lihat Lihat detail aktivitas penskalaan.
-
Instans ECS langganan berada dalam status protected dan digunakan untuk melayani workload selama periode jam sepi. Instans ECS dalam status protected tidak akan dihapus dari grup penskalaannya, dan bobot load balancernya tetap tidak terpengaruh.
-
Selama jam puncak, grup penskalaan menggunakan Tugas terjadwal untuk secara otomatis membuat jumlah instans ECS yang diperlukan. Karena Kebijakan Optimasi Biaya digunakan dan kompensasi spot instans diaktifkan, instans ECS baru dibeli dengan harga serendah mungkin, sehingga memaksimalkan efisiensi biaya.
-
Selama jam sepi, grup penskalaan menggunakan Tugas terjadwal untuk secara otomatis melepas instans ECS berlebih.