Templat Peluncuran dan Konfigurasi ASG
Buat templat peluncuran dengan AMI, tipe instans, dan data pengguna yang tepat, lalu lampirkan ke Grup Penskalaan Otomatis dengan kapasitas minimum, maksimum, dan yang diinginkan.
Templat Peluncuran dan Konfigurasi ASG adalah pelajaran Cloud & IT Cert Prep gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cloud & IT Cert Prep, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.
Apa Itu Templat Peluncuran
Templat peluncuran adalah cetak biru berversi yang memberi tahu Grup Auto Scaling (dan EC2 secara langsung) cara meluncurkan instans. Templat ini mencakup ID AMI, jenis instans, pasangan kunci, grup keamanan, dan data pengguna opsional dalam satu dokumen yang dapat digunakan kembali. Berbeda dengan Konfigurasi Peluncuran yang lebih lama, templat peluncuran mendukung beberapa versi dan dapat diperbarui tanpa mengganti ASG.
Membuat Templat Peluncuran melalui CLI
Anda dapat membuat templat peluncuran dengan AWS CLI menggunakan create-launch-template. Parameter --launch-template-data menerima objek JSON yang menentukan semua pengaturan instans. Pemberian versi memungkinkan Anda mengembangkan templat tanpa memengaruhi instans yang sedang berjalan sampai Anda siap menerapkannya.
aws ec2 create-launch-template \
--launch-template-name 'MyAppTemplate' \
--version-description 'v1 initial' \
--launch-template-data '{
"ImageId": "ami-0abcdef1234567890",
"InstanceType": "t3.medium",
"KeyName": "my-key-pair",
"SecurityGroupIds": ["sg-0123456789abcdef0"],
"UserData": "IyEvYmluL2Jhc2gKZWNobyAnSGVsbG8n"
}'Versi dan Default Templat Peluncuran
Setiap templat peluncuran dimulai dari versi 1. Saat membuat versi baru, Anda hanya perlu mengganti kolom yang berubah—semua pengaturan lainnya diwarisi dari versi sumber. ASG dapat diatur untuk menggunakan versi $Latest (selalu yang terbaru) atau versi $Default (yang ditetapkan secara eksplisit). Penggunaan $Default memberi Anda peluncuran terkontrol, sedangkan $Latest praktis digunakan di lingkungan pengembangan.
# Create a new version based on version 1, changing only instance type
aws ec2 create-launch-template-version \
--launch-template-name 'MyAppTemplate' \
--source-version 1 \
--launch-template-data '{"InstanceType": "t3.large"}'Konsep Inti Auto Scaling Group
Sebuah Auto Scaling Group (ASG) mempertahankan sekumpulan instans EC2 dalam batas yang ditentukan: minimum (batas bawah), maksimum (batas atas), dan kapasitas yang diinginkan (jumlah target pada saat tertentu). Jika instans gagal dalam pemeriksaan kesehatan atau kebijakan penskalaan dijalankan, ASG secara otomatis meluncurkan atau menghentikan instans agar jumlah instans tetap sesuai kapasitas yang diinginkan, di antara nilai minimum dan maksimum.
Membuat ASG yang Terhubung ke Launch Template
Saat membuat ASG, Anda merujuk ke Launch Template (bukan langsung ke AMI tertentu). Anda juga menentukan subnet VPC tempat instans akan diluncurkan. Penyebaran di beberapa subnet (satu per AZ) memberikan redundansi multi-AZ bawaan—jika satu AZ gagal, ASG secara otomatis meluncurkan instans pengganti di AZ yang tersisa.
aws autoscaling create-auto-scaling-group \
--auto-scaling-group-name 'MyAppASG' \
--launch-template 'LaunchTemplateName=MyAppTemplate,Version=$Default' \
--min-size 2 \
--max-size 10 \
--desired-capacity 4 \
--vpc-zone-identifier 'subnet-aaa111,subnet-bbb222,subnet-ccc333'Pemeriksaan Kesehatan ASG: EC2 vs ELB
Secara default, ASG menggunakan pemeriksaan kesehatan EC2, yang hanya menandai instans sebagai tidak sehat jika instans tersebut dihentikan, diakhiri, atau hipervisor melaporkan kegagalan. Saat Anda menghubungkan penyeimbang beban, Anda sebaiknya beralih ke pemeriksaan kesehatan ELB agar ASG mengganti instans yang masih berjalan tetapi mengembalikan kesalahan HTTP 5xx. Ini adalah pertanyaan ujian yang umum: selalu pilih pemeriksaan kesehatan ELB jika terdapat penyeimbang beban dalam arsitektur.
# Enable ELB health checks on an existing ASG
aws autoscaling update-auto-scaling-group \
--auto-scaling-group-name 'MyAppASG' \
--health-check-type ELB \
--health-check-grace-period 300Pengaturan Kapasitas: Minimum, Maksimum, Diinginkan
Menetapkan batas kapasitas yang tepat sangat penting. Minimum memastikan aplikasi Anda selalu dapat melayani lalu lintas (tidak pernah berada di bawah nilai ini). Maksimum mencegah penskalaan tak terkendali yang dapat menghabiskan batas layanan atau anggaran. Kapasitas yang diinginkan adalah target awal; kebijakan penskalaan menyesuaikannya secara dinamis. Jika Anda menetapkan min=maks=diinginkan, ASG berfungsi sebagai grup berukuran tetap, yang berguna untuk deployment launch template atau kapasitas yang dipatok.
Menghubungkan Grup Target ALB ke ASG
Untuk aplikasi tingkat web, hubungkan ASG ke grup target Application Load Balancer. Setiap instans baru yang diluncurkan oleh ASG secara otomatis didaftarkan ke grup target, dan instans yang diakhiri secara otomatis dibatalkan pendaftarannya. Dengan demikian, lalu lintas hanya mengalir ke instans yang sehat dan sedang berjalan. Anda juga harus menetapkan jenis pemeriksaan kesehatan ke ELB agar ASG mengetahui kegagalan pada tingkat penyeimbang beban.
aws autoscaling attach-load-balancer-target-groups \
--auto-scaling-group-name 'MyAppASG' \
--target-group-arns 'arn:aws:elasticloadbalancing:us-east-1:123456789012:targetgroup/MyTG/abc123'Data Pengguna dalam Launch Template
Data pengguna adalah skrip shell (dikodekan dalam Base64) yang dijalankan sekali saat instans melakukan boot pertama kali. Dalam Launch Template, data pengguna adalah tempat yang tepat untuk memasang paket, mengonfigurasi agen (CloudWatch, SSM), dan mengambil kode aplikasi. Pastikan data pengguna bersifat idempoten—skrip yang dapat dijalankan dengan aman lebih dari sekali mencegah masalah selama penyegaran instans. Untuk penyiapan yang kompleks, panggil AWS Systems Manager atau alat manajemen konfigurasi alih-alih menyematkan skrip besar.
#!/bin/bash
yum update -y
yum install -y amazon-cloudwatch-agent
/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl \
-a fetch-config -m ec2 -c ssm:/MyApp/CWConfig -s
# Start application
cd /opt/myapp && ./start.shWarm Pool untuk Penskalaan Keluar yang Lebih Cepat
Warm Pool melakukan inisialisasi awal terhadap sekumpulan instans EC2 yang dihentikan (atau sedang berjalan) dalam keadaan siap, di luar ASG. Saat ASG perlu melakukan scale-out, ASG mengambil instans dari warm pool alih-alih meluncurkan instans dari keadaan awal—sehingga waktu yang diperlukan untuk menambah kapasitas berkurang secara drastis. Instans dalam warm pool menimbulkan biaya keadaan dihentikan (hanya EBS, tanpa biaya CPU), sehingga jauh lebih murah daripada menyimpan instans cadangan yang sepenuhnya berjalan.
Kebijakan Pengakhiran dan Keseimbangan AZ
Saat ASG melakukan scale-in, ASG harus menentukan instans mana yang akan diakhiri. Kebijakan pengakhiran default terlebih dahulu memilih AZ dengan jumlah instans terbanyak (untuk menyeimbangkan kembali), kemudian launch template tertua, lalu instans yang paling dekat dengan jam penagihannya. Anda dapat menyesuaikan urutan ini—misalnya, memilih OldestLaunchTemplate untuk menghapus terlebih dahulu instans yang menjalankan konfigurasi lama. ASG juga secara otomatis melakukan penyeimbangan kembali AZ setelah subnet tersedia atau setelah perubahan manual.
Pemeriksaan Cepat
Uji pemahaman Anda tentang konsep AWS Solutions Architect (SAA-C03) dari pelajaran ini.
Rangkuman Pelajaran
Dalam pelajaran ini Anda mempelajari bahwa: Launch Templates menyediakan cetak biru instans yang dapat digunakan ulang dan memiliki versi, yang mendukung beberapa versi serta penunjuk versi $Latest/$Default; batas kapasitas ASG (min/maks/diinginkan) mengatur ukuran armada dengan distribusi multi-AZ otomatis di seluruh subnet; dan pemeriksaan kesehatan ELB harus diaktifkan saat ASG berada di belakang penyeimbang beban agar kegagalan pada tingkat aplikasi memicu penggantian. Selanjutnya, kita akan membahas kebijakan penskalaan, termasuk pelacakan target dan penskalaan bertahap.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Templat Peluncuran dan Konfigurasi ASG” gratis?
Ya — teks lengkap “Templat Peluncuran dan Konfigurasi ASG” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cloud & IT Cert Prep, upgrade ke CoddyKit PRO. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Templat Peluncuran dan Konfigurasi ASG”?
Buat templat peluncuran dengan AMI, tipe instans, dan data pengguna yang tepat, lalu lampirkan ke Grup Penskalaan Otomatis dengan kapasitas minimum, maksimum, dan yang diinginkan. Kamu berlatih Cloud & IT Cert Prep dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Cloud & IT Cert Prep?
Tidak diperlukan pengalaman sebelumnya. Cloud & IT Cert Prep di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Templat Peluncuran dan Konfigurasi ASG” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Cloud & IT Cert Prep ini?
Ya. Setiap pelajaran Cloud & IT Cert Prep menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Templat Peluncuran dan Konfigurasi ASG
- Kebijakan Penskalaan: Pelacakan Target dan Penskalaan Bertahap
- Penskalaan Terjadwal dan Prediktif
- Penyegaran Instans dan Kait Siklus Hidup