IP-адреса в Функциях Azure
В этой статье объясняются следующие принципы, связанные с IP-адресами приложений-функций:
- Поиск IP-адресов, сейчас используемых приложением-функцией.
- Условия, вызывающие изменение IP-адресов приложения-функции.
- Ограничение IP-адресов, которым разрешен доступ к приложению-функцию.
- Получение выделенных IP-адресов для приложения-функции.
IP-адреса связаны с приложениями-функциями, а не с отдельным функциями. Входящие HTTP-запросы не могут использовать входящий IP-адрес для вызова отдельных функций. В них должно использоваться доменное имя по умолчанию (functionappname.azurewebsites.net) или имя личного домена.
Входящий IP-адрес приложения-функции
Каждое приложение-функция начинается с одного входящего IP-адреса. При выполнении в плане "Потребление" или "Премиум" могут добавляться дополнительные входящие IP-адреса при горизонтальном масштабировании на основе событий. Чтобы найти входящий IP-адрес или адреса, используемые приложением, используйте служебную nslookup
программу на локальном компьютере, как показано в следующем примере:
nslookup <APP_NAME>.azurewebsites.net
В этом примере замените <APP_NAME>
именем приложения-функции. Если приложение использует имя личного домена, используйте nslookup
вместо него имя личного домена.
IP-адреса для исходящего трафика приложения-функции
У каждого приложения-функции имеется набор доступных исходящих IP-адресов. Любое исходящее подключение из функции, например к внутренней базе данных, использует один из доступных исходящих IP-адресов в качестве IP-адреса источника. Невозможно заранее знать, какой IP-адрес будет использован для подключения. По этой причине внутренней службе необходимо разрешить в брандмауэре все исходящие IP-адреса приложения-функции.
Совет
Для некоторых функций уровня платформы, таких как ссылки на Key Vault, исходный IP-адрес может не быть одним из исходящих IP-адресов, и не следует настраивать целевой ресурс для использования этих конкретных адресов. Вместо этого рекомендуется использовать интеграцию с виртуальной сетью, так как платформа будет направлять трафик к целевому ресурсу через нее.
Вот как можно найти исходящие IP-адреса, доступные для приложения-функции.
- Войдите в обозреватель ресурсов Azure.
- Выберите Подписки > {ваша подписка} > Поставщики > Microsoft.Web > Сайты.
- На панели "JSON" найдите сайт со свойством
id
, которое заканчивается именем вашего приложения-функции. - См. разделы
outboundIpAddresses
иpossibleOutboundIpAddresses
.
Для приложения-функции в настоящее время доступен набор адресов outboundIpAddresses
. Набор possibleOutboundIpAddresses
включает в себя IP-адреса, которые будут доступны, только когда приложение-функция будет переведено на другую ценовую категорию.
Примечание
При масштабировании приложения-функции, которое выполняется в плане "Потребление" или плане "Премиум", необходимо назначить новый диапазон исходящих IP-адресов. При использовании любого из таких планов вы не можете полагаться на сообщаемые исходящие IP-адреса для создания полного списка разрешений. Чтобы иметь возможность включать все возможные исходящие адреса, используемые во время динамического масштабирования, необходимо добавить весь центр обработки данных в список разрешений.
Исходящие IP-адреса центра обработки данных
Если необходимо добавить исходящие IP-адреса, используемые приложениями-функциями, в список разрешений, можно также добавить в него центр обработки данных (регион Azure) приложений-функций. Вы можете скачать JSON-файл со списком IP-адресов всех центров обработки данных Azure. Затем найдите фрагмент JSON, который относится к региону, в котором выполняется приложение-функция.
Например, в следующем фрагменте JSON показано, как может выглядеть список разрешений для Западной Европы:
{
"name": "AzureCloud.westeurope",
"id": "AzureCloud.westeurope",
"properties": {
"changeNumber": 9,
"region": "westeurope",
"platform": "Azure",
"systemService": "",
"addressPrefixes": [
"13.69.0.0/17",
"13.73.128.0/18",
... Some IP addresses not shown here
"213.199.180.192/27",
"213.199.183.0/24"
]
}
}
Чтобы получить сведения о том, когда этот файл обновляется и изменяются IP-адреса, разверните раздел Сведения на странице Центра загрузки.
Изменения входящего IP-адреса
Входящий IP-адрес может измениться, если вы:
- удалите приложение-функцию и создадите его заново в другой группе ресурсов;
- удалите последнее приложение-функцию с некоторым сочетанием группы ресурсов и региона и создадите его заново;
- удалите привязку TLS, например во время обновления сертификата.
При первом запуске приложения-функции в рамках плана "Потребление" или плана "Премиум" входящий IP-адрес также может измениться, даже если вы не выполнили какие-либо действия, например, из перечисленных выше.
Изменения исходящих IP-адресов
Относительная стабильность исходящего IP-адреса зависит от плана размещения.
План "Потребление" и план "Премиум"
В связи с особенностями автоматического масштабирования исходящий IP-адрес может измениться в любое время при выполнении в плане "Потребление" или в плане "Премиум".
Если вам нужно управлять исходящим IP-адресом приложения-функции, например вам необходимо добавить его в список разрешений, рассмотрите возможность реализации шлюза NAT виртуальной сети в плане размещения "Премиум". Это также можно сделать в плане "Выделенный" (Служба приложений).
Планы "Выделенный"
При выполнении в планах "Выделенный" (Службы приложений) набор доступных исходящих IP-адресов для приложения-функции может измениться в следующих случаях:
- выполните какое-либо действие, которое может изменить входящий IP-адрес;
- измените ценовую категорию для плана "Выделенный" (Службы приложений). Список всех возможных исходящих IP-адресов приложения для всех ценовых категорий указан в свойстве
possibleOutboundIPAddresses
. См. также раздел Поиск исходящих IP-адресов.
Принудительное изменение исходящего IP-адреса
Используйте следующую процедуру, чтобы принудительно изменить исходящий IP-адрес в плане "Выделенный" (Службы приложений):
Изменить масштаб плана службы приложений, перейдя с ценовой категории "Стандартный" на "Премиум V2" (или наоборот).
Подождите 10 минут.
Вернитесь на исходную ценовую категорию.
Ограничения IP-адресов
Можно настроить список IP-адресов, доступ к которым разрешен или запрещен приложению-функции. Дополнительные сведения см. в статье Ограничения статических IP-адресов в Службе приложений Azure.
Выделенные IP-адреса
Существует несколько стратегий, если приложению-функции требуются статические выделенные IP-адреса.
Шлюз NAT виртуальной сети для исходящего статического IP-адреса
Вы можете управлять IP-адресом исходящего трафика из функций, используя шлюз NAT виртуальной сети для направления трафика через статический общедоступный IP-адрес. Эту топологию можно использовать в плане Премиум или Выделенный (Служба приложений). Дополнительные сведения см. в статье Учебник. Управление исходящим IP-адресом Функций Azure с помощью шлюза NAT виртуальной сети Azure.
Среда службы приложений
Для полного контроля над IP-адресами, входящими и исходящими, рекомендуется использовать Среды службы приложений (Изолированный уровень планов Службы приложений). Дополнительные сведения см. в разделах IP-адреса ASE и Как управлять входящим трафиком в среде службы приложений.
Вот как можно узнать, работает ли ваше приложение-функция в среде службы приложений.
- Войдите на портал Azure.
- Перейдите к приложению-функции.
- Откройте вкладку Обзор.
- Категория плана службы приложений отображена в разделе План служб приложений или ценовая категория. Ценовая категория среды службы приложений — Изолированный.
Номер sku
среды службы приложений — Isolated
.
Дальнейшие действия
Распространенная причина изменения IP-адреса — изменение масштаба приложения-функции. Узнайте больше о масштабировании приложений-функций.