Не уверен, что вы когда-нибудь поняли это, но вот мой взгляд на это. Все экземпляры отдельных ролей находятся за балансировщиком нагрузки Windows Azure и не имеют ни малейшего представления об исходном IP-адресе, обращенном наружу. Также нет вызова API управления, который возвращает IP-адрес - Get Deployment возвращает URL-адрес, но не IP-адрес. Я думаю, что единственным вариантом будет поиск DNS.
Сказав это: я не думаю, что вы можете разместить пассивный ftp-сервер в своем экземпляре роли (по крайней мере, не элегантно). Вы можете открыть до 25 входных конечных точек для своей роли (вместо 5 - см. Мой недавний пост в блоге об этом обновлении), но в настройке задействована ручная работа. Я не знаю, позволяет ли ваше ftp-приложение ограничивать диапазон портов таким небольшим количеством портов. Кроме того:
- Вы должны будете определить каждый порт как свою собственную конечную точку ввода (это часть ручного труда, о которой я упоминал) - входные конечные точки не позволяют указывать диапазон портов, в отличие от внутренних конечных точек.
- Вы должны указать номер порта, который используется внутри, а номера портов должны быть последовательными
И еще одна вещь на ftp: вы должны иметь возможность без проблем разместить сервер sftp, поскольку весь трафик проходит через один порт.