Storage returns 403 from a spoke
vm-spoke1 gets 403 Forbidden from stlogs01.blob.core.windows.net.
- Make stlogs01.blob.core.windows.net resolve to 10.0.3.4 from vm-spoke1
- Get vm-spoke1 reaching the private endpoint on 443broken
- Turn auto-registration off on every link to the zonebroken
Background
The storage account stlogs01 has a private endpoint, pe-stlogs01, in vnet-hub at 10.0.3.4. A private endpoint gives the service a private IP inside your network, and its public name is meant to resolve to that IP. Public network access on stlogs01 is disabled, so anything that reaches it any other way is refused. VMs in the hub work fine. vm-spoke1 in the peered vnet-spoke1 gets 403 Forbidden from stlogs01.blob.core.windows.net. SSH to the VMs to look around, then fix it so vm-spoke1 uses the private endpoint.
- 1See it fail
Prove the problem yourself before you change anything. Reports are often wrong.
VM commands forVMsssh vm-spoke1What's this?
Opens a shell on vm-spoke1, so the next commands run on that VM. In this lab it's a shortcut. In real Azure you'd connect through something like Azure Bastion, or SSH to an address you can reach.
nslookup stlogs01.blob.core.windows.netWhat's this?
Asks the VM's DNS server what IP address a name points to. Run it on the VM that has the problem, because each VM can get a different answer.
nc -zv stlogs01.blob.core.windows.net 443What's this?
netcat, a standard Linux tool. Tries to open a TCP connection and reports whether it worked.
-zonly check whether the port answers. Send no data-vprint the result in wordsstlogs01.blob.core.windows.netwhere to connect443the port to try
Ticks off when the test runs on vm-spoke1.
- 2Find where it stops
- 3Name the cause
- 4Fix it and test again
- 5Explain it
?
- Resource group, the outer dashed frame
- Virtual network, with its address space top right
- Subnet, with range and usable IPs (5 reserved)
- Network security group. A small shield on a VM's NIC means the NIC has one too
- Route table on the subnet
- VM Appliance Private endpoint
- Peering Connected Initiated or access off
- Goal working Goal broken, X marks where it stops
- Private DNS zone, dotted lines go to linked VNets
- Orange pulse: what your last command changed. Drag to pan, Ctrl and scroll to zoom.
vm-spoke1 → stlogs01.blob.core.windows.net:443should work: not working