Microsoft Azure Third-party Top-up How to create Azure Virtual Machine
Creating an Azure Virtual Machine (VM) is one of those tasks that sounds intimidating until you actually do it and realize it’s mostly a carefully organized sequence of decisions. Think of Azure as a giant, well-lit storage warehouse where everything is labeled clearly—except for the parts you have to label yourself, like “what size do I actually need?” and “which port did I mean to open?”
This article will walk you through the entire process in a practical, readable way. Whether you’re spinning up a Linux box for a web app, a Windows VM for a legacy system, or a quick lab environment to experiment without consequences, you’ll be able to create your VM with confidence. Along the way, we’ll include tips that help you avoid the classic “why won’t this connect?” and “why is it slow?” surprises.
1) What You’re Actually Building (A Quick Reality Check)
An Azure Virtual Machine is a compute resource that runs an operating system in the cloud. You pick:
- The operating system (for example, Ubuntu Linux or Windows Server)
- The hardware size (CPU, memory, and sometimes network characteristics)
- The storage (managed disks, disk size, and performance tier)
- The networking (virtual network, subnet, public IP, ports)
- Admin access (SSH key or username/password, plus security settings)
Then Azure provisions the VM and you connect to it. That’s it in principle. In practice, it’s “it’s simple” right up until you open the wrong firewall rule or choose a VM size that could power a calculator but not a production workload. Don’t worry—we’ll keep you on the straight and narrow.
2) Prerequisites: Before You Click “Create”
Before we create a VM, make sure you have the basics ready. This isn’t a scavenger hunt, but it does help to have the items you’ll use on day one.
2.1) An Azure account and permissions
You’ll need access to an Azure subscription. If you’re using a company account, you might need permissions like “Contributor” or “Virtual Machine Contributor” to create resources. If you can’t create the VM, you’ll typically get a permission error. That’s Azure’s way of saying, “I want to help, but your badge won’t open the door.”
Microsoft Azure Third-party Top-up 2.2) Decide what OS you want
Ask yourself:
- Do you want Linux or Windows?
- Do you know which distribution or version?
- Is this a temporary lab or a long-term service?
There’s no wrong answer, but you’ll move faster if you already know what you’re aiming for.
2.3) Plan your login method
For security (and sanity), plan to use SSH keys for Linux VMs and secure credentials for Windows VMs. Password authentication is often possible, but SSH keys are usually the cleaner, safer option. If you’re just testing, you can still do things responsibly—Azure doesn’t require chaos.
3) Start the VM Creation Process
Now let’s create your VM. In Azure, the usual approach is through the Azure portal, although Azure PowerShell and CLI are also available. We’ll use the portal because it’s the most visual and beginner-friendly.
3.1) Open the Azure portal
Go to the Azure portal and sign in with your Azure account.
3.2) Search for “Virtual machines”
In the search bar, type “Virtual machines” and select it.
3.3) Click “Create”
You’ll see a Create button. Click it. Azure will bring up a form called something like “Create a virtual machine.” Treat this form like a recipe: you can substitute ingredients, but if you skip the steps, you’ll end up with soup instead of cookies.
4) Choose Core Settings: Subscription, Resource Group, Region
Early on, Azure asks for some foundation choices. These are crucial because they determine where your VM lives and how it’s organized.
4.1) Subscription
Select the subscription where you want to create the VM. If you have multiple subscriptions, double-check you picked the right one—nothing is more annoying than creating resources in the wrong billing bucket.
4.2) Resource group
A resource group is a logical container for related resources. For example, you might create a resource group called “rg-demo-vm-01.”
If you’re just starting, creating a new resource group for each project is a common practice. It keeps things tidy when it’s time to delete resources later. Deleting a resource group deletes everything inside it, so this is your “bundle and cleanup” tool.
4.3) Region
Pick a region closest to your users or systems. If you’re hosting something for an internal team, pick a region near your location. Also, consider availability of certain VM sizes and features. Azure regions aren’t identical, like coffee shops—they share a name, but one has better Wi-Fi and the other has better muffins.
5) Pick an Image (Operating System)
Azure uses “images” to represent OS templates. For example, “Ubuntu Server 22.04 LTS” or “Windows Server 2022 Datacenter.”
5.1) Choose OS type
Select whether you want Windows or Linux. Then choose the specific version.
5.2) Think about licensing (Windows)
For Windows VMs, licensing options may appear. Azure may include license terms automatically depending on your selection. If you’re not sure, Azure usually provides details on the selected image and licensing model.
If you’re experimenting, Linux is often simpler because it avoids some licensing decisions. But if you need Windows for a specific application, choose Windows and move on like a professional.
6) Choose VM Size (The “Will This Be Slow?” Moment)
VM size determines the CPU, memory, and overall performance profile. In the portal, there’s typically an option like “Size.”
6.1) Common mistake: under-sizing
Choosing the smallest VM size can be tempting because it reduces cost. But if you later install a database, run heavy workloads, or expect high performance, you may end up with a VM that feels like it’s thinking in Morse code.
6.2) Common mistake: over-sizing
Conversely, choosing the largest option because it feels safer can waste money. If this is a lab environment, you don’t need an aircraft carrier. You need a boat that floats.
6.3) Practical guidance
Here’s a rough guide:
- Small web apps or dev/test: smaller sizes with 1–2 vCPUs and modest memory
- Databases or heavier workloads: choose sizes based on resource needs, not vibes
- Build/test pipelines: consider whether CPU spikes or memory needs will be significant
If you’re unsure, start modestly and plan for scaling. Azure allows you to resize a VM later, though it might require changes and downtime depending on the situation.
7) Configure Authentication and Admin Access
Azure asks how you want to log in. This is one of the most important parts because it directly affects security and usability.
7.1) For Linux: SSH public key
For Linux VMs, Azure usually offers an SSH key option. You typically:
- Microsoft Azure Third-party Top-up Select an option like “SSH public key”
- Provide either a new key or an existing key
- Pick a username (often “azureuser” or similar)
If Azure provides a generator for SSH keys, you can use that. But if you already have keys, reuse them to keep things organized.
7.2) For Windows: username and password
For Windows VMs, you’ll choose a username and a password. Azure usually enforces password complexity rules.
Tip: Use a strong password and store it securely. Don’t use a password you can recall after one cup of coffee and one regrettable life choice.
7.3) Secure settings: you want fewer “open doors”
Azure includes optional security features. While the exact options can vary, you should consider:
- Whether you want password authentication enabled for Linux (often not recommended)
- Whether you want to allow inbound traffic broadly (usually no)
- How you’ll manage networking and firewall rules
Basically, create your VM with minimal exposure by default, and open ports only when needed.
8) Networking: Public IP, Virtual Network, and Ports
Networking is where your VM either becomes reachable or lives in the cloud like a hermit. Let’s set it up properly.
8.1) Virtual network and subnet
Azure requires a virtual network (VNet) and a subnet. You can either choose an existing VNet or create a new one.
If you’re new, you’ll likely create a new VNet automatically. In that case, Azure may generate a default subnet configuration.
8.2) Public IP: do you need one?
Your VM can have a public IP address if you need to connect from the internet. For many dev/test scenarios, you do want a public IP.
For secure setups, you might avoid public exposure by using a VPN, bastion host, or private networking. But since you asked how to create a VM, we’ll keep this practical: you can start with a public IP and later tighten security.
8.3) Inbound ports
Azure usually asks which inbound ports to allow. Common choices are:
- SSH (port 22) for Linux
- RDP (port 3389) for Windows
- HTTP/HTTPS (80/443) for web apps
Here’s the rule of thumb: open only what you need. If you’re only connecting via SSH or RDP, open only those ports. If you also plan to run a web server, then open 80 and 443 as necessary.
Also, consider restricting access. Some portal options let you restrict inbound traffic by source IP range. If you can, do that. Otherwise you’ll be exposing your service to more than just the intended audience—like leaving your front door unlocked because “doors are meant to be open.”
9) Disks and Storage Settings
Next, Azure configures OS disk and potentially data disks.
9.1) OS disk type and size
You’ll typically choose a disk size, and Azure may default to a performance tier depending on the selected disk type. If you choose a size too small, your VM may fill up quickly after installing software, logs, or updates.
For most beginners, a default OS disk size is fine. But if you plan to install lots of packages, you may want to allocate more storage up front.
9.2) Managed disks
Microsoft Azure Third-party Top-up Azure commonly uses managed disks, which simplifies storage management. You usually don’t need to worry about disk replication details as much as you would in older setups.
10) Review and Create: The Moment of Truth
Azure will show a summary before it creates the VM. Carefully check:
- Correct subscription and resource group
- Region selection
- OS image and version
- VM size
- Authentication details (username, SSH key selected, Windows password policy)
- Network settings (public IP yes/no, ports opened)
- Disk size
Then click “Create.” Azure will deploy the VM. Depending on the chosen settings and region, it may take several minutes.
11) Monitor Deployment and Confirm the VM Is Running
While Azure provisions the VM, you can monitor deployment progress in the portal. When it completes, the VM’s status should indicate it is running.
11.1) Check resource state
In the VM overview page, you’ll see key details like:
- Public IP address (if assigned)
- Networking details
- Health and provisioning status
Sometimes a VM might take a little longer after it appears “running.” For example, the OS boot process is one step, but the services you want might still be initializing. That’s normal.
12) Connect to Your VM
Once the VM is up, you’ll connect to it. The connection method depends on the OS.
12.1) Connect to a Linux VM via SSH
You’ll need your VM’s public IP address and the SSH key (private key) that matches the public key you uploaded.
From a terminal, you’ll use an SSH command similar to:
- ssh username@public-ip
If this works, congratulations—you have successfully wrestled a server out of the cloud.
If it doesn’t work, the most common causes are:
- SSH port (22) wasn’t opened in inbound rules
- Your security group/network rules don’t allow your IP
- Microsoft Azure Third-party Top-up You used the wrong username
- Your SSH key doesn’t match the key you provided
And yes, those mistakes are extremely common. Humans are wonderfully error-prone. Azure just happens to be good at making the errors visible.
12.2) Connect to a Windows VM via RDP
For Windows, you’ll connect via Remote Desktop Protocol (RDP). The portal usually provides a button to “Connect” which may download an RDP file.
When prompted, you’ll enter the username and password you configured during VM creation.
If RDP fails, common causes include:
- RDP port (3389) isn’t open in inbound rules
- You entered the wrong credentials
- Windows networking/firewall settings restrict RDP
If you get stuck, check the VM’s networking configuration first. It’s the fastest path to “I’m connected” rather than “I’ve been troubleshooting for hours and my coffee is cold.”
13) Post-Creation Setup: Make the VM Useful
At this point, the VM exists, you can connect, and it’s basically an empty room with power. Now you’ll want to install tools, update the OS, and configure your environment.
13.1) Update the OS
Regardless of Linux or Windows, run OS updates. On Linux, you might use your distribution’s package manager to update and upgrade packages. On Windows, use Windows Update.
This helps with security patches and ensures packages you install later don’t fight old dependencies.
13.2) Install required software
What you install depends on your workload:
- Web server (Nginx/Apache or IIS)
- Runtime (Node.js, Python, .NET, Java)
- Database client or server
- Monitoring and logging tools
Microsoft Azure Third-party Top-up Start with the minimum set needed to accomplish your immediate goal, then iterate.
13.3) Configure access and security
If you created a public IP and opened ports for convenience, consider tightening security now that you know the VM works. Good steps include:
- Restrict inbound rules to your IP address (if available)
- Disable unnecessary services
- Use strong credentials
- Prefer SSH keys over passwords for Linux
Don’t worry—you don’t need to become a security wizard overnight. But adding basic guardrails is like putting a seatbelt on: you don’t feel cool, but you definitely feel safer.
14) Create a Basic Validation Checklist
If this VM is meant to host something, you want to validate functionality. Here’s a simple checklist that works well for many starter scenarios.
14.1) Confirm system health
- Log in successfully
- Check CPU and memory usage
- Confirm disk space availability
14.2) Confirm network connectivity
- Test outbound internet access (installing packages should work)
- Test inbound access (SSH/RDP, plus any web ports)
14.3) Confirm application services (if any)
- Start the intended service
- Check logs for errors
- Verify the service responds correctly
If you’re running a web app, confirm you can reach it using the VM’s public IP and the correct HTTP/HTTPS ports.
15) Cost Awareness: Avoid Surprise Bills
Microsoft Azure Third-party Top-up Azure charges for compute time and associated resources. That means the VM running 24/7 costs money, even if you’re not using it. It’s not a moral failure—it’s just math.
15.1) Stop or deallocate when you’re done
If this is a lab or temporary test, consider stopping or deallocating the VM when you’re finished. The portal usually offers actions like “Stop” and “Start,” and deallocate can reduce certain charges depending on the configuration.
15.2) Delete resource groups for cleanup
If you created a dedicated resource group for the VM, deleting the resource group after testing is a clean way to avoid leaving behind billable resources.
16) Troubleshooting: When Azure Says “Nope”
Let’s handle the two big categories of problems: connection issues and performance issues.
16.1) Connection issues (SSH/RDP won’t work)
Use this quick diagnostic sequence:
- Is the VM running?
- Does it have a public IP (if you need public connectivity)?
- Are the correct inbound ports open?
- Are network security rules restricting your IP?
- Are you using the correct username and authentication method?
- Is the OS firewall blocking the traffic?
Most of the time, the problem is either inbound port settings or incorrect credentials. The universe is predictable like that.
16.2) Performance issues (It’s slow)
If the VM is slow, check:
- CPU usage is pegged near 100% (you may need a larger VM)
- Memory is full (more RAM might be needed)
- Disk usage is high (logs and updates may fill the disk)
- Network constraints (less common for local SSH, more for high traffic apps)
If the VM is a dev/test environment, resizing is usually the easiest fix. For production, you’d plan more carefully, but for learning, “resize and move on” is a totally valid strategy.
17) A Practical Example Path (Linux Web Server Starter)
Let’s say you create a Linux VM on Ubuntu, open port 22 for SSH, and open ports 80 and 443 for a web app. After connecting, you’d:
- Update packages
- Install Nginx
- Start Nginx
- Microsoft Azure Third-party Top-up Create a simple web page
- Test from your browser using the VM’s public IP
If everything responds, your network and firewall settings are correct and your service is reachable. Then you can proceed to deploy your app and harden settings.
18) When You Should Consider Alternatives
Microsoft Azure Third-party Top-up A VM is often the right starting point, but sometimes a different Azure service fits better.
- If you want managed scaling and less infrastructure management, consider App Service.
- If you need containers, consider Azure Container Apps or AKS.
- If you only need a small, ephemeral environment for testing, consider lighter options.
But for learning and for many workloads, VMs are a solid choice. They’re like learning to drive by actually driving, not by watching videos of people who can parallel park better than you.
19) Summary: Your VM Creation, Completed
Microsoft Azure Third-party Top-up To create an Azure Virtual Machine, you:
- Open the Azure portal and go to Virtual machines
- Click Create and choose subscription, resource group, and region
- Select an OS image (Linux or Windows)
- Pick a VM size that matches your needs
- Configure admin access (SSH keys for Linux, credentials for Windows)
- Set up networking (VNet, subnet, public IP, inbound ports)
- Choose disk/storage settings
- Review and create
- Connect and validate that everything works
Once your VM is up, treat it like a living system: patch updates, install what you need, monitor it, and close the security gaps you opened for convenience during setup. Azure makes the provisioning step easy; your job is to make the deployment step safe, stable, and maintainable.
If you want, tell me whether you’re creating a Linux or Windows VM and what you plan to run on it (web server, database, dev environment, or something else). I can suggest a sensible VM size, recommended ports, and a basic setup checklist tailored to your use case.

