Развертывание Azure Spring Apps в виртуальной сети
Примечание.
Планы Basic, Standardи Enterprise вступили в период вывода из обращения 17 марта 2025 года. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.
План стандартного потребления и выделенный план вошли в период вывода из эксплуатации 30 сентября 2024 года, с полным завершением работы к концу марта 2025 года. Для получения дополнительной информации см. Миграция стандартного потребления и выделенного плана Azure Spring Apps в Azure Container Apps.
Эта статья относится к:✅ Java ✅ C#
Эта статья относится к: ❎ «Basic» ✅ «Standard» ✅ «Enterprise»
В этом учебнике объясняется, как развернуть экземпляр службы Azure Spring Apps в виртуальной сети. Иногда это развертывание называют внедрением виртуальной сети.
Развертывание позволяет:
- изоляцию приложений и среды выполнения служб Azure Spring Apps от Интернета в корпоративной сети;
- взаимодействие Azure Spring Apps с системами в локальных центрах обработки данных и (или) службах Azure в других виртуальных сетях;
- предоставление клиентам возможности контролировать входящие и исходящие сетевые подключения для Azure Spring Apps.
В следующем видео показано, как защитить приложения Spring Boot с помощью управляемых виртуальных сетей.
Примечание.
Вы можете выбрать виртуальную сеть Azure только при создании нового экземпляра службы Azure Spring Apps. Вы не можете изменить использование другой виртуальной сети после создания Azure Spring Apps.
Предварительные требования
Зарегистрируйте поставщика ресурсов Azure Spring Apps в соответствии с инструкциями, приведенными в разделе «Регистрация поставщика ресурсов на портале Azure» или выполнив следующую команду Azure CLI:
az provider register --namespace Microsoft.AppPlatform
az provider register --namespace Microsoft.ContainerService
Требования к виртуальной сети
Виртуальная сеть, в которой развертывается экземпляр Azure Spring Apps, должна соответствовать приведенным ниже требованиям.
- Расположение. Виртуальная сеть должна находиться в том же расположении, что и экземпляр Azure Spring Apps.
- Подписка: Виртуальная сеть должна находиться в той же подписке, что и экземпляр Azure Spring Apps.
- Подсети: виртуальная сеть должна включать две подсети, выделенные экземпляру Azure Spring Apps:
- Одна для среды выполнения сервиса.
- Одна для ваших Spring приложений.
- Между этими подсетями и экземпляром службы Azure Spring Apps существует взаимосвязь "один к одному". Используйте новую подсеть для каждого развертываемого экземпляра службы. Каждая подсеть может содержать только один экземпляр службы.
- Адресное пространство: CIDR-блоки размером до
/28
для подсети среды выполнения службы и подсети приложений Spring. - Таблица маршрутов. По умолчанию подсети не требуются существующие таблицы маршрутов. Вы можете использовать собственную таблицу маршрутизации.
Выполните следующие действия, чтобы настроить виртуальную сеть для хранения экземпляра Azure Spring Apps.
Создание виртуальной сети
Если у вас уже есть виртуальная сеть для размещения экземпляра службы Azure Spring Apps, пропустите шаги 1, 2 и 3. Вы можете начать с шага 4, чтобы подготовить подсети для виртуальной сети.
В меню портала Azure выберите Создать ресурс. В Azure Marketplace выберите Сети>Виртуальная сеть.
В диалоговом окне Создать виртуальную сеть введите или выберите приведенную ниже информацию.
Настройка Значение Подписка Выберите свою подписку. Группа ресурсов Выберите вашу группу ресурсов или создайте новую. Имя. Введите azure-spring-apps-vnet. Расположение Выберите Восточная часть США. Нажмите кнопку "Далее": IP-адреса.
В поле диапазона IPv4-адресов введите 10.1.0.0/16.
Нажмите Добавить подсеть. Затем введите значения service-runtime-subnet для параметра Имя подсети и 10.1.0.0/24 для параметра Диапазон адресов подсети. Нажмите кнопку Добавить.
Снова выберите " Добавить подсеть", а затем введите имя подсети и диапазон адресов подсети. Например, введите apps-subnet и 10.1.1.0/24. Нажмите кнопку Добавить.
Выберите Просмотр и создание. Сохраните остальные значения по умолчанию и нажмите Создать.
Предоставление службе разрешения на доступ к виртуальной сети
В этом разделе показано, как предоставить Azure Spring Apps разрешения администратора доступа пользователей и участника сети в виртуальной сети. Это разрешение позволяет предоставить выделенный и динамический субъект-службу в виртуальной сети для дальнейшего развертывания и обслуживания.
Примечание.
Если вы используете собственную таблицу маршрутов или определяемую пользователем функцию маршрута, вам также необходимо предоставить Azure Spring Apps те же назначения ролей таблицам маршрутов. Дополнительные сведения см. в разделе "Создание собственной таблицы маршрутов" и "Управление исходящим трафиком" для экземпляра Azure Spring Apps.
Чтобы предоставить разрешение, выполните следующие действия.
Выберите созданную ранее виртуальную сеть
azure-spring-apps-vnet
.Выберите Управление доступом (IAM), а затем Добавить>Добавить назначение ролей.
Назначьте роли участника сети и администратора доступа пользователей поставщику ресурсов Azure Spring Cloud. Дополнительные сведения см. в разделе Назначение ролей Azure с помощью портала Azure.
Примечание.
Роль Администратор доступа пользователей находится в ролях привилегированного администратора, а Участник сети находится в ролях функциональных обязанностей.
Развертывание экземпляра Azure Spring Apps
Чтобы развернуть экземпляр Azure Spring Apps в виртуальной сети, выполните следующие действия.
Откройте портал Azure.
В поле поиска сверху введите Azure Spring Apps. Выберите пункт Azure Spring Apps в списке результатов.
На странице Azure Spring Apps выберите Добавить.
Заполните форму на странице Создание Azure Spring Apps.
Выберите ту же группу ресурсов и регион, в которых находится виртуальная сеть.
В разделе Сведения о службе в поле Имя выберите azure-spring-apps-vnet.
Перейдите на вкладку Сеть и выберите следующие значения:
Настройка Значение Deploy in your own virtual network (Развертывание в собственной виртуальной сети) Выберите Да. Виртуальная сеть Выберите azure-spring-apps-vnet. Подсеть выполнения службы Выберите service-runtime-subnet. Spring Boot microservice apps subnet (Подсеть приложений для микрослужб Spring Boot) Выберите apps-subnet. Выберите Просмотреть и создать.
Проверьте спецификации и щелкните Создать.
После развертывания в вашей подписке создаются еще две группы ресурсов для хостинга сетевых ресурсов экземпляра Azure Spring Apps. Перейдите на главную страницу, затем выберите вверху пункт меню Группы ресурсов, чтобы найти указанные ниже новые группы ресурсов.
Группа ресурсов с именем ap-svc-rt_{имя экземпляра службы}_{регион экземпляра службы} содержит сетевые ресурсы для среды выполнения службы экземпляра службы.
Ресурсная группа под названием ap-app_{имя экземпляра службы}_{регион экземпляра службы} содержит сетевые ресурсы для Spring-приложений конкретного экземпляра службы.
Эти сетевые ресурсы подключены к виртуальной сети, создание которой показано на предыдущем изображении.
Внимание
Группы ресурсов полностью управляются службой Azure Spring Apps. Не следует вручную удалять или изменять ресурсы внутри.
Использование небольших диапазонов подсети
В этой таблице приведено максимальное число экземпляров приложений, которые поддерживает Azure Spring Apps при использовании небольших диапазонов подсетей.
CIDR подсети приложения | Всего IP-адресов | Доступные IP-адреса | Максимальное число экземпляров приложения |
---|---|---|---|
/28 | 16 | 8 | Приложение с 0,5 ядром: 192 |
/27 | 32 | 24 | Приложение с 0,5 ядра: 456 |
/26 | 64 | 56 | Приложение с 0,5 ядра процессора: 500 |
/25 | 128 | 120 | Приложение с ядром 0.5: 500 |
/24 | 256 | 248 | Приложение с 0,5 ядра: 500 |
Для подсетей Azure резервирует пять IP-адресов, а Для Azure Spring Apps требуется не менее трех IP-адресов. Требуется по меньшей мере восемь IP-адресов, поэтому /29 и /30 являются нерабочими.
Для подсети среды выполнения службы минимальный размер равен /28.
Примечание.
Небольшой диапазон подсети влияет на базовый ресурс, который можно использовать для системных компонентов, таких как контроллер входящего трафика. Azure Spring Apps использует базовый контроллер входящего трафика для обработки управления трафиком приложений. Число экземпляров контроллера входящего трафика автоматически увеличивается по мере увеличения трафика приложения. Зарезервировать более крупный диапазон IP-адресов подсети виртуальной сети, если трафик приложения может увеличиться в будущем. Обычно вы резервируете один IP-адрес при трафике 10000 запросов в секунду.
Принесите свою таблицу маршрутизации
Azure Spring Apps поддерживает использование существующих подсетей и таблиц маршрутизации.
Если пользовательские подсети не содержат таблицы маршрутов, Azure Spring Apps создает их для каждой подсети и добавляет к ним правила на протяжении всего жизненного цикла экземпляра. Если ваши настраиваемые подсети содержат таблицы маршрутизации, Azure Spring Apps распознает существующие таблицы маршрутизации во время операций экземпляра и при необходимости добавляет или обновляет правила для этих операций.
Предупреждение
Настраиваемые правила можно добавить в пользовательские таблицы маршрутизации и обновить. Но правила добавляются с помощью Azure Spring Apps. Их не следует обновлять или удалять. Правила, такие как 0.0.0.0/0, должны всегда существовать в данной таблице маршрутизации и сопоставляться с узлом назначения вашего интернет-шлюза, например, NVA или другого шлюза для исходящего трафика. Будьте внимательны при обновлении правил, если изменяются только настраиваемые правила.
Требования к таблице маршрутизации
Таблицы маршрутов, к которым связана настраиваемая виртуальная сеть, должны соответствовать следующим требованиям:
- Таблицы маршрутов Azure можно связать с виртуальной сетью только при создании нового экземпляра службы Azure Spring Apps. Вы не можете изменить использование другой таблицы маршрутов после создания экземпляра Azure Spring Apps.
- Подсеть приложения Spring и подсеть среды выполнения службы должны быть связаны с разными таблицами маршрутизации или ни с одной из них.
- Разрешения должны быть назначены до создания экземпляра. Обязательно предоставьте поставщику Azure Spring Cloud ресурсов
User Access Administrator
иNetwork Contributor
разрешения на ваши таблицы маршрутов. - После создания кластера невозможно обновить связанный ресурс таблицы маршрутов. Хотя вы не можете обновить ресурс таблицы маршрутов, можно изменить пользовательские правила в таблице маршрутов.
- Невозможно повторно использовать таблицу маршрутов с несколькими экземплярами из-за возможных конфликтов правил маршрутизации.
Использование пользовательских DNS-серверов
Azure Spring Apps поддерживает использование пользовательских DNS-серверов в виртуальной сети.
Если настраиваемые DNS-серверы не указаны в параметре DNS-сервера виртуальная сеть, Azure Spring Apps по умолчанию будет использовать Azure DNS для разрешения IP-адресов. Если виртуальная сеть настроена с настраиваемыми параметрами DNS, добавьте IP-адрес Azure DNS в качестве вышестоящего DNS-сервера 168.63.129.16
на настраиваемом DNS-сервере. Azure DNS может разрешать IP-адреса для всех общедоступных полных доменных имен, упомянутых в обязанностях клиента по запуску Azure Spring Apps в виртуальной сети. Он также может определять IP-адрес для *.svc.private.azuremicroservices.io
в вашей виртуальной сети.
Если пользовательский DNS-сервер не может добавить IP-адрес Azure DNS в качестве вышестоящего DNS-сервера 168.63.129.16
, выполните следующие действия.
- Убедитесь, что настраиваемый DNS-сервер может разрешать IP-адреса для всех общедоступных полных доменных имен (FQDN). Дополнительные сведения см. в статье о обязанностях клиентов, выполняющих Azure Spring Apps в виртуальной сети.
- Добавьте запись DNS в IP-адрес
*.svc.private.azuremicroservices.io
приложения. Для получения дополнительной информации см. раздел "Поиск IP-адреса для вашего приложения" в разделе "Доступ к приложению в Azure Spring Apps в виртуальной сети".