Развертывание Azure Spring Apps в виртуальной сети

Примечание.

Azure Spring Apps — это новое название службы Azure Spring Cloud. Старое название будет еще некоторое время встречаться в наших материалах, пока мы не обновим ресурсы, такие как снимки экрана, видео и схемы.

Эта статья применима к: ✔️ 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 и Microsoft.ContainerService в соответствии с инструкциями, приведенными в разделе "Регистрация поставщика Microsoft.AppPlatform ресурсов" на портал 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:
    • Одна для среды выполнения службы.
    • Одна для приложений Azure Spring.
    • Между этими подсетями и экземпляром службы Azure Spring Apps существует связь "один к одному". Используйте новую подсеть для каждого развертываемого экземпляра службы. Каждая подсеть может содержать только один экземпляр службы.
  • Адресное пространство: CIDR блокирует до /28 для подсети среды выполнения службы и подсети приложений Spring.
  • Таблица маршрутов. По умолчанию подсети не требуются существующие таблицы маршрутов. Вы можете использовать собственную таблицу маршрутизации.

Выполните следующие действия, чтобы настроить виртуальную сеть для хранения экземпляра Azure Spring Apps.

Создание виртуальной сети

Если у вас уже есть виртуальная сеть для размещения экземпляра службы Azure Spring Apps, пропустите шаги 1, 2 и 3. Вы можете начать с шага 4, чтобы подготовить подсети для виртуальной сети.

  1. В меню портала Azure выберите Создать ресурс. В Azure Marketplace выберите Сети>Виртуальная сеть.

  2. В диалоговом окне Создать виртуальную сеть введите или выберите приведенную ниже информацию.

    Параметр Значение
    Отток подписок Выберите свою подписку.
    Группа ресурсов Создайте группу ресурсов или выберите имеющуюся.
    Имя. Введите azure-spring-apps-vnet.
    Расположение Выберите Восточная часть США.
  3. Нажмите кнопку "Далее": IP-адреса.

  4. В поле диапазона IPv4-адресов введите 10.1.0.0/16.

  5. Нажмите Добавить подсеть. Затем введите значения service-runtime-subnet для параметра Имя подсети и 10.1.0.0/24 для параметра Диапазон адресов подсети. Нажмите кнопку Добавить.

  6. Снова выберите " Добавить подсеть", а затем введите имя подсети и диапазон адресов подсети. Например, введите apps-subnet и 10.1.1.0/24. Нажмите кнопку Добавить.

  7. Выберите Review + create (Просмотреть и создать). Сохраните остальные значения по умолчанию и нажмите Создать.

Предоставление службе разрешения на доступ к виртуальной сети

В этом разделе показано, как предоставить Azure Spring Apps разрешение владельца виртуальной сети. Это разрешение позволяет предоставить выделенный и динамический субъект-службу в виртуальной сети для дальнейшего развертывания и обслуживания.

Примечание.

Минимальные необходимые разрешения — это доступ пользователей Администратор istrator и участник сети. Вы можете предоставить назначения ролей обоим из них, если вы не можете предоставить Owner разрешение.

Если вы используете собственную таблицу маршрутов или определяемую пользователем функцию маршрута, вам также необходимо предоставить Azure Spring Apps те же назначения ролей таблицам маршрутов. Дополнительные сведения см. в разделе "Создание собственной таблицы маршрутов" и "Управление исходящим трафиком" для экземпляра Azure Spring Apps.

Чтобы предоставить разрешение, выполните следующие действия.

  1. Выберите созданную ранее виртуальную сеть azure-spring-apps-vnet .

  2. Выберите Управление доступом (IAM), а затем Добавить>Добавить назначение ролей.

    Снимок экрана: страница портал Azure контроль доступа (IAM), на которой показана вкладка

  3. Owner Назначьте роль поставщику ресурсов Azure Spring Apps. Дополнительные сведения см. в разделе Назначение ролей Azure с помощью портала Azure.

    Примечание.

    Если вы не найдете поставщик ресурсов Azure Spring Apps, найдите поставщика ресурсов Azure Spring Cloud.

    Снимок экрана: страница портал Azure контроль доступа с областью

Развертывание экземпляра Azure Spring Apps

Чтобы развернуть экземпляр Azure Spring Apps в виртуальной сети, выполните следующие действия.

  1. Откройте портал Azure.

  2. В поле поиска сверху введите Azure Spring Apps. Выберите пункт Azure Spring Apps в списке результатов.

  3. На странице Azure Spring Apps выберите Добавить.

  4. Заполните форму на странице Создание Azure Spring Apps.

  5. Выберите ту же группу ресурсов и регион, в которых находится виртуальная сеть.

  6. В разделе Сведения о службе в поле Имя выберите azure-spring-apps-vnet.

  7. Перейдите на вкладку Сеть и выберите следующие значения:

    Параметр Значение
    Deploy in your own virtual network (Развертывание в собственной виртуальной сети) Выберите Да.
    Виртуальная сеть Выберите azure-spring-apps-vnet.
    Service runtime subnet (Подсеть среды выполнения службы) Выберите service-runtime-subnet.
    Spring Boot microservice apps subnet (Подсеть приложений для микрослужб Spring Boot) Выберите apps-subnet.

    Снимок экрана: страница создания портал Azure Azure Spring Apps с вкладкой

  8. Выберите Просмотр и создание.

  9. Проверьте спецификации и щелкните Создать.

    Снимок экрана: страница создания портал Azure Azure Spring Apps с разделом

После развертывания в подписке создаются еще две группы ресурсов для размещения сетевых ресурсов для экземпляра Azure Spring Apps. Перейдите на главную страницу, затем выберите вверху пункт меню Группы ресурсов, чтобы найти указанные ниже новые группы ресурсов.

Группа ресурсов, именуемая как ap-svc-rt_{service instance name}_{service instance region} содержащая сетевые ресурсы для среды выполнения службы экземпляра службы.

Снимок экрана: портал Azure с ресурсами для среды выполнения службы.

Группа ресурсов, именуемая как ap-app_{service instance name}_{service instance region} содержащая сетевые ресурсы для приложений Spring экземпляра службы.

Снимок экрана: портал Azure с ресурсами для приложений Spring.

Эти сетевые ресурсы подключены к виртуальной сети, создание которой показано на предыдущем изображении.

Снимок экрана: страница портал Azure Подключение устройств для виртуальной сети.

Внимание

Группы ресурсов полностью управляются службой Azure Spring Apps. Не следует вручную удалять или изменять ресурсы внутри.

Использование небольших диапазонов подсети

В этой таблице приведено максимальное число экземпляров приложений, которые поддерживает Azure Spring Apps при использовании небольших диапазонов подсетей.

CIDR подсети приложения Всего IP-адресов Доступные IP-адреса Максимальное число экземпляров приложения
/28 16 8

Приложение с 0,5 ядром: 192
Приложение с одним ядром: 96
Приложение с двумя ядрами: 48
Приложение с тремя ядрами: 32
Приложение с четырьмя ядрами: 24

/27 32 24

Приложение с ядром 0,5: 456
Приложение с одним ядром: 228
Приложение с двумя ядрами: 144
Приложение с тремя ядрами: 96
Приложение с четырьмя ядрами: 72

/26 64 56

Приложение с ядром 0.5: 500
Приложение с одним ядром: 500
Приложение с двумя ядрами: 336
Приложение с тремя ядрами: 224
Приложение с четырьмя ядрами: 168

/25 128 120

Приложение с ядром 0.5: 500
Приложение с одним ядром: 500
Приложение с двумя ядрами: 500
Приложение с тремя ядрами: 480
Приложение с четырьмя ядрами: 360

/24 256 248

Приложение с ядром 0.5: 500
Приложение с одним ядром: 500
Приложение с двумя ядрами: 500
Приложение с тремя ядрами: 500
Приложение с четырьмя ядрами: 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 и подсеть среды выполнения службы должны быть связаны с разными таблицами маршрутизации или ни с одной из них.
  • Разрешения необходимо назначить до создания экземпляра. Обязательно предоставьте поставщику Owner ресурсов Azure Spring Apps разрешение (или User Access AdministratorNetwork Contributor разрешения) в таблицах маршрутов.
  • После создания кластера невозможно обновить связанный ресурс таблицы маршрутов. Хотя вы не можете обновить ресурс таблицы маршрутов, можно изменить пользовательские правила в таблице маршрутов.
  • Невозможно повторно использовать таблицу маршрутов с несколькими экземплярами из-за возможных конфликтов правил маршрутизации.

Использование пользовательских DNS-серверов

Azure Spring Apps поддерживает использование пользовательских DNS-серверов в виртуальной сети.

Если настраиваемые DNS-серверы не указаны в параметре DNS-сервера виртуальная сеть, Azure Spring Apps по умолчанию будет использовать Azure DNS для разрешения IP-адресов. Если виртуальная сеть настроена с настраиваемыми параметрами DNS, добавьте IP-адрес 168.63.129.16 Azure DNS в качестве вышестоящий DNS-сервера на пользовательском DNS-сервере. Azure DNS может разрешать IP-адреса для всех общедоступных полных доменных имен, упоминание в обязанностях клиента, выполняющих Azure Spring Apps в виртуальной сети. Он также может разрешать IP-адрес *.svc.private.azuremicroservices.io в виртуальной сети.

Если пользовательский DNS-сервер не может добавить IP-адрес Azure DNS в качестве вышестоящий DNS-сервера168.63.129.16, выполните следующие действия.

Следующие шаги