Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
Azure Spring Apps — это новое название службы Azure Spring Cloud. Хотя у сервиса новое название, старое название будет еще некоторое время встречаться в некоторых местах, пока мы работаем над обновлением ресурсов, таких как снимки экрана, видео и схемы.
Эта статья относится к: ✔️ Standard ✔️ Enterprise
Эта эталонная архитектура является основой, использующим типичный корпоративный концентратор и периферийный дизайн для использования Azure Spring Apps. В проекте Azure Spring Apps развертывается в одной зоне, которая зависит от общих служб, размещенных в центре. Архитектура построена при помощи компонентов для достижения основных принципов в Microsoft Azure Well-Architected Framework.
Существует два варианта azure Spring Apps: план "Стандартный" и "Корпоративный".
План Azure Spring Apps standard состоит из сервера конфигурации Spring Cloud, реестра службы Spring Cloud и службы сборки kpack.
План Azure Spring Apps Enterprise состоит из службы сборки VMware Tanzu®, службы конфигурации приложений для VMware Tanzu®, реестра служб VMware Tanzu®, Spring Cloud Gateway для VMware Tanzu® и портала API для VMware Tanzu®.
Сведения о реализации этой архитектуры см. в справочной архитектуре Azure Spring Apps на GitHub.
Варианты развертывания для этой архитектуры включают Azure Resource Manager (ARM), Terraform, Azure CLI и Bicep. Артефакты в этом репозитории предоставляют основу, которую можно настроить для вашей среды. Вы можете группировать такие ресурсы, как Брандмауэр Azure или Шлюз приложений, в разные группы ресурсов или подписки. Это группирование помогает отделять различные функции, такие как ИТ-инфраструктура, безопасность, команды бизнес-приложений и т. д.
Планирование адресного пространства
Для Azure Spring Apps требуется две выделенные подсети:
- Время выполнения службы
- Приложения Spring Boot
Для каждой из этих подсетей требуется выделенный кластер Azure Spring Apps. Несколько кластеров не могут совместно использовать одни и те же подсети. Минимальный размер каждой подсети — /28. Количество экземпляров приложений, которые azure Spring Apps может поддерживать, зависит от размера подсети. Подробные требования к виртуальной сети можно найти в разделе "Требования к виртуальной сети" в разделе "Развертывание Azure Spring Apps" в виртуальной сети.
Предупреждение
Выбранный размер подсети не может перекрываться с существующим адресным пространством виртуальной сети и не должен перекрываться с диапазонами адресов одноранговой или локальной подсети.
Случаи использования
Типичные способы использования этой архитектуры:
- Частные приложения: внутренние приложения, развернутые в гибридных облачных средах
- Приложения для публичного доступа: ориентированные на внешний интерфейс приложения.
Эти варианты использования аналогичны, за исключением правил безопасности и сетевого трафика. Эта архитектура предназначена для учета нюансов каждого элемента.
Частные приложения
В следующем списке описаны требования к инфраструктуре для частных приложений. Эти требования являются типичными в строго регулируемых средах.
- Подсеть должна иметь только один экземпляр Azure Spring Apps.
- Соблюдение по крайней мере одного эталона безопасности должно быть обеспечено.
- Записи службы доменных имен узла приложения (DNS) должны храниться в частной службе DNS Azure.
- Зависимости службы Azure должны взаимодействовать через Service Endpoints или Private Link.
- Неактивные данные должны быть зашифрованы.
- Данные при передаче должны быть зашифрованы.
- Конвейеры развертывания DevOps можно использовать (например, Azure DevOps) и требовать сетевого подключения к Azure Spring Apps.
- Исходящий трафик должен проходить через центральное сетевое виртуальное устройство (NVA) (например, брандмауэр Azure).
- Если сервер конфигурации Azure Spring Apps используется для загрузки свойств конфигурации из репозитория, репозиторий должен быть частным.
- Подход "Zero Trust" от Microsoft требует, чтобы секреты, сертификаты и учетные данные хранились в безопасном хранилище. Рекомендуемая служба — Azure Key Vault.
- Разрешение имен локальных узлов и в облаке должно быть двунаправленным.
- Нет прямого исходящего трафика в общедоступный Интернет, за исключением трафика плоскости управления.
- Группы ресурсов, управляемые развертыванием Azure Spring Apps, не должны быть изменены.
- Подсети, управляемые развертыванием Azure Spring Apps, не должны быть изменены.
В следующем списке показаны компоненты, составляющие структуру:
- Локальная сеть
- Служба доменных имен (DNS)
- Шлюз
- Подписка на хаб
- Подсеть Шлюза приложений (Application Gateway)
- Подсеть брандмауэра Azure
- Подсеть общих служб
- Подключенная подписка
- Подсеть Бастиона Azure
- Одноранговый узел виртуальной сети
В следующем списке описаны службы Azure в этой эталонной архитектуре:
Azure Key Vault: аппаратная служба управления учетными данными с жесткой интеграцией со службами удостоверений Майкрософт и вычислительными ресурсами.
Azure Monitor: комплексный набор служб мониторинга для приложений, развертывающих как в Azure, так и в локальной среде.
Azure Pipelines: полностью многофункциональная служба непрерывной интеграции и непрерывной разработки (CI/CD), которая может автоматически развертывать обновленные приложения Spring Boot в Azure Spring Apps.
Microsoft Defender для облака: единая система управления безопасностью и защиты от угроз для рабочих нагрузок в локальной среде, нескольких облаках и Azure.
Azure Spring Apps: управляемая служба, разработанная и оптимизированная специально для приложений Spring Boot на основе Java и приложений Steeltoe на основе .NET.
На следующих схемах представлен хорошо спроектированный концентратор и периферийный дизайн, который отвечает указанным выше требованиям:
Общедоступные приложения
В следующем списке описаны требования к инфраструктуре для общедоступных приложений. Эти требования являются типичными в строго регулируемых средах.
- Подсеть должна иметь только один экземпляр Azure Spring Apps.
- Соблюдение по крайней мере одного эталона безопасности должно быть обеспечено.
- Записи службы доменных имен узла приложения (DNS) должны храниться в частной службе DNS Azure.
- Защита от атак DDoS Azure должна быть включена.
- Зависимости службы Azure должны взаимодействовать через Service Endpoints или Private Link.
- Неактивные данные должны быть зашифрованы.
- Данные при передаче должны быть зашифрованы.
- Конвейеры развертывания DevOps можно использовать (например, Azure DevOps) и требовать сетевого подключения к Azure Spring Apps.
- Исходящий трафик должен проходить через центральное сетевое виртуальное устройство (NVA) (например, брандмауэр Azure).
- Входящий трафик должен управляться как минимум шлюзом приложений или Azure Front Door.
- Адреса, которые могут маршрутизироваться в Интернете, должны храниться в Azure Public DNS.
- Подход "Zero Trust" от Microsoft требует, чтобы секреты, сертификаты и учетные данные хранились в безопасном хранилище. Рекомендуемая служба — Azure Key Vault.
- Разрешение имен локальных узлов и в облаке должно быть двунаправленным.
- Нет прямого исходящего трафика в общедоступный Интернет, за исключением трафика плоскости управления.
- Группы ресурсов, управляемые развертыванием Azure Spring Apps, не должны быть изменены.
- Подсети, управляемые развертыванием Azure Spring Apps, не должны быть изменены.
В следующем списке показаны компоненты, составляющие структуру:
- Локальная сеть
- Служба доменных имен (DNS)
- Шлюз
- Подписка на хаб
- Подсеть Шлюза приложений (Application Gateway)
- Подсеть брандмауэра Azure
- Подсеть общих служб
- Подключенная подписка
- Подсеть Бастиона Azure
- Одноранговый узел виртуальной сети
В следующем списке описаны службы Azure в этой эталонной архитектуре:
Брандмауэр приложений Azure: функция шлюза приложений Azure, которая обеспечивает централизованную защиту приложений от распространенных эксплойтов и уязвимостей.
Шлюз приложений Azure: подсистема балансировки нагрузки, обрабатывающая трафик приложений и обеспечивающая разгрузку TLS на уровне 7.
Azure Key Vault: аппаратная служба управления учетными данными с жесткой интеграцией со службами удостоверений Майкрософт и вычислительными ресурсами.
Azure Monitor: комплексный набор служб мониторинга для приложений, развертывающих как в Azure, так и в локальной среде.
Azure Pipelines: полностью многофункциональная служба непрерывной интеграции и непрерывной разработки (CI/CD), которая может автоматически развертывать обновленные приложения Spring Boot в Azure Spring Apps.
Microsoft Defender для облака: единая система управления безопасностью и защиты от угроз для рабочих нагрузок в локальной среде, нескольких облаках и Azure.
Azure Spring Apps: управляемый сервис, разработанный и оптимизированный специально для приложений Spring Boot на основе Java и приложений Steeltoe на основе .NET.
На следующих схемах отражена хорошо спроектированная звездообразная (hub-and-spoke) архитектура, которая отвечает указанным выше требованиям. Только виртуальная сеть концентратора взаимодействует с Интернетом:
Локальное подключение Azure Spring Apps
Приложения в Azure Spring Apps могут взаимодействовать с различными ресурсами Azure, локальной средой и внешними ресурсами. С помощью центральной и периферийной структуры приложения могут маршрутизировать трафик вне сети или в локальную сеть с помощью Express Route или виртуальной частной сети типа "сеть — сеть" (VPN).
Рекомендации по платформе Azure с продуманной архитектурой
Azure Well-Architected Framework — это набор руководящих принципов для создания надежной инфраструктуры. Платформа содержит следующие категории: оптимизация затрат, эффективность работы, эффективность производительности, надежность и безопасность.
Оптимизация затрат
Из-за природы распределенной системы разрастание инфраструктуры является реальностью. Эта реальность приводит к непредвиденным и неконтролируемым затратам. Azure Spring Apps создается с помощью компонентов, масштабируемых для удовлетворения спроса и оптимизации затрат. Основной частью этой архитектуры является служба Azure Kubernetes (AKS). Сервис предназначен для снижения сложности и эксплуатационных затрат на управление Kubernetes, что включает повышение эффективности операционных затрат кластера.
Вы можете развернуть различные приложения и типы приложений в одном экземпляре Azure Spring Apps. Служба поддерживает автоматическое масштабирование приложений, активируемое метриками или расписаниями, которые могут повысить эффективность использования и затрат.
Вы также можете использовать Application Insights и Azure Monitor для снижения эксплуатационных затрат. Благодаря видимости, предоставленной комплексным решением для ведения журнала, вы можете реализовать автоматизацию для масштабирования компонентов системы в режиме реального времени. Вы также можете анализировать данные журнала, чтобы выявить неэффективные результаты в коде приложения, который можно устранить, чтобы повысить общую стоимость и производительность системы.
Эффективность работы
Azure Spring Apps решает несколько аспектов эффективности работы. Эти аспекты можно объединить, чтобы служба эффективно работала в рабочих средах, как описано в следующем списке:
- Вы можете использовать Azure Pipelines, чтобы обеспечить надежность и согласованность развертываний, помогая избежать человеческой ошибки.
- Azure Monitor и Application Insights можно использовать для хранения данных журнала и телеметрии. Вы можете оценить собранные данные журнала и метрик, чтобы обеспечить работоспособность и производительность приложений. Мониторинг производительности приложений (APM) полностью интегрирован в службу через агент Java. Этот агент обеспечивает видимость всех развернутых приложений и зависимостей, не требуя дополнительного кода. Дополнительные сведения см. в записи блога, в статье о мониторинге приложений и зависимостей в Azure Spring Apps.
- Вы можете использовать Microsoft Defender для Облака, чтобы обеспечить безопасность приложений, предоставив платформу для анализа и оценки предоставленных данных.
- Служба поддерживает различные шаблоны развертывания. Дополнительные сведения см. в статье "Настройка промежуточной среды в Azure Spring Apps".
Надёжность
Azure Spring Apps основан на AKS. Хотя AKS проявляет уровень устойчивости с помощью кластеризации, данная эталонная архитектура идет еще дальше, включая службы и архитектурные соображения, чтобы повысить доступность приложения, если происходит сбой компонента.
Опираясь на хорошо определенный концентратор и периферийный дизайн, основа этой архитектуры гарантирует, что ее можно развернуть в нескольких регионах. В случае использования частного приложения архитектура использует Частный DNS Azure для обеспечения непрерывной доступности во время географического сбоя. В случае использования общедоступного приложения Azure Front Door и Шлюз приложений Azure обеспечивают доступность.
Безопасность
Безопасность этой архитектуры решается его соблюдением отраслевых элементов управления и эталонных показателей. В этом контексте "контроль" означает краткие и четко определенные рекомендации, такие как "Использование принципа наименьших привилегий при реализации доступа к информационной системе. IAM-05" Элементы управления в этой архитектуре относятся к Матрице управления Облаком (CCM) Альянсом Облачной Безопасности (CSA) и Microsoft Azure Foundations Benchmark (MAFB) Центром Интернет-безопасности (CIS). В применяемых элементах управления основное внимание уделяется основным принципам проектирования безопасности системы управления, сети и безопасности приложений. Вы несете ответственность за управление принципами проектирования идентификации, управления доступом и хранилищем в контексте их связи с целевой инфраструктурой.
Управление
Основной аспект управления, на который обращается эта архитектура, заключается в сегрегации путем изоляции сетевых ресурсов. В CCM DCS-08 рекомендует управление входящего трафика и исходящего трафика для центра обработки данных. Для соблюдения требований контроля архитектура использует дизайн "центр и периферия" с использованием групп безопасности сети (NSG) для фильтрации восточно-западного трафика между ресурсами. Архитектура также фильтрует трафик между центральными службами в концентраторе и ресурсами в периферийной части. В архитектуре используется экземпляр брандмауэра Azure для управления трафиком между Интернетом и ресурсами в архитектуре.
В следующем списке показан элемент управления, который обращается к безопасности центра обработки данных в этой ссылке:
Идентификатор контроля CSA CCM | Домен управления CSA CCM |
---|---|
DCS-08 | Безопасность центра обработки данных: вход посторонним запрещён |
Сеть
Схема сети, поддерживающая эту архитектуру, является производной от традиционной модели "концентратор - периферия". Это решение гарантирует, что сетевая изоляция является базовой конструкцией. Элемент управления CCM IVS-06 рекомендует ограничить и отслеживать трафик между сетями и виртуальными машинами между доверенными и ненадежными окружениями. Эта архитектура применяет управление с помощью реализации сетевых групп безопасности для восточно-западного трафика (в пределах центра обработки данных) и брандмауэра Azure для северно-южного трафика (за пределами "центра обработки данных"). Элемент управления CCM IPY-04 рекомендует инфраструктуре использовать безопасные сетевые протоколы для обмена данными между службами. Службы Azure, поддерживающие эту архитектуру, используют стандартные безопасные протоколы, такие как TLS для HTTP и SQL.
В следующем списке показаны элементы управления CCM, которые обращаются к сетевой безопасности в этой ссылке:
Идентификатор контроля CSA CCM | Домен управления CSA CCM |
---|---|
IPY-04 | Сетевые протоколы |
IVS-06 | Сетевая безопасность |
Реализация сети еще более защищена путем определения элементов управления из MAFB. Элементы управления гарантируют, что доступ в среду ограничен из общедоступного Интернета.
В следующем списке показаны меры контроля CIS, которые касаются сетевой безопасности в этом контексте.
Идентификатор контроля CIS | Описание контроля CIS |
---|---|
6.2 | Убедитесь, что доступ К SSH ограничен из Интернета. |
6.3 | Убедитесь, что базы данных SQL не разрешают входящий трафик с адреса 0.0.0.0/0 (ЛЮБОЙ IP-адрес). |
6.5 | Убедитесь, что наблюдатель за сетями включен. |
6.6 | Убедитесь, что входящий трафик с помощью UDP ограничен из Интернета. |
Azure Spring Apps требует исходящего трафика управления из Azure при развертывании в защищенной среде. Необходимо разрешить правила сети и приложений, перечисленные в обязанностях клиента для запуска Azure Spring Apps в виртуальной сети.
Безопасность приложений
Этот принцип проектирования охватывает основные компоненты удостоверений, защиты данных, управления ключами и конфигурации приложений. По проектированию приложение, развернутое в Azure Spring Apps, выполняется с минимальными привилегиями, необходимыми для работы. Набор элементов управления авторизацией напрямую связан с защитой данных при использовании службы. Управление ключами укрепляет этот многоуровневый подход к безопасности приложений.
В следующем списке показаны элементы управления CCM, которые обращаются к управлению ключами в этой ссылке:
Идентификатор контроля CSA CCM | Домен управления CSA CCM |
---|---|
EKM-01 | Право на шифрование и управление ключами |
EKM-02 | Создание ключей шифрования и управления ключами |
EKM-03 | Шифрование и управление ключами для защиты конфиденциальных данных |
EKM-04 | Шифрование и хранилище управления ключами и доступ |
Из CCM, EKM-02 и EKM-03 рекомендуют политики и процедуры для управления ключами и использования протоколов шифрования для защиты конфиденциальных данных. EKM-01 рекомендует, чтобы все криптографические ключи имели идентифицируемых владельцев, чтобы их можно было управлять. EKM-04 рекомендует использовать стандартные алгоритмы.
В следующем списке показаны элементы управления CIS, которые относятся к управлению ключами в этом контексте:
Идентификатор контроля CIS | Описание контроля CIS |
---|---|
8.1 | Убедитесь, что дата окончания срока действия задана во всех ключах. |
8.2 | Убедитесь, что срок действия установлен для всех секретов. |
8.4 | Убедитесь, что хранилище ключей можно восстановить. |
Элементы управления CIS 8.1 и 8.2 рекомендуют устанавливать даты окончания срока действия учетных данных, чтобы гарантировать регулярную смену. Контроль CIS 8.4 гарантирует, что содержимое хранилища ключей можно восстановить для обеспечения непрерывности бизнес-процессов.
Аспекты безопасности приложений позволяют использовать эту эталонную архитектуру для поддержки рабочей нагрузки Spring в Azure.
Дальнейшие действия
Изучите эту эталонную архитектуру с помощью развертываний ARM, Terraform и Azure CLI, доступных в репозитории эталонной архитектуры Azure Spring Apps .