Using Private Endpoints
AZ-104 notes: Using Private Endpoints. Covers key concepts for the Azure Administrator Associate exam.
This lesson explains how to securely access Azure PaaS services using:
- Azure Private Endpoint
- Private Endpoints provide true private connectivity to Azure services by assigning them a private IP address inside your Virtual Network.
1️⃣ Why Private Endpoints Exist
Previously, with Service Endpoints:
- Traffic stayed on Microsoft Backbone
- But still used the public endpoint
- Worked at subnet level
- Applied to all services of a resource provider (e.g., Microsoft.Storage)
Private Endpoints solve:
- ✔ Granular access to specific service instance ✔ Granular access to specific sub-resource (Blob, File, etc.) ✔ Private IP-based connectivity ✔ Hybrid (on-prem) access ✔ Stronger isolation
2️⃣ What a Private Endpoint Does
When you create a Private Endpoint:
- Azure creates a Network Interface (NIC)
- That NIC gets a private IP
- The PaaS service is “projected” into your VNet
Now your architecture becomes:
- VM → Private IP → Storage Blob
Instead of:
- VM → Public Endpoint → Storage
- It behaves as if the service lives inside your VNet.
3️⃣ Key Differences vs Service Endpoints
Exam tip:
If question says:
- “Assign private IP to storage” → Private Endpoint
- “Subnet-level backbone routing only” → Service Endpoint
4️⃣ Sub-Resource Targeting (Very Important)
With Private Endpoint, you select:
For Storage:
- Blob
- File
- Table
- Queue
- DFS
- Web
Example: You can create private endpoint for:
- StorageAccount → Blob only
- This gives granular control.
- Service Endpoints cannot do this.
5️⃣ Demonstration Summary
Steps performed:
- Created separate subnet: PrivateEndpointSubnet
- Created Private Endpoint from Storage Account
Selected:
- Resource type: Microsoft.Storage
- Specific storage account
- Sub-resource: Blob
- Enabled Private DNS integration
Deployment created:
- Network Interface
- Private IP (e.g., 172.16.0.132)
- Private DNS Zone
- DNS record
- Result: Storage Blob now accessible via private IP.
6️⃣ Private DNS Integration (Critical Concept)
When enabling Private Endpoint:
Azure automatically creates:
- privatelink.blob.core.windows.net
DNS flow:
- storageaccount.blob.core.windows.net
- → CNAME
- → storageaccount.privatelink.blob.core.windows.net
- → A record → Private IP
This ensures:
- No application changes required
- Same FQDN works
- DNS resolves to private IP internally
- Without private DNS: You must manage DNS manually.
7️⃣ Hybrid Connectivity
Private Endpoint supports:
- ✔ VNet ✔ Peered VNets ✔ On-prem via VPN Gateway ✔ On-prem via ExpressRoute
Because service now has:
- → Private IP inside VNet
- This is a major advantage over Service Endpoints.
8️⃣ Security Benefits
Private Endpoints:
- ✔ Remove exposure to public endpoint ✔ Allow disabling public network access ✔ Provide zero-trust architecture ✔ Prevent data exfiltration ✔ Restrict access to specific VNets
Best practice:
After creating Private Endpoint:
Disable:
- Public network access = Disabled
- On the storage account.
9️⃣ Network Interface Creation
Every Private Endpoint creates:
- A hidden NIC
- With private IP
- In chosen subnet
You can view it under:
- Network Interface resource
- Subnet connected devices
- This NIC consumes an IP address.
🔟 Subnet Considerations
You may:
- Use existing subnet
- Or create dedicated PrivateEndpointSubnet
Best practice: Create dedicated subnet for:
- Better traffic control
- Easier NSG management
- Cleaner architecture
11️⃣ Advanced: Network Policies
By default:
Private Endpoint subnet disables:
- Network Security Group policies
- Route table policies
- You can enable network policies if needed.
12️⃣ When to Use Private Endpoint
Use when:
✔ High security requirement ✔ Need private IP access ✔ Need on-prem access ✔ Want to disable public endpoint ✔ Zero-trust architecture
Use Service Endpoint when: ✔ Simpler setup needed ✔ No hybrid requirement ✔ Moderate security sufficient
13️⃣ Troubleshooting Checklist
If Private Endpoint not working:
- Check Private DNS zone linked?
- Verify correct sub-resource selected
- Confirm VNet/subnet correct
- Ensure public access disabled only after testing
- Validate DNS resolution inside VM
- Confirm hybrid routing if on-prem
14️⃣ Deep Architecture Understanding
Private Endpoint uses:
- Azure Private Link
Private Link enables:
- Private connectivity to Azure PaaS
- Private connectivity to third-party services
- Service provider publishing services privately
- Private Endpoint is consumer side of Private Link.
15️⃣ Reference Documentation
- Private Endpoint Overview
- Private Link Architecture
- DNS with Private Endpoints
- Compare Service Endpoint vs Private Endpoint
- Storage Private Endpoint
Exam Memory Hooks
Private Endpoint = Private IP for PaaS Creates NIC in VNet Supports hybrid Granular sub-service selection Requires private DNS integration
Final Conceptual Summary
Service Endpoint:
- Subnet-level backbone routing
- Still public endpoint
Private Endpoint:
- True private IP
- Instance-level isolation
- Hybrid-ready
- Strong security
If you'd like, I can now create:
- 🧠 40 exam-style scenario questions
- 📊 Service Endpoint vs Private Endpoint deep comparison sheet
- 🏗 Hub-Spoke + Hybrid architecture example
- 📄 One-page cram sheet for AZ-104 / AZ-700
- Tell me which certification you're targeting.
Hands-on: Create a Private Endpoint for Storage
Goal: Access a storage account through a private IP in your VNet.
- Create a storage account.
- Create or use VNet
az104-vnetwith subnetprivate-endpoints-subnet. - Open the storage account and choose Networking > Private endpoint connections.
- Create a private endpoint for the Blob subresource.
- Place it in
private-endpoints-subnet. - Integrate with a private DNS zone when prompted.
- Disable public network access on the storage account for a stricter test.
- From a VM in the VNet, resolve the storage account FQDN.
- Confirm it resolves to a private IP.
- Access the blob endpoint from inside the VNet.
- Try access from outside the VNet and confirm it is blocked.
Hands-on: Check Private DNS Integration
- Open the private DNS zone created for Blob, usually
privatelink.blob.core.windows.net. - Confirm an A record exists for the storage account.
- Open the VNet links and confirm your VNet is linked.
- From a VM, run
nslookup <storage-account>.blob.core.windows.net. - Confirm the answer points to the private endpoint IP.
