22 ‐ Single Private VNet with no internet, having all other services connected like blob storage - SanjeevOCI/Study GitHub Wiki
1. Create a Resource Group
Start by creating a Resource Group, if one doesn’t already exist. This helps logically organize and isolate resources.
2. Create a New Virtual Network (VNet)
Create a new Virtual Network with a non-overlapping address space (e.g., 10.0.0.0/16).
This ensures there’s no IP conflict with other networks.
3. Create a Private Subnet
Create a private subnet within the VNet with a smaller CIDR range based on your requirements.
Since this network will have no internet connectivity, you will:
- Not assign a Public IP to the VM
- Not associate the subnet with any NAT Gateway or Public Load Balancer
4. No Internet Gateway / Public Routing
Azure does not have a separate Internet Gateway resource. Internet access is provided through system routes when a public IP is present.
In this case:
- Do not create a Public IP
- Do not associate a NAT Gateway
- Use only internal routing
5. Create a Virtual Machine (Instance)
In the private subnet, create a Virtual Machine without a Public IP.
This ensures the VM is not reachable directly from the internet.
The VM can still connect to:
- Managed Disks (Azure equivalent of block volumes)
- Azure Blob Storage (object storage equivalent) through private connectivity
6. Configure Access to Azure Services Privately (Optional)
If the VM needs to connect to Azure services like Blob Storage:
- Use Private Endpoints to connect to the storage account privately over Azure backbone
- Alternatively, use Service Endpoints on the subnet for restricted access
7. Configure Network Security Group (NSG) Rules
Update the NSG attached to the subnet or NIC:
-
Egress Rule:
- Destination: Internal VNet CIDR or service-specific endpoint IPs
- Protocol: All (or TCP for specific ports needed)
-
Ingress Rule:
- Allow inbound traffic from trusted subnets or on-premises via VPN/ExpressRoute only
- For management access, connect through Azure Bastion or an on-prem jump server
Default NSG Rules in Azure:
- Default Inbound: Deny all inbound by default
- Default Outbound: Allow all outbound by default (still subject to routing restrictions)
8. Harden with a Firewall
Even without internet access, security is important.
You can deploy:
- Azure Firewall (in private mode without public IP)
- Third-party firewall appliances in the VNet
- Apply strict NSG rules for segmentation
9. Storage Configuration
- OS Disk (automatically created when VM is created)
- Attach additional Data Disks (block storage equivalent) if needed
- Use Blob Storage via Private Endpoints for backups and data storage
- Optionally enable Azure Backup for VM disks
10. Verify Access
- Connect to the private VM using Azure Bastion or VPN from on-premises
- Test access to Managed Disks and Blob Storage via private connectivity