Bagikan melalui


Tutorial: Membuat dan Mengelola VM Linux dengan Azure CLI

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

Di bawah ini, kami mendeklarasikan variabel lingkungan. Akhiran acak ditambahkan ke nama sumber daya yang perlu unik untuk setiap penyebaran.

export RANDOM_SUFFIX=$(openssl rand -hex 3)
export REGION="eastus2"
export MY_RESOURCE_GROUP_NAME="myResourceGroupVM$RANDOM_SUFFIX"
az group create --name $MY_RESOURCE_GROUP_NAME --location $REGION

Hasil:

{
  "id": "/subscriptions/xxxxx-xxxxx-xxxxx-xxxxx/resourceGroups/myResourceGroupVMxxx",
  "location": "eastus2",
  "name": "myResourceGroupVMxxx",
  "properties": {
    "provisioningState": "Succeeded"
  }
}

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.

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

Membuat komputer virtual

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).

export MY_VM_NAME="myVM$RANDOM_SUFFIX"
az vm create \
    --resource-group $MY_RESOURCE_GROUP_NAME \
    --name $MY_VM_NAME \
    --image SuseSles15SP5 \
    --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/xxxxx-xxxxx-xxxxx-xxxxx/resourceGroups/myResourceGroupVMxxx/providers/Microsoft.Compute/virtualMachines/myVMxxx",
  "location": "eastus2",
  "macAddress": "00-0D-3A-23-9A-49",
  "powerState": "VM running",
  "privateIpAddress": "10.0.0.4",
  "publicIpAddress": "52.174.34.95",
  "resourceGroup": "myResourceGroupVMxxx"
}

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.

Untuk menyambungkan ke VM, pertama-tama ambil alamat IP publik menggunakan Azure CLI. Jalankan perintah berikut untuk menyimpan alamat IP dalam variabel: export IP_ADDRESS=$(az vm show --show-details --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --query publicIps --output tsv)

Setelah Anda memiliki alamat IP, gunakan SSH untuk menyambungkan ke VM. Perintah berikut terhubung ke VM menggunakan akun azureuser dan alamat IP yang diambil: ssh -o StrictHostKeyChecking=no azureuser@$IP_ADDRESS

Memahami gambar VM

Marketplace Azure mencakup banyak gambar yang dapat digunakan untuk membuat VM. Pada langkah-langkah sebelumnya, komputer virtual dibuat menggunakan gambar SUSE. Dalam langkah ini, Azure CLI digunakan untuk mencari citra Ubuntu di marketplace, yang kemudian digunakan untuk mengaktifkan mesin virtual kedua.

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

az vm image list --output table

Hasil perintah mengembalikan gambar VM paling populer di Azure.

Architecture    Offer                         Publisher               Sku                                 Urn                                                                             UrnAlias                 Version
--------------  ----------------------------  ----------------------  ----------------------------------  ------------------------------------------------------------------------------  -----------------------  ---------
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             0001-com-ubuntu-server-jammy  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 menyaring semua gambar yang diterbitkan oleh OpenLogic dengan penawaran yang cocok dengan 0001-com-ubuntu-server-jammy.

az vm image list --offer 0001-com-ubuntu-server-jammy --publisher Canonical --all --output table

Contoh output parsial:

Architecture    Offer                              Publisher    Sku              Urn                                                                       Version
--------------  ---------------------------------  -----------  ---------------  ------------------------------------------------------------------------  ---------------
x64             0001-com-ubuntu-server-jammy       Canonical    22_04-lts        Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202204200          22.04.202204200
x64             0001-com-ubuntu-server-jammy       Canonical    22_04-lts        Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202205060          22.04.202205060
x64             0001-com-ubuntu-server-jammy       Canonical    22_04-lts        Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202205280          22.04.202205280
x64             0001-com-ubuntu-server-jammy       Canonical    22_04-lts        Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206040          22.04.202206040
x64             0001-com-ubuntu-server-jammy       Canonical    22_04-lts        Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206090          22.04.202206090
x64             0001-com-ubuntu-server-jammy       Canonical    22_04-lts        Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206160          22.04.202206160
x64             0001-com-ubuntu-server-jammy       Canonical    22_04-lts        Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206220          22.04.202206220
x64             0001-com-ubuntu-server-jammy       Canonical    22_04-lts        Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202207060          22.04.202207060

Nota

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 citra tertentu, perhatikan nilai di kolom Urn yang terdiri dari penerbit, penawaran, SKU, dan opsional nomor versi untuk mengidentifikasi citra. 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 Ubuntu 22.04.

export MY_VM2_NAME="myVM2$RANDOM_SUFFIX"
az vm create --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM2_NAME --image Canonical:0001-com-ubuntu-server-jammy:22_04-lts: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 Rasio CPU-ke-memori yang Seimbang. Ideal untuk pengembangan/pengujian serta solusi data dan aplikasi tingkat kecil hingga menengah.
komputasi yang dioptimalkan Rasio CPU terhadap memori tinggi. Baik untuk aplikasi dengan lalu lintas menengah, perangkat jaringan, dan pemroses batch.
Memori Dioptimalkan Rasio Memori-ke-Inti Tinggi. Sangat cocok untuk database relasional, cache sedang hingga besar, dan analitik dalam memori.
Dioptimalkan untuk penyimpanan Throughput disk dan IO 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 $REGION --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 tidak disediakan sehingga menghasilkan ukuran default. Ukuran VM dapat dipilih pada waktu pembuatan menggunakan az vm create dan parameter --size.

export MY_VM3_NAME="myVM3$RANDOM_SUFFIX"
az vm create \
    --resource-group $MY_RESOURCE_GROUP_NAME \
    --name $MY_VM3_NAME \
    --image SuseSles15SP5 \
    --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 $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --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 $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --query [].name

Jika ukuran yang diinginkan tersedia, VM dapat diubah ukurannya dari status aktif, meskipun akan di-boot ulang selama operasi. Gunakan perintah az vm resize untuk melakukan pengubahan ukuran.

az vm resize --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --size Standard_D4s_v3

Jika ukuran yang diinginkan tidak tersedia pada kluster saat ini, VM perlu dibatalkan alokasinya sebelum operasi pengubahan ukuran dapat terjadi. Gunakan perintah az vm deallocate untuk menghentikan dan melepaskan alokasi VM. Perhatikan bahwa ketika VM diaktifkan kembali, data apa pun pada disk sementara dapat dihapus. Alamat IP publik juga berubah kecuali alamat IP statis sedang digunakan. Setelah dibebaskan, pengubahan ukuran dapat terjadi.

Setelah mengubah ukuran, VM dapat dimulai.

az vm start --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME

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

Keadaan Daya Deskripsi
Mulai Menunjukkan komputer virtual sedang dimulai.
Berlari Menunjukkan bahwa mesin virtual sedang berjalan.
Berhenti 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 mesin virtual sedang dilepas.
Dibatalkan alokasinya 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 mesin virtual tidak diketahui.

Temukan kondisi 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 $MY_VM_NAME \
    --resource-group $MY_RESOURCE_GROUP_NAME \
    --query instanceView.statuses[1] --output table

Keluaran:

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

Untuk mengambil status daya semua VM 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 $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --output table

Menghentikan mesin virtual

az vm stop --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME

Mulai menggunakan komputer virtual

az vm start --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME

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.

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.