Nothing works on launch day
The client team can't open the shop.
- Get shop.corp.internal resolving to 10.1.1.10 and opening on 443 from vm-client
- Get vm-web1 and vm-web2 both passing the health probe
- Keep SSH from vm-client to the web servers blockedbroken
Background
"Launch is in an hour and the client team can't open the shop at all." Clients are in vnet-client, like vm-client, which is peered with vnet-shop. They open shop.corp.internal, which points at lb-shop at 10.1.1.10, in front of vm-web1 and vm-web2. Both web servers have to be in rotation for launch traffic. Clients never get SSH to them.
- 1See it fail
Prove the problem yourself before you change anything. Reports are often wrong.
VM commands forVMs: Linuxssh vm-clientWhat's this?
Opens a shell on vm-client, 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 shop.corp.internalWhat'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 shop.corp.internal 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 wordsshop.corp.internalwhere to connect443the port to try
Ticks off when the test runs on vm-client.
- 2Find where it stops
- 3Name the cause
- 4Fix it and test again
?
- 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-client → shop.corp.internal:443should work: not working