Развертывание экземпляра Azure Управление API в виртуальной сети — внутренний режим
ОБЛАСТЬ ПРИМЕНЕНИЯ: Разработчик | Премия
Azure Управление API можно развернуть (внедрить) в виртуальную сеть Azure для доступа к внутренним службам в сети. Параметры подключения к виртуальной сети, требования и рекомендации см. в статье:
- Использование виртуальной сети с azure Управление API
- Требования к сетевым ресурсам для внедрения Управление API в виртуальную сеть
В этой статье объясняется, как настроить подключение виртуальных сетей для вашего экземпляра Управления API в внутреннем режиме. В этом режиме вы можете получить доступ только к следующим конечным точкам Управления API в виртуальной сети, доступом к которой вы управляете.
- Шлюз API
- Портал разработчика
- Прямое управление
- Git
Примечание.
- Ни одна из конечных точек Управления API не регистрируется на общедоступных DNS-серверах. Конечные точки остаются недоступными, пока вы не настроите DNS для виртуальной сети.
- Чтобы использовать автономный шлюз в этом режиме, также включите частное подключение к конечной точке конфигурации локального шлюза.
Используйте Управление API во внутреннем режиме, чтобы:
- предоставлять третьим лицам защищенный доступ к API, размещенным в частном центре обработки данных, с помощью VPN-подключений Azure или Azure ExpressRoute;
- создать гибридное облачное развертывание, предоставляя единый шлюз для облачных и локально размещенных API-интерфейсов;
- управлять API-интерфейсами, размещенными в разных географических расположениях, через одну общую конечную точку шлюза.
Конфигурации, относящиеся к внешнему режиму, где конечные точки Управление API доступны из общедоступного Интернета, а серверные службы находятся в сети, см. в статье "Развертывание экземпляра Azure Управление API в виртуальной сети — внешний режим".
Примечание.
Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Чтобы начать работу, см. статью Установка Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.
Необходимые компоненты
Перед началом работы просмотрите требования к сетевым ресурсам для внедрения Управление API в виртуальную сеть.
Некоторые предварительные отличаются в зависимости от версии (stv2
или stv1
) вычислительной платформы, на которой размещен экземпляр Управления API.
Совет
Если вы используете портал, чтобы создать или обновить сетевое подключение для существующего экземпляра Управления API, экземпляр размещается на вычислительной платформе stv2
.
- Экземпляр управления API. Дополнительные сведения см. в статье о создании экземпляра управления API Azure.
Виртуальная сеть и подсеть в тех же регионе и подписке, что и экземпляр Управления API.
- Подсеть, используемая для подключения к экземпляру службы Управление API, может содержать ресурсы Azure других типов.
- Подсеть не должна включать делегирования. Подсеть делегата в параметр службы для подсети должна иметь значение None.
Группа безопасности сети, подключенная к подсети, которая указана выше. Чтобы явным образом разрешить входящее подключение, требуется группа безопасности сети (NSG), так как подсистема балансировки нагрузки, используемая внутри Управлением API, является безопасной по умолчанию и отклоняет весь входящий трафик. Сведения о конкретной конфигурации см. в разделе Настройка правил группы безопасности сети далее в этой статье.
Для определенных сценариев включите конечные точки службы в подсети зависимым службам, таким как служба хранилища Azure или SQL Azure. Дополнительные сведения см. в статье "Принудительное подключение трафика к локальному брандмауэру с помощью ExpressRoute или виртуального сетевого устройства" далее в этой статье.
(Необязательно) Общедоступный IPv4-адрес SKU уровня "Стандартный".
Внимание
- Начиная с мая 2024 г. ресурс общедоступного IP-адреса больше не требуется при развертывании (внедрении) экземпляра Управление API в виртуальной сети в внутреннем режиме или переносе конфигурации внутренней виртуальной сети в новую подсеть. В режиме внешней виртуальной сети указание общедоступного IP-адреса является необязательным. Если он не указан, управляемый Azure общедоступный IP-адрес автоматически настраивается и используется для трафика API среды выполнения. Укажите только общедоступный IP-адрес, если вы хотите владеть общедоступным IP-адресом, используемым для входящего или исходящего подключения к Интернету.
Если это указано, IP-адрес должен находиться в том же регионе и подписке, что и экземпляр Управление API и виртуальная сеть.
При создании ресурса общедоступного IP-адреса обязательно назначьте ему метку DNS-имени. Как правило, следует использовать то же DNS-имя, что и экземпляр Управление API. При изменении экземпляра повторно разверните экземпляр, чтобы применить новую метку DNS.
Для оптимальной производительности сети рекомендуется использовать параметры маршрутизации по умолчанию: сеть Майкрософт.
При создании общедоступного IP-адреса в регионе, в котором планируется включить избыточность между зонами для экземпляра Управления API, настройте параметр Избыточность между зонами.
Значение IP-адреса назначается в качестве виртуального общедоступного IPv4-адреса экземпляра Управления API в этом регионе.
Для развертываний службы Управление API с несколькими регионами настройте ресурсы виртуальной сети отдельно для каждого расположения.
Активация подключения к виртуальной сети
Активация возможности подключения к виртуальной сети с помощью портала Azure (платформа stv2
)
Перейдите на портал Azure, чтобы найти экземпляр Управления API. Найдите и выберите Службы управления API.
Выберите экземпляр Управления API.
Выберите Сеть>Виртуальная сеть.
Выберите тип доступа Внутренний.
В списке расположений (регионов), где подготовлена служба "Управление API":
- Выберите расположение.
- Выберите виртуальную сеть и подсеть.
- Список виртуальных сетей заполнен виртуальными сетями Resource Manager, имеющимися в подписках Azure, которые заданы в настраиваемом регионе.
Выберите Применить. Страница Виртуальная сеть экземпляра Управления API будет обновлена с учетом новых выбранных виртуальной сети и подсети.
Продолжите настройку параметров виртуальной сети для остальных расположений экземпляра Управления API.
В верхней панели навигации нажмите кнопку "Сохранить".
Обновление экземпляра Управления API может занять от 15 до 45 минут. Во время обработки для категории "Разработчик" возникает простой. Для ценовой категории "Базовый" и более высоких простой не возникает.
После успешного развертывания вы должны увидеть частный виртуальный IP-адрес и общедоступный виртуальный IP-адрес Управления API в колонке Обзор. Дополнительные сведения об IP-адресах см. в разделе Маршрутизация этой статьи.
Примечание.
Поскольку URL-адрес шлюза не зарегистрирован в общедоступной службе DNS, консоль тестирования, доступная на портале Azure, не будет работать для внутренней службы, развернутой в виртуальной сети. Вместо этого следует использовать консоль тестирования, доступную на портале разработчика.
Активация возможности подключения с помощью шаблона Resource Manager (платформа stv2
)
Шаблон Azure Resource Manager (API версии 2021-08-01)
Активация возможности подключения с помощью командлетов Azure PowerShell (платформа stv1
)
Создайте или обновите экземпляр службы "Управление API" в виртуальной сети.
Настройка правил группы безопасности сети
Настройте пользовательские правила сети для подсети Управления API, чтобы фильтровать трафик для экземпляра Управления API. Рекомендуется использовать следующие минимальные правила NSG, чтобы обеспечить правильную работу и доступ к экземпляру. Внимательно просмотрите среду, чтобы определить больше правил, которые могут потребоваться.
Внимание
В зависимости от использования кэширования и других функций может потребоваться настроить дополнительные правила NSG за пределами минимальных правил в следующей таблице. Подробное описание параметров см. в статье Справочник по конфигурации виртуальной сети.
- Для большинства сценариев используйте заданные теги службы вместо IP-адресов службы, чтобы указывать сетевые источники и назначения.
- Задайте для этих правил приоритет выше, чем у правил по умолчанию.
Исходные и конечные порты | Направление | Транспортный протокол | Теги служб Ресурс и назначение |
Характер использования | Тип виртуальной сети |
---|---|---|---|---|---|
* / [80], 443 | Входящий трафик | TCP | Internet / VirtualNetwork | Подключения клиентов к службе управления API | Только внешний |
* / 3443 | Входящий трафик | TCP | ApiManagement/VirtualNetwork | Конечная точка управления для портала Azure и PowerShell | Внешний и внутренний |
*/6390 | Входящий трафик | TCP | AzureLoadBalancer/VirtualNetwork | Подсистема балансировки нагрузки инфраструктуры Azure | Внешний и внутренний |
* / 443 | Входящий трафик | TCP | AzureTrafficManager / VirtualNetwork | маршрутизация Диспетчер трафика Azure для развертывания в нескольких регионах | Только внешний |
* / 443 | Исходящие | TCP | VirtualNetwork/Storage | Зависимость от служба хранилища Azure для основных функций службы | Внешний и внутренний |
* / 1433 | Исходящие | TCP | VirtualNetwork/SQL | Доступ к конечным точкам SQL Azure для основных функций службы | Внешний и внутренний |
* / 443 | Исходящие | TCP | VirtualNetwork / AzureKeyVault | Доступ к Azure Key Vault для основных функций службы | Внешний и внутренний |
* / 1886, 443 | Исходящие | TCP | VirtualNetwork/AzureMonitor | Публикация журналов диагностики и метрик, работоспособности ресурсов и Application Insights | Внешний и внутренний |
DNS configuration (Настройка DNS)
В режиме внутренней виртуальной сети необходимо управлять собственным DNS, чтобы обеспечить входящий доступ к конечным точкам Управления API.
Примите во внимание следующие рекомендации.
- Настройка частной зоны Azure DNS.
- Связывание частной зоны Azure DNS с виртуальной сетью, в которой развернута служба "Управление API".
Узнайте, как настроить частную зону в Azure DNS.
Примечание.
Служба "Управление API" не прослушивает запросы по этим IP-адресам. Он отвечает только на запросы имени узла, настроенного на конечных точках. К этим конечным точкам относятся:
- Шлюз API
- Портал Azure
- Портал разработчика
- Конечная точка прямого управления
- Git
Доступ по именам узлов по умолчанию
Если вы создадите службу управления API (например, contosointernalvnet
), по умолчанию будут настроены следующие конечные точки:
Конечная точка | Конфигурация конечной точки |
---|---|
API Gateway | contosointernalvnet.azure-api.net |
Портал разработчика | contosointernalvnet.portal.azure-api.net |
Новый портал разработчика | contosointernalvnet.developer.azure-api.net |
Конечная точка прямого управления | contosointernalvnet.management.azure-api.net |
Git | contosointernalvnet.scm.azure-api.net |
Доступ по пользовательским доменным именам
Если вы не хотите получить доступ к службе Управление API с именами узлов по умолчанию, настройте пользовательские доменные имена для всех конечных точек, как показано на следующем рисунке:
Настройка записей DNS
Создайте записи на DNS-сервере, чтобы получать доступ к конечным точкам, доступным в виртуальной сети. Сопоставьте записи конечной точки с частным виртуальным IP-адресом службы.
В целях тестирования можно обновить файл узлов на виртуальной машине в подсети, подключенной к виртуальной сети, в которой развернуты Управление API. Если для службы используется частный виртуальный IP-адрес 10.1.0.5, в файле hosts, можно задать следующие сопоставления. Файл сопоставления узлов находится в %SystemDrive%\drivers\etc\hosts
(Windows) или /etc/hosts
(Linux, macOS).
Внутренний виртуальный IP-адрес | Конфигурация конечной точки |
---|---|
10.1.0.5 | contosointernalvnet.azure-api.net |
10.1.0.5 | contosointernalvnet.portal.azure-api.net |
10.1.0.5 | contosointernalvnet.developer.azure-api.net |
10.1.0.5 | contosointernalvnet.management.azure-api.net |
10.1.0.5 | contosointernalvnet.scm.azure-api.net |
Теперь вы сможете обращаться с этой виртуальной машины к любой из конечных точек Управления API.
Маршрутизация
Следующие виртуальные IP-адреса настроены для экземпляра Управления API во внутренней виртуальной сети.
Виртуальный IP-адрес | Description |
---|---|
Частный виртуальный IP-адрес | IP-адрес с балансировкой нагрузки из диапазона подсети экземпляра Управления API, через который можно получить доступ к шлюзу API, порталу разработчика, управлению и конечным точкам Git. Зарегистрируйте этот адрес на DNS-серверах, используемых виртуальной сетью. |
Общедоступный виртуальный IP-адрес | Используется только для трафика уровня управления, направляемого в конечную точку управления через порт 3443. Может быть заблокирован для тега службы ApiManagement. |
Общедоступный и частный IP-адреса для подсистемы балансировки нагрузки можно узнать в колонке Обзор на портале Azure.
Дополнительные сведения и рекомендации см. в статье IP-адрес Управления API Azure.
Виртуальные и динамические IP-адреса
Динамические IP-адреса будут назначены каждой базовой виртуальной машине в службе и использованы для доступа к конечным точкам и ресурсам в виртуальной сети и одноранговых виртуальных сетях. Общедоступный виртуальный IP-адрес службы "Управление API" будет использоваться для доступа к общедоступным ресурсам.
Если списки ограничений IP-адресов используются для защиты ресурсов в виртуальной сети или одноранговых виртуальных сетях, рекомендуется указать весь диапазон для подсети, в которой развернута служба управления API, чтобы предоставить или ограничить доступ к службе.
Дополнительные сведения о рекомендуемом размере подсети.
Пример
При развертывании одной единицы емкости Управления API на уровне "Премиум" во внутренней виртуальной сети будут использоваться три IP-адреса: один для частного виртуального IP-адреса и по одному для динамических IP-адресов двух виртуальных машин. При горизонтальном увеличении масштаба до четырех единиц IP-адреса будут использоваться для дополнительных динамических IP-адресов из подсети.
Если конечная точка назначения в списке разрешений содержит только фиксированный набор динамических IP-адресов, при добавлении новых единиц в будущем возникнут ошибки подключения. По этой причине и так как подсеть полностью находится под вашим контролем, рекомендуется добавить в список разрешений всю подсеть в серверной части.
Принудительное туннелирование трафика в локальный брандмауэр с помощью ExpressRoute или сетевого виртуального устройства
Принудительное туннелирование позволяет перенаправлять или принудительно направлять весь интернет-трафик из вашей подсети обратно в локальную среду для проверки и аудита. Обычно вы настраиваете и определяете собственный маршрут по умолчанию (0.0.0.0/0
), вследствие чего весь трафик из подсети Управления API принудительно проходит через локальный брандмауэр или виртуальное сетевое устройство. Этот поток трафика прерывает подключение к службе "Управление API", так как исходящий трафик или блокируется локально, или преобразуется с помощью NAT в нераспознаваемый набор адресов, которые больше не относятся к различным конечным точкам Azure. Чтобы устранить эту проблему, используйте указанные ниже способы:
Включите конечные точки службы в подсети, в которой развернута служба "Управление API":
- Azure SQL (обязательно только в основном регионе, если служба "Управление API" развернута в нескольких регионах)
- Хранилище Azure
- Центры событий Azure
- Azure Key Vault (обязательно при развертывании службы "Управление API" на платформе
stv2
)
Включение конечных точек для этих служб непосредственно из подсети службы "Управление API" позволяет использовать магистральную сеть Microsoft Azure с оптимальной маршрутизацией трафика службы. Если вы используете конечные точки службы с принудительным туннелированием Управления API, трафик указанных выше служб Azure не туннелируется принудительно. Однако другой трафик зависимостей службы "Управление API" продолжает туннелироваться принудительно. Убедитесь, что ваш брандмауэр или виртуальное устройство не блокирует этот трафик, иначе служба управления API может работать неправильно.
Примечание.
Настоятельно рекомендуется включить конечные точки служб непосредственно из подсети "Управление API" для зависимых служб, таких как Azure SQL и служба хранилища Azure, которые их поддерживают. Тем не менее в некоторых организациях может потребоваться принудительное туннелирование всего трафика из подсети "Управление API". В таком случае убедитесь, что вы настроили брандмауэр или виртуальный модуль, чтобы дать разрешение на этот трафик. Вам необходимо разрешить полный диапазон IP-адресов каждой зависимой службы и поддерживать эту конфигурацию в актуальном состоянии при изменении инфраструктуры Azure. Служба "Управление API" также может столкнуться с задержкой или непредвиденным истечением времени ожидания из-за принудительного туннелирования этого сетевого трафика.
Весь трафик плоскости управления из Интернета в конечную точку управления службы Управление API направляется через определенный набор входящих IP-адресов, размещенных Управление API, охватываемый тегом службы ApiManagement. При принудительном туннелировании трафика ответы не будут симметрично сопоставляться с этими входящими исходными IP-адресами, и подключение к конечной точке управления будет потеряно. Чтобы преодолеть это ограничение, настройте определяемый пользователем маршрут (UDR) для тега службы ApiManagement с типом следующего прыжка, установленным значением "Интернет", чтобы управлять трафиком обратно в Azure.
Примечание.
Разрешение трафику управления службы Управления API обходить локальный брандмауэр или сетевое виртуальное устройство не считается серьезной угрозой безопасности. Рекомендуемая конфигурация для подсети Управления API разрешает входящий трафик управления через порт 3443 только из набора IP-адресов Azure, охватываемых тегом службы ApiManagement. Рекомендуемая конфигурация UDR используется только для обратного пути этого трафика Azure.
(Режим внешней виртуальной сети) Трафик плоскости данных для клиентов, пытающихся подключиться к шлюзу Управления API и порталу разработчика из Интернета, также будет отброшен по умолчанию из-за асимметричной маршрутизации, введенной принудительным туннелированием. Для каждого клиента, которому требуется доступ, настройте явный определяемый пользователем маршрут с типом следующего прыжка "Интернет", чтобы обойти брандмауэр или виртуальное сетевое устройство.
Для других зависимостей службы "Управление API" с принудительным туннелированием необходимо разрешать имя узла и обеспечить доступ к конечной точке. Например:
- Наблюдение за работоспособностью и метриками
- Диагностика на портале Azure
- Ретрансляция SMTP
- CAPTCHA на портале разработчика
- Сервер Azure KMS
Более подробную информацию можно найти в разделе Справочник по конфигурации виртуальной сети.
Распространенные проблемы с конфигурацией сети
Этот раздел перемещен. См. статью Справочник по конфигурации виртуальной сети.
Устранение неполадок
Неудачное первоначальное развертывание службы "Управление API" в подсети
- Разверните виртуальную машину в той же подсети.
- Подключитесь к виртуальной машине и проверьте подключение к одному из следующих ресурсов в подписке Azure:
- Большой двоичный объект хранилища Azure
- База данных SQL Azure
- Таблица хранилища Azure
- Azure Key Vault (для экземпляра Управления API, размещенного на платформе
stv2
)
Внимание
После проверки возможности подключения удалите все ресурсы в подсети перед развертыванием в ней Управления API (требуется, если Управление API размещается на платформе stv1
).
Проверка состояния сети
После развертывания службы "Управление API" в подсети используйте портал, чтобы проверить подключение экземпляра к зависимостям, таким как служба хранилища Azure.
На портале в меню слева в разделе Развертывание и инфраструктура выберите Сеть>Состояние сети.
Фильтр | Description |
---|---|
Обязательный | Выберите проверку подключения к необходимым службам Azure для службы "Управление API". Сбой указывает на то, что экземпляру не удается выполнить основные операции для управления API. |
Необязательно | Выберите проверку подключения к дополнительным службам. Сбой указывает только на то, что определенные функциональные возможности не будут работать (например, SMTP). Сбой может привести к снижению производительности при использовании и отслеживании экземпляра Управления API, а также обеспечении требований SLA. |
Чтобы устранить неполадки с подключением, выберите:
Метрики — проверка метрик состояния сетевого подключения
Диагностика — запуск средства проверки виртуальной сети за указанный период времени
Чтобы устранить проблемы с подключением, ознакомьтесь с настройками конфигурации сети и укажите необходимые параметры сети.
Добавочные операции обновления
При внесении изменений в сеть обратитесь к API NetworkStatus, чтобы убедиться, что служба Управление API не потеряла доступ к критически важным ресурсам. Состояние подключения должно обновляться каждые 15 минут.
Чтобы применить изменение конфигурации сети к экземпляру Управления API с помощью портала:
- В меню слева для экземпляра в разделе "Развертывание и инфраструктура" выберите ">Виртуальная сеть".
- Выберите Применить конфигурацию сети.
Ссылки для перехода на ресурсы
Экземпляр Управление API, размещенный на stv1
вычислительной платформе, при развертывании в подсети виртуальной сети Resource Manager резервирует подсеть, создав ссылку навигации по ресурсам. Если эта подсеть уже содержит ресурс другого поставщика, развертывание завершится ошибкой. Аналогично, если вы удаляете службу "Управление API" или перемещаете ее в другую подсеть, ссылка для перехода на ресурс удаляется.
Проблемы, возникающие при переназначии экземпляра Управление API в предыдущую подсеть
- Блокировка виртуальной сети. При перемещении экземпляра Управление API обратно в исходную подсеть немедленное переназначение может быть невозможно из-за блокировки виртуальной сети, которая занимает до одного часа. Если исходная подсеть имеет другие
stv1
платформенные службы Управление API (на основе облачной службы), удаление и ожидание необходимо для развертыванияstv2
службы на основе платформы в той же подсети. - Блокировка группы ресурсов — другой сценарий, который следует рассмотреть, заключается в наличии блокировки области на уровне группы ресурсов или выше, что препятствует процессу удаления канала навигации по ресурсу. Чтобы устранить эту проблему, удалите блокировку области и разрешите задержку примерно 4–6 часов для службы Управление API, чтобы отменить связь с исходной подсетью перед удалением блокировки, что позволяет развернуть нужную подсеть.
Устранение неполадок подключения к Microsoft Graph из виртуальной сети
Сетевое подключение к Microsoft Graph необходимо для функций, включая вход пользователей на портал разработчика с помощью поставщика удостоверений Microsoft Entra.
Чтобы устранить неполадки с подключением к Microsoft Graph из виртуальной сети, выполните указанные ниже действия.
Убедитесь, что NSG и другие сетевые правила настроены для исходящего подключения из экземпляра Управление API к Microsoft Graph (с помощью тега службы AzureActiveDirectory).
Убедитесь, что разрешение DNS и сетевой доступ из
graph.microsoft.com
виртуальной сети. Например, подготовьте новую виртуальную машину в виртуальной сети, подключитесь к ней и попробуйте выполнитьGET https://graph.microsoft.com/v1.0/$metadata
попытку из браузера или с помощью cURL, PowerShell или других средств.
Следующие шаги
Дополнительные сведения: