The below works in AWS. I haven't worked much with Azure's networking environment, but I can't imagine (well, I can, it's Microsoft) that the DNAT / SNAT workings are too different. Assign PUB IP to instance/interface, then just change the below configs in Kamailio and Freeswitch. If you're using an all-in-one, then you'll just need one PUB. I've got a clustered setup going with my Kama and FS instances separate.
On Freeswitch - Remember FS trunks directly out of the cluster. It does not route out back through Kamailio.