The load balancer as a way out (Azure)
Three things can lend a private VM a public address: its own public IP, a NAT gateway, and the load balancer. The load balancer is the one that catches people.
The LB holds a public IP. Replies to requests it forwarded are always allowed back through it; the firewall is stateful. But an Azure load-balancing rule can additionally translate connections that the backend starts to the LB's public address: SNAT (source network address translation, the same sender rewrite the home router did). With that on, your "private" VM has full internet access through the LB, and this week's validator will see it.
When you create the rule, the portal asks about outbound SNAT. Choose "(Recommended) Use outbound rules", which means: this rule does not translate outbound. There is no outbound rule in our setup, so nothing gets out.
AWS's load balancer never does this: it forwards inbound requests and nothing else. Outbound on AWS is only ever a route to a NAT gateway.