Как указать, какие порты нужны моей рабочей роли?
Как сообщить Azure, что я хочу, чтобы моя рабочая роль принимала внешние (из Интернета) соединения через порт x?
Нужно ли включать RDP и изменять брандмауэр Windows, чтобы разрешить входящие подключения через порт x?
Изменится ли IP-адрес виртуальной машины Worker Role?
1 ответ
Вам не нужно RDP, чтобы настроить что-либо. В свойствах рабочей роли вы увидите вкладку Конечные точки. Определите tcp "входную конечную точку", дав ей имя и номер порта для предоставления. Затем из вашего кода вы можете позвонить RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["endpointname"].IPEndpoint.Port
, Тогда просто послушайте этот порт. Обратите внимание, что вы можете настроить конечную точку так, чтобы она находилась на определенном внутреннем порту (например, то, с чем сталкивается ваш код по сравнению с внешним миром) ИЛИ... пусть балансировщик нагрузки назначает порт динамически. В любом случае, приведенный выше вызов возвращает назначенный порт.
И нет, ваш IP-адрес службы никогда не изменится, если вы фактически не удалите и не повторно развернете свою службу. Если вы выполняете обновление на месте (добавление / удаление роли, добавление / удаление конечной точки, изменение размеров виртуальной машины, добавление ресурсов локального хранилища), вы сохраняете свой IP-адрес.