Cheat sheet Azure CLI ini sangat cocok bagi kamu yang ingin belajar, berlatih, dan menguasai berbagai perintah Azure CLI untuk mengelola resource di Azure secara efisien.
Getting Help #
# Menampilkan versi Azure CLI
az --version
# Menampilkan semua grup perintah Azure CLI
az
# Mendapatkan bantuan untuk suatu perintah
az <command> --help # Contoh: az cache --help
# Mencari perintah yang sesuai
az find "az role" # Menampilkan sub-perintah umum yang digunakan dengan 'az role'
# Rekomendasi perintah berikutnya berdasarkan perintah terakhir
az next # Menyarankan perintah selanjutnya yang bisa dijalankan
Logging In #
# Login ke Azure menggunakan autentikasi melalui browser
az login
# Login ke Azure melalui terminal dengan kredensial
az login -u [email protected] -p Secret
# Login ke Azure dengan autentikasi dua faktor (menggunakan terminal dan browser)
az login --use-device-code
Account Management #
# Menampilkan daftar langganan (subscriptions) pada akun yang sedang login
az account list
# Menampilkan daftar langganan untuk tenant tertentu
az account subscription list
# Menampilkan daftar wilayah yang didukung
az account list-locations -o table
# Mengatur subscription aktif yang akan digunakan
# Gunakan Subscription ID yang ditampilkan dari perintah sebelumnya
az account set --subscription 0ad021f2-9dde-4cb1-8aa4-d71018aaeec8
Resource Groups #
Untuk membuat Resource Group baru menggunakan Azure CLI, gunakan perintah berikut:
az group create --name <RESOURCE_GROUP> --location <REGION>
Penjelasan parameter:
--name: Nama Resource Group yang ingin Anda buat.--location: Lokasi (region) di mana Resource Group akan dibuat, misalnya"southeastasia"atau"westeurope".
Setelah membuat Resource Group, langkah umum selanjutnya adalah membuat Network Security Group (NSG) dan Virtual Network (VNet).
Untuk membuat NSG menggunakan Azure CLI, gunakan perintah berikut:
az network nsg create \
--resource-group <nama_resource_group> \
--name <nama_network_security_group>
Untuk menambahkan aturan ke NSG, gunakan perintah berikut:
az network nsg rule create \
--resource-group <nama_resource_group> \
--nsg-name <nama_network_security_group> \
--name <nama_aturan> \
--protocol <protokol> \
--priority <prioritas> \
--destination-port-range <rentang_port_tujuan> \
--access <akses> \
--direction <arah_lalu_lintas> \
--source-address-prefixes '*' \
--destination-address-prefixes '*'
Penjelasan Tiap Parameter:
--resource-group: Menentukan nama resource group tempat Network Security Group (NSG) berada.--nsg-name: Nama Network Security Group tempat rule akan ditambahkan.--name: Nama aturan yang akan dibuat.--protocol: Protokol yang digunakan untuk aturan ini. Bisa berupa *, Ah, Esp, Icmp, Tcp, Udp.--priority: Angka prioritas antara100hingga4096. Angka yang lebih kecil memiliki prioritas lebih tinggi.--destination-port-range: Port tujuan untuk aturan ini, misalnya80,443, atau rentang seperti1000-2000.--access: Tindakan yang diambil untuk lalu lintas yang cocok dengan aturan ini. NilainyaAllow(izinkan) atauDeny(tolak).--direction: Arah lalu lintas jaringan yang diatur. NilainyaInbound(masuk) atauOutbound(keluar).--source-address-prefixes: Daftar prefix alamat sumber yang diizinkan atau ditolak. Gunakan'*'untuk semua alamat sumber.--destination-address-prefixes: Daftar prefix alamat tujuan yang diizinkan atau ditolak. Gunakan'*'untuk semua alamat tujuan.
Untuk membuat VNet dan subnet yang terhubung ke NSG secara langsung, gunakan perintah berikut:
az network vnet create \
--name <nama_vnet> \
--resource-group <nama_resource_group> \
--location <lokasi> \
--address-prefix <prefix_alamat> \
--subnet-name <nama_subnet> \
--subnet-prefix <prefix_subnet> \
--network-security-group <nama_network_security_group>
# Menampilkan semua Resource Group yang berada di region Southeast Asia
az group list --query "[?location=='southeastasia']"
# Menghapus Resource Group
az group delete --name $resourceGroup --no-wait
# Menampilkan semua Network Security Group
az network nsg list
# Untuk menghapus Network Security Group
az network nsg delete --resource-group $resourceGroup --name <nama_network_security_group>
# Menampilkan semua Virtual Network
az network vnet list
# Untuk menghapus Virtual Network
az network vnet delete --resource-group $resourceGroup --name <nama_vnet>
# Untuk melihat resource yang telah dibuat dalam resource group
az resource list --resource-group $resourceGroup
Compute infrastructure #
Virtual machines #
Untuk membuat Virtual Machine (VM) baru di Azure menggunakan Azure CLI, Anda dapat menggunakan perintah berikut:
az vm create \
--resource-group $MY_RESOURCE_GROUP_NAME \
--name $MY_VM_NAME \
--vnet-name $VNET_NAME \
--subnet $SUBNET_NAME \
--nsg $NSG_NAME \
--image Ubuntu2404 \
--size Standard_B1s \
--storage-sku StandardSSD_LRS \
--admin-username azureuser \
--ssh-key-values @<path-ke-file-public-key> \
--security-type TrustedLaunch \
--enable-secure-boot true \
--enable-vtpm true
Penjelasan Parameter:
--resource-group $MY_RESOURCE_GROUP_NAME: Menentukan resource group tempat VM akan dibuat.--name $MY_VM_NAME: Menentukan nama VM yang akan dibuat.--vnet-name $VNET_NAME: Menentukan Virtual Network (VNet) tempat VM terhubung.--subnet $SUBNET_NAME: Menentukan subnet di dalam VNet untuk penempatan VM.--nsg $NSG_NAME: Menghubungkan Network Security Group (NSG) ke VM untuk mengatur aturan firewall (inbound/outbound traffic).--image Ubuntu2404: Menggunakan image sistem operasi Ubuntu 24.04 LTS.--size Standard_B1s: Menentukan spesifikasi VM (CPU, RAM, dll).Standard_B1s,Standard_B2sadalah tipe VM ekonomis.--storage-sku StandardSSD_LRS: Menggunakan tipe penyimpanan SSD standar dengan replikasi Locally Redundant Storage (LRS).Standard_LRS,StandardSSD_LRSadalah tipe storage ekonomis.--admin-username azureuser: Membuat username admin bernamaazureuseruntuk akses VM.--ssh-key-values @<path-ke-file-public-key>: Menggunakan SSH public key untuk autentikasi (menggantikan password).--security-type TrustedLaunch: Mengaktifkan fitur keamanan Trusted Launch untuk proteksi tingkat firmware.--enable-secure-boot true: Mengaktifkan Secure Boot untuk memastikan hanya OS yang terenkripsi dan terverifikasi yang bisa boot.--enable-vtpm true: Mengaktifkan virtual Trusted Platform Module (vTPM), menyediakan enkripsi tingkat hardware untuk perlindungan tambahan seperti disk encryption.
# Menampilkan semua VM dalam subscription tertentu
az vm list --subscription <SUBSCRIPTION_ID>
# Menemukan VM dengan properti tertentu menggunakan query JMESPath
az vm list -d --query "[?timeCreated >= '2024-01-01'].[name, powerState]"
# Membuat VM Ubuntu Server dengan IP privat (tanpa IP publik)
az vm create \
--resource-group $MY_RESOURCE_GROUP_NAME \
--name $MY_VM_NAME \
--public-ip-address "" \
--image Ubuntu2404
# Menyalakan mesin virtual yang dalam keadaan berhenti
az vm start --resource-group $myResourceGroup --name $myVM
# Menghentikan mesin virtual yang sedang berjalan
az vm stop --resource-group $myResourceGroup --name $myVM
# Mendealokasikan mesin virtual (melepaskan resource komputasinya)
az vm deallocate --resource-group $myResourceGroup --name $myVM
# Me-restart (memulai ulang) mesin virtual
az vm restart --resource-group $myResourceGroup --name $myVM
# Redeploy mesin virtual ke host fisik yang berbeda
az vm redeploy --resource-group $myResourceGroup --name $myVM
# Menghapus mesin virtual dan sumber daya terkaitnya
az vm delete --resource-group $myResourceGroup --name $myVM --yes
# Menampilkan daftar semua mesin virtual dalam langganan (subscription)
az vm list --output table
# Menampilkan detail dari mesin virtual tertentu
az vm show --resource-group $myResourceGroup --name $myVM --output json
# Menampilkan detail penggunaan resource VM di lokasi tertentu
az vm list-usage --location $location --output table
# Menampilkan ukuran VM yang tersedia di lokasi tertentu
az vm list-sizes --location $location --output table
Storage #
Storage Accounts #
Untuk membuat storage account di Azure:
az storage account create \
--name <accountName> \
--resource-group <resourceGroupName> \
--location <location> \
--sku Standard_RAGRS \
--kind StorageV2 \
--min-tls-version TLS1_2 \
--allow-shared-key-access true
Penjelasan Parameter:
--name <accountName>: Nama unik untuk storage account. Harus unik secara global di Azure.--resource-group <resourceGroupName>: Resource group tempat storage account dibuat.--location <location>: Region/lokasi Azure untuk storage account.--sku Standard_RAGRS: Jenis SKU.Standard_RAGRS= Read-Access Geo-Redundant Storage (penyimpanan redundansi geo dengan akses baca).--kind StorageV2: Jenis akun generasi kedua yang mendukung fitur terbaru (disarankan).--min-tls-version TLS1_2: Membatasi koneksi hanya untuk TLS 1.2 atau lebih baru.--allow-shared-key-access true: Mengizinkan autentikasi dengan shared key (opsional, sebaiknya dinonaktifkan jika tidak dibutuhkan demi keamanan).
Containers #
Container Registries #
Membuat Azure Container Registry (ACR).
az acr create \
--resource-group <resourceGroupName> \
--name <acrName> \
--sku Basic
Penjelasan Parameter:
-
--resource-group <resourceGroupName>: Resource group tempat ACR akan dibuat. -
--name <acrName>: Nama unik untuk Azure Container Registry. Harus unik secara global di Azure (5–50 karakter alfanumerik). -
--sku Basic: Jenis SKU registry.- Basic → paling murah, cocok untuk pengembangan/testing.
- Standard → performa lebih tinggi, cocok untuk staging/produksi.
- Premium → fitur lengkap (geo-replication, private link, dll).
Import Image dari Docker Hub ke ACR.
az acr import \
--name <acrName> \
--source docker.io/library/hello-world:latest \
--image hello-world:latest \
--username <dockerHubUsername> \
--password <dockerHubToken>
Keterangan:
--source: Lokasi image sumber (contoh dari Docker Hub).--image: Nama dan tag image yang akan disimpan di ACR.--usernamedan--password: Kredensial Docker Hub (gunakan token, bukan password biasa).
Membuat Token Akses untuk ACR.
az acr token create \
--name MyToken \
--registry <acrName> \
--scope-map _repositories_push_metadata_write
AI + Machine Learning #
Azure OpenAI #
Untuk membuat Azure OpenAI Service:
az cognitiveservices account create \
--name <openAIServiceName> \
--resource-group <resourceGroupName> \
--kind OpenAI \
--sku S0 \
--location eastus \
--yes
Penjelasan Parameter:
--name <openAIServiceName>: Nama unik untuk layanan Azure OpenAI.--resource-group <resourceGroupName>: Resource group tempat layanan dibuat.--kind OpenAI: Menentukan layanan sebagai Azure OpenAI.--sku S0: SKU standar untuk Azure OpenAI.--location eastus: Lokasi region (contoh:eastus, tergantung ketersediaan).--yes: Melewati konfirmasi pembuatan.
Referensi: