0
0
Azurecloud~5 mins

Creating a VM in Azure Portal - Step-by-Step CLI Walkthrough

Choose your learning style9 modes available
Introduction
Sometimes you need a computer in the cloud to run your apps or store files. Creating a Virtual Machine (VM) in Azure Portal lets you have a ready-to-use computer without buying hardware.
When you want to run a website on a cloud computer without managing physical servers
When you need a test environment to try software without affecting your own computer
When you want to run a database server accessible from anywhere
When you need to run a custom application that requires specific operating system settings
When you want to quickly scale your computing power up or down based on demand
Commands
This command logs you into your Azure account from the command line so you can manage resources like VMs.
Terminal
az login
Expected OutputExpected
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code ABCD1234 to authenticate. You have logged in. Now let us find all the subscriptions to which you have access...
This command creates a new VM named 'myVM' in the resource group 'myResourceGroup' using the latest Ubuntu image. It also creates SSH keys for secure login.
Terminal
az vm create --resource-group myResourceGroup --name myVM --image UbuntuLTS --admin-username azureuser --generate-ssh-keys
Expected OutputExpected
{ "fqdns": "", "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", "location": "eastus", "name": "myVM", "powerState": "VM running", "privateIpAddress": "10.0.0.4", "publicIpAddress": "52.170.12.34", "resourceGroup": "myResourceGroup", "zones": "" }
--resource-group - Specifies the group where the VM will be created
--image - Specifies the operating system image for the VM
--generate-ssh-keys - Automatically creates SSH keys for secure access
This command shows detailed information about the VM to confirm it is running and to get its IP address.
Terminal
az vm show --resource-group myResourceGroup --name myVM --show-details
Expected OutputExpected
{ "hardwareProfile": { "vmSize": "Standard_DS1_v2" }, "osProfile": { "computerName": "myVM", "adminUsername": "azureuser" }, "networkProfile": { "networkInterfaces": [ { "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myVMNic" } ] }, "powerState": "VM running", "publicIps": "52.170.12.34" }
--show-details - Displays extra information like power state and public IP
This command connects you securely to your new VM using SSH and the username you set.
Terminal
ssh azureuser@52.170.12.34
Expected OutputExpected
The authenticity of host '52.170.12.34 (52.170.12.34)' can't be established. ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '52.170.12.34' (ECDSA) to the list of known hosts. azureuser@myVM:~$
Key Concept

If you remember nothing else from this pattern, remember: Creating a VM in Azure Portal means choosing a resource group, an OS image, and setting up secure access to have a ready cloud computer.

Common Mistakes
Not creating or specifying a resource group before creating the VM
Azure needs a resource group to organize resources; without it, the VM creation fails.
Create a resource group first using 'az group create --name myResourceGroup --location eastus' or specify an existing one.
Forgetting to generate or provide SSH keys for Linux VMs
Without SSH keys, you cannot securely connect to the VM.
Use the '--generate-ssh-keys' flag or provide your own keys with '--ssh-key-value'.
Trying to SSH before the VM is fully running or before the public IP is assigned
The connection will fail because the VM is not ready or has no reachable IP.
Check VM status and public IP with 'az vm show' before connecting.
Summary
Use 'az vm create' with a resource group, VM name, and OS image to create a VM.
Check VM status and get its public IP with 'az vm show'.
Connect securely to the VM using SSH with the provided username and public IP.