Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: ✔️ Mesin Virtual Linux ✔️ Set skala fleksibel
Fitur Jalankan Perintah menggunakan agen komputer virtual (VM) untuk menjalankan skrip shell dalam Azure Linux VM. Anda dapat menggunakan skrip ini untuk manajemen komputer umum atau aplikasi. Mereka dapat membantu Anda dengan cepat mendiagnosis dan memulihkan akses VM dan masalah jaringan dan membuat VM kembali ke keadaan yang baik.
Keuntungan
Anda dapat mengakses komputer virtual Anda dengan berbagai cara. Jalankan Perintah dapat menjalankan skrip di komputer virtual Anda dari jarak jauh dengan menggunakan agen VM. Anda menggunakan Jalankan Perintah melalui portal Microsoft Azure, REST API, atau Azure CLI untuk VM Linux.
Kemampuan ini berguna dalam semua skenario di mana Anda ingin menjalankan skrip dalam komputer virtual. Ini adalah satu-satunya cara untuk memecahkan masalah dan memulihkan komputer virtual yang tidak membuka port RDP atau SSH karena konfigurasi pengguna jaringan atau administratif.
Prasyarat
Linux Distro didukung
| Publisher | Distribusi | x64 | ARM64 |
|---|---|---|---|
| Komunitas Linux Alma | Alma Linux | 8.x+, 9.x+ | 8.x+, 9.x+ |
| Kreativitas | Debian | 10 tahun ke atas | 11.x+ |
| Kinvolk | Flatcar Linux | 3374.2.x+ | 3374.2.x+ |
| Microsoft | Azure Linux | 2.x | 2.x |
| Proyek openSUSE | openSUSE | 12.3+ | Tidak didukung |
| Oracle | Oracle Linux | 6.4+, 7.x+, 8.x+ | Tidak didukung |
| Red Hat | Red Hat Enterprise Linux | 6.7+, 7.x+, 8.x+, 9.x+, 10.x+ | 8.6+, 9.0+, 10.x+ |
| CIQ | Rocky Linux | 9.x+ | 9.x+ |
| SUSE | SLES | 12.x+, 15.x+ | 15.x SP4+ |
| Canonical | Ubuntu (rilis LTS) | 18.04+, 20.04+, 22.04+, 24.04+ | 20.04+, 22.04+, 24.04+ |
Pembatasan
Pembatasan berikut berlaku saat Anda menggunakan Jalankan Perintah:
- Output dibatasi hingga 4.096 byte terakhir.
- Waktu minimum untuk menjalankan skrip adalah sekitar 20 detik.
- Skrip berjalan secara default sebagai pengguna yang ditingkatkan di Linux.
- Anda dapat menjalankan satu skrip pada satu waktu.
- Skrip yang meminta informasi (mode interaktif) tidak didukung.
- Anda tidak dapat membatalkan skrip yang sedang berjalan.
- Waktu maksimum skrip dapat berjalan adalah 90 menit. Setelah itu, skrip akan kehabisan waktu.
- Konektivitas keluar dari VM diperlukan untuk mengembalikan hasil skrip.
Nota
Agar berfungsi dengan benar, Jalankan Perintah memerlukan konektivitas (port 443) ke alamat IP publik Azure. Jika ekstensi tidak memiliki akses ke titik akhir ini, skrip mungkin berjalan dengan sukses tetapi tidak mengembalikan hasilnya. Jika Anda memblokir lalu lintas di komputer virtual, Anda dapat menggunakan tag layanan untuk mengizinkan lalu lintas ke alamat IP publik Azure dengan menggunakan AzureCloud tag .
Perintah yang tersedia
Tabel ini memperlihatkan daftar perintah yang tersedia untuk VM Linux. Anda dapat menggunakan perintah RunShellScript untuk menjalankan skrip kustom apa pun yang Anda inginkan. Saat Anda menggunakan Azure CLI atau PowerShell untuk menjalankan perintah, nilai yang Anda berikan untuk --command-id parameter atau -CommandId harus menjadi salah satu nilai yang tercantum berikut ini. Saat Anda menentukan nilai yang bukan perintah yang tersedia, Anda menerima kesalahan ini:
The entity was not found in this Azure location
| Nama | Deskripsi | Info Selengkapnya |
|---|---|---|
| RunShellScript | Menjalankan skrip shell Linux. | |
| ifconfig | Mendapatkan konfigurasi semua antarmuka jaringan. | readme |
Azure CLI (antarmuka baris perintah Azure)
Contoh berikut menggunakan perintah az vm run-command untuk menjalankan skrip shell pada VM Linux Azure.
az vm run-command invoke -g myResourceGroup -n myVm --command-id RunShellScript --scripts "apt-get update && apt-get install -y nginx"
Nota
Untuk menjalankan perintah sebagai pengguna lain, masukkan sudo -u untuk menentukan akun pengguna.
portal Azure
Buka VM di portal Microsoft Azure dan pilih Jalankan perintah di menu sebelah kiri, di bawah Operasi. Anda melihat daftar perintah yang tersedia untuk dijalankan pada VM.
Pilih perintah untuk dijalankan. Beberapa perintah mungkin memiliki parameter input opsional atau diperlukan. Untuk perintah tersebut, parameter disajikan sebagai bidang teks bagi Anda untuk memberikan nilai input. Untuk setiap perintah, Anda dapat melihat skrip yang sedang dijalankan dengan memperluas Tampilkan skrip. RunShellScript berbeda dari perintah lain, karena memungkinkan Anda untuk menyediakan skrip kustom Anda sendiri.
Nota
Perintah bawaan tidak dapat diedit.
Setelah Anda memilih perintah, pilih Jalankan untuk menjalankan skrip. Setelah skrip selesai, skrip mengembalikan output dan kesalahan apa pun di jendela output. Cuplikan layar berikut menunjukkan contoh output dari menjalankan perintah ifconfig .
PowerShell
Contoh berikut menggunakan cmdlet Invoke-AzVMRunCommand untuk menjalankan skrip PowerShell pada Azure VM. Cmdlet mengharapkan skrip yang dirujuk dalam -ScriptPath parameter menjadi lokal tempat cmdlet dijalankan.
Invoke-AzVMRunCommand -ResourceGroupName '<myResourceGroup>' -Name '<myVMName>' -CommandId 'RunShellScript' -ScriptPath '<pathToScript>' -Parameter @{"arg1" = "var1";"arg2" = "var2"}
Membatasi akses ke Jalankan Perintah
Mencantumkan perintah jalankan atau memperlihatkan detail perintah memerlukan Microsoft.Compute/locations/runCommands/read izin pada tingkat Langganan. Peran Pembaca bawaan dan tingkat yang lebih tinggi memiliki izin ini.
Menjalankan perintah memerlukan Microsoft.Compute/virtualMachines/runCommands/write izin. Peran Kontributor Komputer Virtual dan tingkat yang lebih tinggi memiliki izin ini.
Anda dapat menggunakan salah satu peran bawaan atau membuat peran kustom untuk menggunakan Jalankan Perintah.
Pemecahan masalah Action Run Command Linux
Saat memecahkan masalah perintah eksekusi tindakan untuk lingkungan Linux, lihat file log handler yang biasanya terletak di direktori berikut: /var/log/azure/run-command/handler.log untuk detail lebih lanjut.
Masalah yang diketahui
Log perintah eksekusi tindakan Linux memiliki beberapa perbedaan penting dibandingkan dengan perintah eksekusi tindakan log Windows:
- Nomor urut dilaporkan dengan setiap baris log sebagai 'seq=#'
- Tidak akan ada baris yang berisi
Awaiting completion...karena ini akan dalam tindakan menjalankan perintah Windows saja. - Baris
Command existed with code: #ini juga hanya ada dalam perintah eksekusi tindakan pengelogan Windows.
Penghapusan Perintah Eksekusi Tindakan
Jika perlu menghapus ekstensi Linux perintah eksekusi tindakan Anda, lihat langkah-langkah di bawah ini untuk Azure PowerShell dan CLI:
Ganti rgname dan vmname dengan nama grup sumber daya dan nama komputer virtual yang relevan dalam contoh penghapusan berikut.
Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -VMName 'vmname' -CommandId 'RemoveRunCommandLinuxExtension'
az vm run-command invoke --command-id RemoveRunCommandLinuxExtension --name vmname -g rgname
Nota
Saat Anda menerapkan Perintah Jalankan lagi, ekstensi akan diinstal secara otomatis. Anda dapat menggunakan perintah penghapusan ekstensi untuk memecahkan masalah apa pun yang terkait dengan ekstensi.
Langkah selanjutnya
Untuk mempelajari tentang cara lain untuk menjalankan skrip dan perintah dari jarak jauh di VM Anda, lihat Menjalankan skrip di VM Linux Anda.