Phase 6 — the SSH rule, and the proof
The firewall rule: Network security groups → app-nsg → Inbound security rules → tick ssh-temp (priority 110) → Delete. The validator cannot see this rule: it probes port 22 on the load balancer's address, and no rule forwards that port. Delete it anyway; a rule that allows SSH from one laptop is an entry point waiting for a public IP to be added back.
Public IP addresses, portal-wide, now lists exactly one: app-lb-ip.
Then verify the lock from your laptop:
curl http://<LB-PUBLIC-IP>/hello ← still answers (through the LB)
ssh azureuser@<old-public-ip> ← dead (no address)
Within a minute both beacons' TCP outbound results change to failing; the beacon re-tests every 60 seconds. Only dns:example.com stays OK, the platform resolver. This is the intended state; it is what A2 requires.