← Back to list

How Your Azure VM Gets Internet Access (Public IP, NIC, Explained Simply)

When you create a Virtual Machine in Azure, many beginners assume one thing:

Randi Adhityas Saputra · 2026-01-11 05:18 · 51 claps · 3.8 min read
#azure #azure-devops #vm #nic #networking
Open on Medium ↗
Wiki topics: ☁️ · DevOps & Cloud

How Your Azure VM Gets Internet Access (Public IP, NIC, Explained Simply)

When you create a Virtual Machine in Azure, many beginners assume one thing:

“I created a VM, so my website should be accessible from the internet.”

But then they try to open the website… and nothing works.

Why?

Because a VM without a Public IP is invisible to the internet.

Let’s break this down in a simple, human way.

Generated using chatGPT

Generated using chatGPT

Without a Public IP, Your Website Is NOT Public

A Virtual Machine in Azure always gets:

  • a private IP (inside Azure network)

But a private IP:

  • works only inside Azure
  • cannot be accessed from your laptop or phone on the internet

So:

  • ❌ No Public IP → No internet access
  • ✅ Public IP → Internet can reach your server

This is true for:

  • websites
  • APIs
  • SSH / RDP access

But Azure Doesn’t Attach Public IP Directly to the VM

This is where Azure feels “different” at first.

In Azure:

  • Public IP is not attached to the VM
  • It is attached to the Network Interface (NIC)

And that is by design.

What Is a NIC (In Plain English)?

A NIC (Network Interface Card) is what gives your VM:

  • a private IP
  • access to the network
  • a path to the internet

Think like this:

  • VM = computer
  • NIC = network cable / Wi-Fi card
  • Public IP = your internet address

You don’t connect the internet to the computer chip — you connect it to the network card.

Azure works the same way.

How Traffic Reaches Your Server (Simple Flow)

When someone opens your website:

Browser
  ↓
Public IP (Azure)
  ↓
NIC
  ↓
VM (your web server)

The NIC acts like a gateway:

  • it receives traffic from the Public IP
  • it forwards that traffic to the VM

No NIC → no route No Public IP → no internet

Public IP Basics You Should Know (No Docs, Just Facts)

Public IP Is Regional

  • Public IP must be in the same Azure region as the VM
  • You cannot attach a Public IP from another region

This is similar to AWS Elastic IP.

Static vs Dynamic (Easy Rule)

  • Static IP → IP never changes
  • Dynamic IP → IP may change

If your VM hosts anything real:

  • website
  • API
  • SSH / RDP access

👉 Always use Static Public IP

Where Can a Public IP Be Attached?

Azure allows Public IP attachment to:

  • NIC → single VM
  • Load Balancer → multiple VMs

For beginners and most use cases:

One VM = attach Public IP to NIC

Load Balancer is used later, when you care about:

  • high availability
  • scaling
  • multiple backend servers

Before Attaching a Public IP: One Critical Check

Every VM has at least one NIC. Some VMs can have multiple NICs.

So before attaching a Public IP:

  • open the VM
  • go to Networking
  • note the exact NIC name

Attach the Public IP to the wrong NIC, and:

  • everything looks correct
  • but nothing works

This mistake happens more often than you think.

Attaching a Static Public IP (Simple Portal Flow)

Here’s the practical part, without over-complicating it:

  1. Open Azure Portal
  2. Go to Virtual Machines
  3. Open your VM
  4. Click Networking
  5. Click the NIC name
  6. Open IP configurations
  7. Enable Public IP
  8. Select your Static Public IP
  9. Click Save

That’s it.

No VM restart. No redeploy. Just network wiring.

“I Attached the IP but Still Can’t Access My Server”

This is usually not an IP problem.

It’s a security rule problem.

Azure uses Network Security Groups (NSG). Think of NSG as:

a firewall that blocks everything unless you allow it.

Even with a Public IP:

  • no NSG rule = no access

So always check:

  • SSH (22)
  • HTTP (80)
  • HTTPS (443)
  • RDP (3389)

Azure vs AWS vs GCP (Quick Mental Mapping)

ConceptAzureAWSGCPVMVMEC2Compute EngineNetwork cardNICENIimplicitPublic IPPublic IPElastic IPExternal IPFirewallNSGSecurity GroupFirewall rule

Same ideas. Different names.

Final Thoughts

Azure networking often feels confusing at first — not because it’s complicated, but because Azure is very explicit.

Azure doesn’t assume things for you.

  • It won’t automatically expose your VM to the internet
  • It won’t guess which NIC should get a Public IP
  • It won’t open ports unless you say so

And honestly? That’s a good thing.

Once you understand this simple idea:

Public IP gives internet access, NIC delivers it to the VM

Everything else starts to make sense.

As a DevOps engineer, this mindset helps you:

  • design safer architectures
  • avoid accidental exposure
  • debug connectivity issues faster

Fun Facts (That Actually Make You a Better DevOps Engineer)

🧠 Fun Fact #1:

Many “Azure networking bugs” are not bugs at all They’re just missing NIC or NSG wiring.

If something doesn’t work, always ask:

“Where is the traffic supposed to flow?”

🔌 Fun Fact #2:

You can delete and recreate a VM, but keep the NIC and Public IP — and the IP stays the same.

This is why Azure separates everything:

  • VM
  • NIC
  • Public IP

👉 Infrastructure becomes reusable, not disposable.

🔐 Fun Fact #3:

A Public IP does nothing without NSG rules.

Public IP ≠ Open access NSG decides who is allowed in.

That’s why Azure feels “secure by default”.

☁️ Fun Fact #4:

If you understand Azure NIC + Public IP, moving to AWS or GCP becomes easier.

Different names, same idea:

  • traffic needs a path
  • security needs explicit permission

🚨 DevOps Pro Tip

When debugging access issues, always check in this order:

  1. Does the VM have a NIC?
  2. Is the Public IP attached to the correct NIC?
  3. Is the IP static?
  4. Does NSG allow inbound traffic?
  5. Is the service actually running?

This checklist will save you hours.

One Last Sentence to Remember

In Azure, networking is not magic — it’s wiring. If you wire it correctly, everything just works.

Happy building 🚀


메타데이터
post_id
83fcbf970401
slug
how-your-azure-vm-gets-internet-access-public-ip-nic-explained-simply-83fcbf970401
url
https://medium.com/@randiadhityassaputra/how-your-azure-vm-gets-internet-access-public-ip-nic-explained-simply-83fcbf970401
canonical_url
https://medium.com/@randiadhityassaputra/how-your-azure-vm-gets-internet-access-public-ip-nic-explained-simply-83fcbf970401
author_url
https://medium.com/@randiadhityassaputra
status
ok
fetched_at
2026-06-23 06:34:20