ご申告いただいた情報から次のような状況と理解しました。
- Public IP address を関連付けた Virtual Machine に SSH していた
- Virtual Machine からインターネットへの通信を Azure Firewall で制御するために、この Virtual Machine が接続しているサブネットに対して UDR を適用して、0.0.0.0/0 のネクストホップを Internet から Azure Firewall のプライベートアドレスに変更した
- 変更した後から、Public IP address を利用して Virtual Machine にSSH ができなくなった。
SSH できなくなってしまった理由は、戻りの通信だけが Azure Firewall を経由することになってしまったからです。Azure Firewall に限らず、一般的なファイアウォールは行きの通信を通していないのに戻りの通信だけが返ってきている場合に戻りの通信を怪しいと判断して止めます。
Azure Firewall を利用しつつインターネットから Virtual Machine に SSH できるようにする方法は次の2つです。
1.UDR に対して 「SSH の接続元 IP アドレスの Nexthop は Internet」という設定を追加する
戻りの通信が Azure Firewall に戻らないように、UDR を利用してSSH の接続元 IP アドレスの Nexthop を Internet に変更します。こうすることで戻りの通信が Azure Firewall を経由しなくなりますので SSH できるようになります。ただし、Virtual Machine から SSH の接続元 IP アドレスへのアウトバウンド通信も Azure Firewall を経由しなくなりますので、Azure Firewall が必要となった要件との整合性をご確認ください。
2.Azure Firewall の Destination NAT を利用する
Virtual Machine の Public IP Address を使うのではなく Azure Firewall の Public IP Address を利用して Virtual Machine に SSH すれば、行きの通信と戻りの通信の両方をAzure Firewall 経由にできます。具体的な手順は次の URL をご確認ください。
https://docs.microsoft.com/ja-jp/azure/firewall/tutorial-firewall-dnat