All Products
Search
Document Center

Auto Scaling:Gunakan fitur Instance User Data untuk mengonfigurasi instans ECS secara otomatis

Last Updated:Apr 02, 2026

Instance user data memungkinkan Auto Scaling menjalankan skrip pada setiap instans ECS baru saat boot pertama—tanpa perlu koneksi SSH manual atau langkah konfigurasi tambahan setelah peluncuran. Tutorial ini memandu Anda menulis skrip Shell, menyambungkannya ke konfigurasi penskalaan, dan memverifikasi hasilnya.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

Cara kerja instance user data

Auto Scaling meneruskan instance user data ke instans ECS baru saat boot pertama. cloud-init mengambil data tersebut dan menjalankannya secara otomatis, sehingga instans sudah sepenuhnya dikonfigurasi saat siap melayani lalu lintas. Dibandingkan dengan alat manajemen infrastruktur TI open-source seperti Terraform, fitur Instance User Data lebih efisien dan andal.

Tutorial ini menggunakan skrip Shell untuk mengonfigurasi YUM dan NTP pada instans CentOS. Pendekatan yang sama berlaku untuk tugas inisialisasi apa pun: menginstal paket, mengatur variabel lingkungan, atau mendaftarkan instans ke layanan eksternal.

Untuk referensi fitur lengkap, lihat Ikhtisar instance user data ECS. Instance user data berfungsi untuk instans Linux maupun Windows.

Catatan penggunaan

  • Grup penskalaan harus menggunakan VPC sebagai jenis jaringannya.

  • Instance user data harus di-encode dalam Base64.

  • Skrip hanya dijalankan sekali, yaitu saat instans pertama kali dinyalakan.

Peringatan

Instance user data ditransmisikan dalam teks biasa. Jangan sertakan kata sandi, kunci privat, atau informasi sensitif lainnya. Jika Anda harus mengirimkan data sensitif, enkripsi terlebih dahulu dan dekripsi di dalam instans.

Untuk konfigurasi berbasis API, kirimkan user data menggunakan parameter UserData dari CreateScalingConfiguration.

Anda dapat menggabungkan instance user data dengan pasangan kunci SSH, peran RAM, dan tag untuk manajemen instans yang lebih komprehensif. Lihat Konfigurasi parameter dalam konfigurasi penskalaan untuk menerapkan penyebaran otomatis.

Langkah 1: Siapkan instance user data

Buat skrip Shell yang mengonfigurasi setiap instans baru, lalu encode dalam Base64.

Batasan skrip

BatasanPersyaratan
FormatHarus diawali dengan #! (misalnya, #!/bin/sh)
UkuranTidak boleh melebihi 32 KB sebelum di-encode Base64
EksekusiDijalankan sekali, saat boot pertama
  1. Buat skrip Shell. Skrip berikut mengonfigurasi repositori paket YUM dan mengatur server NTP ke ntp1.aliyun.com:

    #!/bin/sh
    # Konfigurasi repositori YUM
    rm -rf /etc/yum.repos.d/*
    touch myrepo.repo
    echo "[base]" | tee /etc/yum.repos.d/myrepo.repo
    echo "name=myrepo" | tee -a /etc/yum.repos.d/myrepo.repo
    echo "baseurl=http://mirror.centos.org/centos" | tee -a /etc/yum.repos.d/myrepo.repo
    echo "gpgcheck=0" | tee -a /etc/yum.repos.d/myrepo.repo
    echo "enabled=1" | tee -a /etc/yum.repos.d/myrepo.repo
    yum update -y
    # Atur server NTP
    echo "server ntp1.aliyun.com" | tee /etc/ntp.conf
    systemctl restart ntpd.service
  2. Encode skrip tersebut dalam Base64. Output yang dihasilkan akan tampak seperti berikut:

    IyEvYmluL3NoCiMgTW9kaWZ5IHl1bSByZXBvIGFuZCB1cGRhdGUKcm0gLXJmIC9ldGMveXVtLnJlcG9zLmQvKgp0b3VjaCBteXJlcG8ucmVwbwplY2hvICJbYmFzZV0iIHwgdGVlIC9ldGMveXVtLnJlcG9zLmQvbXlyZXBvLnJlcG8KZWNobyAibmFtZT1teXJlcG8iIHwgdGVlIC1hIC9ldGMveXVtLnJlcG9zLmQvbXlyZXBvLnJlcG8KZWNobyAiYmFzZXVybD1odHRwOi8vbWlycm9yLmNlbnRvcy5vcmcvY2VudG9zIiB8IHRlZSAtYSAvZXRjL3l1bS5yZXBvcy5kL215cmVwby5yZXBvCmVjaG8gImdwZ2NoZWNrPTAiIHwgdGVlIC1hIC9ldGMveXVtLnJlcG9zLmQvbXlyZXBvLnJlcG8KZWNobyAiZW5hYmxlZD0xIiB8IHRlZSAtYSAvZXRjL3l1bS5yZXBvcy5kL215cmVwby5yZXBvCnl1bSB1cGRhdGUgLXkKIyBNb2RpZnkgTlRQIFNlcnZlcgplY2hvICJzZXJ2ZXIgbnRwMS5hbGl5dW4uY29tIiB8IHRlZSAvZXRjL250cC5jb25mCnN5c3RlbWN0bCByZXN0YXJ0IG50cGQuc2VydmljZQ==

    Simpan string ter-encode ini untuk Langkah 2.

Langkah 2: Buat dan aktifkan grup penskalaan

  1. Buat grup penskalaan. Untuk langkah-langkah detail, lihat Kelola grup penskalaan. Konfigurasikan parameter berikut: Setelah dibuat, grup penskalaan akan muncul di halaman Scaling Groups dengan status Disabled. Klik View Details di kolom Actions untuk melihat detailnya.

    ParameterNilai untuk tutorial ini
    Minimum Number of Instances1
    Instance Configuration SourceCreate from Scratch
    Network TypeVPC
    VPCPilih VPC yang sudah ada
    Select vSwitchPilih vSwitch di VPC tersebut
  2. Buat dan aktifkan konfigurasi penskalaan. Untuk langkah-langkah detail, lihat Buat konfigurasi penskalaan untuk grup penskalaan yang berisi instans ECS. Konfigurasikan parameter berikut:

    BagianParameterNilai untuk tutorial ini
    Instance and ImageSelect ImagePilih CentOS 7.9 64-bit dari Public Image
    Management ConfigurationLogon CredentialsKey Pair
    Management ConfigurationKey PairPilih pasangan kunci yang sudah ada. Untuk membuatnya, lihat Buat pasangan kunci SSH
    Advanced SettingsInstance User DataMasukkan skrip instance user data yang disiapkan di Langkah 1
  3. Aktifkan grup penskalaan. Untuk langkah-langkah detail, lihat Aktifkan grup penskalaan.

Langkah 3: Verifikasi konfigurasi instans

Karena Minimum Number of Instances diatur ke 1, Auto Scaling akan membuat satu instans ECS segera setelah Anda mengaktifkan grup penskalaan.

  1. Periksa aktivitas penskalaan. Di detail grup penskalaan, buka daftar aktivitas penskalaan. Pastikan satu instans ECS telah dibuat. Untuk detailnya, lihat Lihat detail aktivitas penskalaan.

  2. Login ke instans ECS. Untuk instans Linux, hubungkan menggunakan pasangan kunci SSH Anda. Lihat Hubungkan ke instans Linux menggunakan pasangan kunci SSH.

    Jika Anda mengatur kata sandi logon atau mengaitkan pasangan kunci dengan instans, Anda juga dapat menggunakan Workbench. Lihat Hubungkan ke instans Linux menggunakan password atau kunci.
  3. Periksa status layanan. Gambar berikut menunjukkan bahwa layanan YUM dan NTP telah diaktifkan. Hal ini mengonfirmasi bahwa instance user data yang dikonfigurasi dalam konfigurasi penskalaan telah berlaku. 服务状态

Langkah selanjutnya