Tutorial: Membuat dan Mengelola VM Linux dengan Azure CLI

Perhatian

Artikel ini mereferensikan CentOS, distribusi Linux yang mendekati status End Of Life (EOL). Harap pertimbangkan penggunaan dan rencanakan yang sesuai. Untuk informasi selengkapnya, lihat panduan Akhir Masa Pakai CentOS.

Berlaku untuk: ✔️ Mesin Virtual Linux ✔️ Set skala fleksibel

Komputer virtual Azure menyediakan lingkungan komputasi yang dapat dikonfigurasi sepenuhnya dan fleksibel. Tutorial ini mencakup item penyebaran komputer virtual Azure dasar seperti memilih ukuran VM, memilih gambar VM, dan menyebarkan VM. Anda akan mempelajari cara untuk:

  • Membuat dan terhubung ke VM
  • Memilih dan menggunakan citra VM
  • Melihat dan menggunakan ukuran VM tertentu
  • Mengubah ukuran VM
  • Melihat dan memahami status VM

Tutorial ini menggunakan CLI dalam Azure Cloud Shell, yang terus diperbarui ke versi terkini.

Jika Anda memilih untuk menginstal dan menggunakan CLI secara lokal, tutorial ini mengharuskan Anda menjalankan Azure CLI versi 2.0.30 atau versi lebih baru. Jalankan az --version untuk menemukan versinya. Jika Anda perlu memasang atau meningkatkan, lihat Memasang Azure CLI.

Buat grup sumber daya

Buat grup sumber daya dengan perintah az group create.

Grup sumber daya Azure adalah kontainer logis tempat sumber daya Azure disebarkan dan dikelola. Grup sumber daya harus dibuat sebelum pembuatan komputer virtual. Dalam contoh ini, grup sumber daya bernama myResourceGroupVM dibuat di wilayah eastus2.

az group create --name myResourceGroupVM --location eastus2

Grup sumber daya ditentukan saat membuat atau memodifikasi VM, yang dapat dilihat di seluruh tutorial ini.

Membuat komputer virtual

Buat komputer virtual dengan perintah az vm create.

Saat membuat komputer virtual, tersedia beberapa opsi seperti gambar sistem operasi, ukuran disk, dan kredensial administratif. Contoh berikut membuat VM bernama myVM yang menjalankan SUSE Linux Enterprise Server (SLES). Akun pengguna bernama azureuser dibuat pada VM, dan kunci SSH dihasilkan jika tidak ada di lokasi kunci default (~/.ssh):

az vm create \
    --resource-group myResourceGroupVM \
    --name myVM \
    --image SuseSles15SP3 \
    --public-ip-sku Standard \
    --admin-username azureuser \
    --generate-ssh-keys

Mungkin perlu waktu beberapa menit untuk membuat VM. Setelah VM dibuat, Azure CLI mengeluarkan informasi tentang VM. Perhatikan publicIpAddress, alamat ini dapat digunakan untuk mengakses komputer virtual.

{
  "fqdns": "",
  "id": "/subscriptions/d5b9d4b7-6fc1-0000-0000-000000000000/resourceGroups/myResourceGroupVM/providers/Microsoft.Compute/virtualMachines/myVM",
  "location": "eastus2",
  "macAddress": "00-0D-3A-23-9A-49",
  "powerState": "VM running",
  "privateIpAddress": "10.0.0.4",
  "publicIpAddress": "52.174.34.95",
  "resourceGroup": "myResourceGroupVM"
}

Terhubung ke VM

Sekarang Anda dapat menyambungkan ke VM dengan SSH di Azure Cloud Shell atau dari komputer lokal Anda. Ganti contoh alamat IP dengan publicIpAddress yang dicatat di langkah sebelumnya.

ssh azureuser@52.174.34.95

Setelah masuk ke VM, Anda dapat menginstal dan mengonfigurasi aplikasi. Bila sudah selesai, Anda menutup sesi SSH seperti biasa:

exit

Memahami gambar VM

Marketplace Azure mencakup banyak gambar yang dapat digunakan untuk membuat VM. Pada langkah-langkah sebelumnya, komputer virtual dibuat menggunakan gambar Ubuntu. Dalam langkah ini, Azure CLI digunakan untuk mencari pasar untuk gambar CentOS, yang kemudian digunakan untuk menyebarkan komputer virtual kedua.

Untuk melihat daftar gambar paling umum digunakan, gunakan perintah az vm image list.

az vm image list --output table

Output perintah mengembalikan gambar VM paling populer di Azure.

Architecture    Offer                         Publisher               Sku                                 Urn                                                                             UrnAlias                 Version
--------------  ----------------------------  ----------------------  ----------------------------------  ------------------------------------------------------------------------------  -----------------------  ---------
x64             CentOS                        OpenLogic               7.5                                 OpenLogic:CentOS:7.5:latest                                                     CentOS                   latest
x64             debian-10                     Debian                  10                                  Debian:debian-10:10:latest                                                      Debian                   latest
x64             flatcar-container-linux-free  kinvolk                 stable                              kinvolk:flatcar-container-linux-free:stable:latest                              Flatcar                  latest
x64             opensuse-leap-15-3            SUSE                    gen2                                SUSE:opensuse-leap-15-3:gen2:latest                                             openSUSE-Leap            latest
x64             RHEL                          RedHat                  7-LVM                               RedHat:RHEL:7-LVM:latest                                                        RHEL                     latest
x64             sles-15-sp3                   SUSE                    gen2                                SUSE:sles-15-sp3:gen2:latest                                                    SLES                     latest
x64             UbuntuServer                  Canonical               18.04-LTS                           Canonical:UbuntuServer:18.04-LTS:latest                                         UbuntuLTS                latest
x64             WindowsServer                 MicrosoftWindowsServer  2022-Datacenter                     MicrosoftWindowsServer:WindowsServer:2022-Datacenter:latest                     Win2022Datacenter        latest
x64             WindowsServer                 MicrosoftWindowsServer  2022-datacenter-azure-edition-core  MicrosoftWindowsServer:WindowsServer:2022-datacenter-azure-edition-core:latest  Win2022AzureEditionCore  latest
x64             WindowsServer                 MicrosoftWindowsServer  2019-Datacenter                     MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest                     Win2019Datacenter        latest
x64             WindowsServer                 MicrosoftWindowsServer  2016-Datacenter                     MicrosoftWindowsServer:WindowsServer:2016-Datacenter:latest                     Win2016Datacenter        latest
x64             WindowsServer                 MicrosoftWindowsServer  2012-R2-Datacenter                  MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest                  Win2012R2Datacenter      latest
x64             WindowsServer                 MicrosoftWindowsServer  2012-Datacenter                     MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest                     Win2012Datacenter        latest
x64             WindowsServer                 MicrosoftWindowsServer  2008-R2-SP1                         MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:latest                         Win2008R2SP1             latest

Daftar lengkap dapat dilihat dengan menambahkan parameter --all. Daftar citra juga dapat difilter menurut --publisher atau –-offer. Dalam contoh ini, daftar difilter untuk semua gambar, diterbitkan oleh OpenLogic, dengan penawaran yang cocok dengan CentOS.

az vm image list --offer CentOS --publisher OpenLogic --all --output table

Contoh output parsial:

Architecture    Offer                      Publisher    Sku              Urn                                                       Version
--------------  -------------------------  -----------  ---------------  --------------------------------------------------------  ---------------
x64             CentOS                     OpenLogic    8_2              OpenLogic:CentOS:8_2:8.2.2020111800                       8.2.2020111800
x64             CentOS                     OpenLogic    8_2-gen2         OpenLogic:CentOS:8_2-gen2:8.2.2020062401                  8.2.2020062401
x64             CentOS                     OpenLogic    8_2-gen2         OpenLogic:CentOS:8_2-gen2:8.2.2020100601                  8.2.2020100601
x64             CentOS                     OpenLogic    8_2-gen2         OpenLogic:CentOS:8_2-gen2:8.2.2020111801                  8.2.2020111801
x64             CentOS                     OpenLogic    8_3              OpenLogic:CentOS:8_3:8.3.2020120900                       8.3.2020120900
x64             CentOS                     OpenLogic    8_3              OpenLogic:CentOS:8_3:8.3.2021020400                       8.3.2021020400
x64             CentOS                     OpenLogic    8_3-gen2         OpenLogic:CentOS:8_3-gen2:8.3.2020120901                  8.3.2020120901
x64             CentOS                     OpenLogic    8_3-gen2         OpenLogic:CentOS:8_3-gen2:8.3.2021020401                  8.3.2021020401
x64             CentOS                     OpenLogic    8_4              OpenLogic:CentOS:8_4:8.4.2021071900                       8.4.2021071900
x64             CentOS                     OpenLogic    8_4-gen2         OpenLogic:CentOS:8_4-gen2:8.4.2021071901                  8.4.2021071901
x64             CentOS                     OpenLogic    8_5              OpenLogic:CentOS:8_5:8.5.2022012100                       8.5.2022012100
x64             CentOS                     OpenLogic    8_5              OpenLogic:CentOS:8_5:8.5.2022101800                       8.5.2022101800
x64             CentOS                     OpenLogic    8_5-gen2         OpenLogic:CentOS:8_5-gen2:8.5.2022012101                  8.5.2022012101

Catatan

Canonical telah mengubah nama Penawaran yang mereka gunakan untuk versi terbaru. Sebelum Ubuntu 20.04, nama Penawaran adalah UbuntuServer. Untuk Ubuntu 20.04 nama Penawaran adalah 0001-com-ubuntu-server-focal dan untuk Ubuntu 22.04 itu 0001-com-ubuntu-server-jammy.

Untuk menerapkan VM menggunakan gambar tertentu, perhatikan nilai di kolom Um yang terdiri dari penerbit, penawaran, SKU, dan opsional nomor versi untuk mengidentifikasi gambar. Saat menentukan gambar, nomor versi gambar dapat diganti dengan latest, yang memilih versi distribusi terbaru. Dalam contoh ini, --image parameter digunakan untuk menentukan versi terbaru CentOS 8.5.

az vm create --resource-group myResourceGroupVM --name myVM2 --image OpenLogic:CentOS:8_5:latest --generate-ssh-keys

Memahami ukuran VM

Ukuran komputer virtual menentukan jumlah sumber daya komputasi seperti CPU, GPU, dan memori yang tersedia untuk komputer virtual. Komputer virtual harus berukuran tepat untuk beban kerja yang diharapkan. Jika beban kerja meningkat, komputer virtual yang ada dapat diubah ukurannya.

Ukuran VM

Tabel berikut mengategorikan ukuran ke dalam kasus penggunaan.

Tipe Deskripsi
Tujuan umum CPU-ke-memori yang Diseimbangkan. Ideal untuk pengembangan/pengujian serta solusi data dan aplikasi tingkat kecil hingga menengah.
Dioptimalkan untuk komputasi CPU-ke-memori tinggi. Baik untuk pemroses batch, appliance jaringan, dan aplikasi lalu lintas tingkat menengah.
Memori Dioptimalkan Memori-ke-inti tinggi. Sangat cocok untuk database relasional, cache sedang hingga besar, dan analitik dalam memori.
Penyimpanan dioptimalkan Throughput dan IO disk tinggi. Ideal untuk database Big Data, SQL, dan NoSQL.
GPU VM khusus ditargetkan untuk penyajian grafis berat dan pengeditan video.
Performa tinggi VM CPU kita yang paling kuat dengan antarmuka jaringan throughput tinggi opsional (RDMA).

Temukan ukuran VM yang tersedia

Untuk melihat daftar ukuran VM yang tersedia di wilayah tertentu, gunakan perintah az vm list-sizes.

az vm list-sizes --location eastus2 --output table

Contoh output parsial:

  MaxDataDiskCount    MemoryInMb  Name                      NumberOfCores    OsDiskSizeInMb    ResourceDiskSizeInMb
------------------  ------------  ----------------------  ---------------  ----------------  ----------------------
4                   8192          Standard_D2ds_v4           2                1047552           76800
8                   16384         Standard_D4ds_v4           4                1047552           153600
16                  32768         Standard_D8ds_v4           8                1047552           307200
32                  65536         Standard_D16ds_v4          16               1047552           614400
32                  131072        Standard_D32ds_v4          32               1047552           1228800
32                  196608        Standard_D48ds_v4          48               1047552           1843200
32                  262144        Standard_D64ds_v4          64               1047552           2457600
4                   8192          Standard_D2ds_v5           2                1047552           76800
8                   16384         Standard_D4ds_v5           4                1047552           153600
16                  32768         Standard_D8ds_v5           8                1047552           307200
32                  65536         Standard_D16ds_v5          16               1047552           614400
32                  131072        Standard_D32ds_v5          32               1047552           1228800
32                  196608        Standard_D48ds_v5          48               1047552           1843200
32                  262144        Standard_D64ds_v5          64               1047552           2457600
32                  393216        Standard_D96ds_v5          96               1047552           3686400

Membuat VM dengan ukuran tertentu

Dalam contoh pembuatan VM sebelumnya, ukuran yang menghasilkan ukuran default tidak disediakan. Ukuran VM dapat dipilih pada waktu pembuatan menggunakan az vm create dan parameter --size.

az vm create \
    --resource-group myResourceGroupVM \
    --name myVM3 \
    --image SuseSles15SP3 \
    --size Standard_D2ds_v4  \
    --generate-ssh-keys

Mengubah ukuran VM

Setelah VM disebarkan, VM dapat di mengubah ukurannya untuk meningkatkan atau mengurangi alokasi sumber daya. Anda dapat melihat ukuran VM saat ini dengan az vm show:

az vm show --resource-group myResourceGroupVM --name myVM --query hardwareProfile.vmSize

Sebelum mengubah ukuran VM, periksa apakah ukuran yang diinginkan tersedia pada klaster Azure saat ini. Perintah az vm list-vm-resize-options mengembalikan daftar ukuran.

az vm list-vm-resize-options --resource-group myResourceGroupVM --name myVM --query [].name

Jika ukuran yang diinginkan tersedia, VM dapat di mengubah ukurannya dari keadaan menyala, namun di-boot ulang selama operasi. Gunakan perintah az vm resize untuk melakukan pengubahan ukuran.

az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_D4s_v3

Jika ukuran yang diinginkan tidak ada pada klaster saat ini, VM perlu ditangani sebelum operasi pengubahan ukuran terjadi. Gunakan perintah az vm deallocate untuk menghentikan dan menangani VM. Perhatikan, ketika VM menyala kembali, data apa pun pada disk sementara dapat dihapus. Alamat IP publik juga berubah kecuali alamat IP statis sedang digunakan.

az vm deallocate --resource-group myResourceGroupVM --name myVM

Setelah ditangani, pengubahan ukuran dapat terjadi.

az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_GS1

Setelah mengubah ukuran, VM dapat dimulai.

az vm start --resource-group myResourceGroupVM --name myVM

Status daya VM

Azure VM dapat memiliki salah satu dari banyak keadaan daya. Status ini mewakili keadaan VM saat ini dari sudut pandang hypervisor.

Keadaan daya

Status Daya Deskripsi
Memulai Menunjukkan komputer virtual sedang dimulai.
Sedang berjalan Komputer virtual sedang berjalan.
Menghentikan Menunjukkan bahwa komputer virtual sedang dihentikan.
Dihentikan Menunjukkan bahwa komputer virtual dihentikan. Komputer virtual dalam keadaan berhenti masih dikenakan biaya komputasi.
Membatalkan alokasi Menunjukkan bahwa komputer virtual sedang ditangani.
Batal Dialokasikan Menunjukkan bahwa komputer virtual dikeluarkan dari hypervisor tetapi masih tersedia di bidang kontrol. Komputer virtual dalam status Deallocated tidak dikenakan biaya komputasi.
- Menunjukkan bahwa status daya komputer virtual tidak diketahui.

Temukan status daya

Untuk mengambil status VM tertentu, gunakan perintah az vm get-instance-view. Pastikan untuk menentukan nama yang sahih untuk komputer virtual dan grup sumber daya.

az vm get-instance-view \
    --name myVM \
    --resource-group myResourceGroupVM \
    --query instanceView.statuses[1] --output table

Output:

Code                Level    DisplayStatus
------------------  -------  ---------------
PowerState/running  Info     VM running

Untuk mengambil status daya semua komputer virtual dalam langganan Anda, gunakan Virtual Machines - Daftar Semua API dengan parameter statusOnly diatur ke true.

Tugas pengelolaan

Selama siklus komputer virtual, Anda mungkin ingin menjalankan tugas manajemen seperti memulai, menghentikan, atau menghapus komputer virtual. Selain itu, Anda mungkin ingin membuat skrip untuk mengotomatiskan tugas yang rumit atau berulang. Dengan Azure CLI, banyak tugas manajemen umum yang dapat dijalankan dari baris perintah atau di dalam skrip.

Mendapatkan alamat IP

Perintah ini mengembalikan alamat IP pribadi dan publik dari komputer virtual.

az vm list-ip-addresses --resource-group myResourceGroupVM --name myVM --output table

Menghentikan komputer virtual

az vm stop --resource-group myResourceGroupVM --name myVM

Mulai menggunakan komputer virtual

az vm start --resource-group myResourceGroupVM --name myVM

Menghapus sumber daya mesin virtual

Bergantung pada cara Anda menghapus VM, itu mungkin hanya menghapus sumber daya VM, bukan sumber daya jaringan dan disk. Anda dapat mengubah perilaku default untuk menghapus sumber daya lain saat Anda menghapus mesin virtual. Untuk informasi lebih lanjut, lihat Menghapus mesin virtual dan sumber daya terlampir.

Menghapus grup sumber daya juga menghapus semua sumber daya dalam grup sumber daya, seperti VM, jaringan virtual, dan disk. Parameter --no-wait mengembalikan kontrol ke permintaan tanpa menunggu operasi selesai. Parameter --yes mengonfirmasi bahwa Anda ingin menghapus sumber daya tanpa permintaan tambahan untuk melakukannya.

az group delete --name myResourceGroupVM --no-wait --yes

Langkah berikutnya

Dalam tutorial ini, Anda telah mempelajari pembuatan dan pengelolaan VM dasar seperti cara:

  • Membuat dan terhubung ke VM
  • Memilih dan menggunakan citra VM
  • Melihat dan menggunakan ukuran VM tertentu
  • Mengubah ukuran VM
  • Melihat dan memahami status VM

Lanjutkan ke tutorial berikutnya untuk mempelajari disk VM.