Jalankan skrip Shell atau PowerShell pada beberapa Instance ECS tanpa login.
Perintah dijalankan dengan izin dari pengguna yang ditentukan. Gunakan pengguna non-root sesuai prinsip hak istimewa minimal untuk meminimalkan risiko keamanan.
Prasyarat
Pastikan hal berikut:
-
Cloud Assistant Agent telah diinstal pada instans target Anda.
-
Instans target berada dalam status Running dan memiliki konektivitas jaringan.
-
Pengguna yang menjalankan memiliki izin baca, tulis, dan eksekusi pada file dan direktori terkait.
Prosedur
Konsol
-
Pada bilah navigasi atas, pilih wilayah dan kelompok sumber daya.

-
Di pojok kanan atas halaman ECS Cloud Assistant, klik Create/Run Command.
-
Pada bagian Command Information, konfigurasikan hal berikut:
-
Command content: Tempel atau ketik skrip Anda.
Untuk menggunakan nilai dinamis, aktifkan Use Parameters dan tambahkan parameter dalam format
{{parameter}}:-
Custom Parameters: Didefinisikan dalam format
{{parameter}}. Tetapkan nilainya secara manual saat menjalankan perintah. -
Built-in parameters: Disediakan oleh Cloud Assistant dan diganti saat waktu proses — contohnya,
{{ACS::RegionId}}(ID wilayah) dan{{ACS::InstanceId}}(ID instans).
#!/bin/bash # {{name}} adalah parameter kustom — tetapkan nilainya saat menjalankan. echo {{name}} # {{ACS::RegionId}} adalah parameter bawaan — tidak perlu menetapkan nilai. echo {{ACS::RegionId}}Note: Batas muatan perintah yang diencode Base64: 18 KB untuk Run And Save, 24 KB untuk Run.
-
-
Execution Plan: Pilih kapan perintah akan dijalankan.
-
*(Default)* Segera.
-
Perform Only Dry Run: Memvalidasi parameter permintaan, lingkungan instans, dan status Cloud Assistant Agent tanpa menjalankan perintah.
-
Run on Schedule:
-
Run at Fixed Interval: Dijalankan pada interval tetap yang ditentukan oleh ekspresi laju. Harus antara 60 detik hingga 7 hari, dan lebih lama daripada timeout perintah.
-
Run on Clock-based Schedule: Menggunakan ekspresi cron untuk penjadwalan fleksibel.
-
-
-
Username: Default-nya adalah
root(Linux) atauSystem(Windows). -
Execution Path: Direktori kerja skrip. Default-nya adalah
/root(Linux) atauC:\Windows\system32(Windows). Untuk mengubah direktori, tambahkan perintahcddi awal skrip. -
Timeout: Default-nya 60 detik. Rentang valid: 10–86.400 detik (24 jam).
-
Task Stop Scope: Apa yang dihentikan saat tugas dihentikan.
-
Command Process: Menghentikan hanya proses skrip.
-
Command Process Tree: Menghentikan proses skrip dan semua proses anaknya.
-
-
-
Pada bagian Select Instance atau Select Managed Instances, pilih instans target.
Pilih hingga 100 instans per eksekusi. Jika instans yang diharapkan tidak muncul, pastikan Cloud Assistant Agent telah diinstal dan instans berada dalam status Running.
-
Klik Run and Save atau Run untuk memulai.
CLI
Semua contoh menggunakan aliyun ecs RunCommand. Untuk referensi lengkap parameter, lihat RunCommand.
-
Langkah 1: Encode skrip Anda
RunCommandmenerimaCommandContentsebagai teks biasa atau konten yang diencode Base64. Untuk menggunakan encoding Base64, aturContentEncodingkeBase64dan encode skrip Anda terlebih dahulu:Linux / macOS
# Gunakan -n untuk menghindari encoding newline di akhir echo -n "hello world" | base64 # Output: aGVsbG8gd29ybGQ=Windows (PowerShell)
[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("hello world")) # Output: aGVsbG8gd29ybGQ= -
Langkah 2: Jalankan perintah
Jalankan pada satu instans
# Nilai "yum -y update" yang diencode Base64 adalah "eXVtIC15IHVwZGF0ZQ==" aliyun ecs RunCommand --RegionId 'cn-hangzhou' \ --Type 'RunShellScript' \ --ContentEncoding 'Base64' \ --CommandContent 'eXVtIC15IHVwZGF0ZQ==' \ --InstanceId.1 'i-bp1************de01'Jalankan pada beberapa instans
Tentukan beberapa instans dengan
--InstanceId.N:aliyun ecs RunCommand --RegionId 'cn-hangzhou' \ --Type 'RunShellScript' \ --ContentEncoding 'Base64' \ --CommandContent 'eXVtIC15IHVwZGF0ZQ==' \ --InstanceId.1 'i-bp1************de01' \ --InstanceId.2 'i-bp1************de02' \ --InstanceId.3 'i-bp1************de03'Jalankan sesuai jadwal (cron)
# Jalankan pukul 12:00 siang setiap hari pada tahun 2024, zona waktu Asia/Shanghai aliyun ecs RunCommand --RegionId 'cn-hangzhou' \ --Type 'RunShellScript' \ --ContentEncoding 'Base64' \ --CommandContent 'eXVtIC15IHVwZGF0ZQ==' \ --RepeatMode 'Period' \ --Frequency '0 0 12 * * ? 2024 Asia/Shanghai' \ --InstanceId.1 'i-bp1************de01' -
Langkah 3: Periksa hasilnya
RunCommandmengembalikanInvokeId. Kueri hasil eksekusi dengan:# Ganti <invoke_id> dengan InvokeId Anda aliyun ecs DescribeInvocationResults --RegionId 'cn-hangzhou' --InvokeId '<invoke_id>'Lihat DescribeInvocationResults untuk detail parameter.
Dalam tanggapan, periksa:
-
Output: output standar (STDOUT) skrip -
ErrorInfodanErrorMsg: detail kesalahan
-
Batasan
-
Maksimum instans per eksekusi: 100. Untuk menaikkan batas ini, lihat Manage quotas.
-
Maksimum perintah tersimpan per wilayah: 500 secara default. Perintah yang dijalankan tanpa disimpan tidak diperhitungkan terhadap kuota ini. Untuk menaikkan batas ini, lihat Manage quotas.
-
Beberapa fitur lanjutan memerlukan versi Cloud Assistant Agent tertentu. Lihat Features and versions.
-
Muatan perintah yang diencode Base64: maksimal 18 KB (Run And Save) atau 24 KB (Run).
-
Rentang timeout: 10–86.400 detik. Jadwal interval tetap harus minimal 60 detik dan lebih lama daripada timeout perintah.
Penerapan di produksi
Gunakan idempotensi untuk panggilan CLI/SDK
Atur ClientToken ke memastikan idempotensi saat memanggil RunCommand melalui CLI atau SDK. Hal ini mencegah eksekusi duplikat akibat retry jaringan.
Siapkan pemantauan dan notifikasi
Berlangganan event Cloud Assistant melalui EventBridge atau CloudMonitor untuk menerima notifikasi saat perintah gagal. Deteksi dini mengurangi waktu resolusi.
FAQ
Bagaimana cara memeriksa versi Cloud Assistant Agent pada suatu instans?
Periksa dari konsol atau dengan login ke instans tersebut. Lihat Install Cloud Assistant Agent.
Untuk tugas terjadwal dengan interval tetap, apakah tugas tersebut langsung dijalankan setelah dibuat?
Tidak. Eksekusi pertama terjadi setelah interval pertama berlalu. Misalnya, tugas yang dibuat pukul 10.00 dengan interval 10 menit pertama kali dijalankan pukul 10.10.
Perintah saya gagal. Bagaimana cara troubleshooting-nya?
Periksa log Output pada halaman hasil eksekusi — pesan kesalahan biasanya ada di sana. Kemudian:
-
Pastikan pengguna yang menjalankan memiliki izin baca, tulis, dan eksekusi pada file dan direktori terkait.
-
Uji skrip dengan menjalankannya secara manual pada instans.
-
Pastikan instans berada dalam status Running dan memiliki konektivitas jaringan.
-
Jika kesalahannya adalah
ClientNeedUpgrade, upgrade Cloud Assistant Agent.
Lihat Check execution results and troubleshoot common issues untuk referensi troubleshooting lengkap.
Langkah selanjutnya
-
Features and versions — periksa fitur mana yang memerlukan versi agen tertentu
-
Manage quotas — naikkan kuota instans atau perintah tersimpan
-
Subscribe to Cloud Assistant events — siapkan notifikasi kegagalan melalui EventBridge atau CloudMonitor