Эта архитектура предоставляет рекомендации по проектированию критически важной рабочей нагрузки, которая имеет строгие сетевые элементы управления, чтобы предотвратить несанкционированный общедоступный доступ из Интернета в любой из ресурсов рабочей нагрузки. Цель заключается в том, чтобы остановить векторы атак на сетевом уровне, чтобы общая надежность системы не влияла. Например, атака распределенного типа "отказ в обслуживании" (DDoS), если не установлен флажок, может привести к тому, что ресурс станет недоступным, подавляя его с нелегитимным трафиком.
Он основывается на критически важной базовой архитектуре, которая сосредоточена на максимизации надежности и эффективности работы без сетевых элементов управления. Эта архитектура добавляет функции для ограничения путей входящего трафика и исходящего трафика с помощью соответствующих облачных возможностей, таких как виртуальная сеть Azure и частные конечные точки, приватный канал Azure, частная зона DNS Azure и другие.
Прежде чем продолжить работу с этой статьей, рекомендуется ознакомиться с базовыми показателями.
Основные стратегии проектирования
Стратегии проектирования для критически важных базовых показателей по-прежнему применяются в этом случае. Ниже приведены дополнительные рекомендации по работе с сетями для этой архитектуры:
Управление трафиком входящего трафика
Входящий трафик или входящий трафик в виртуальную сеть должен быть ограничен, чтобы предотвратить вредоносные атаки.
Примените возможности брандмауэра веб-приложения (WAF) на глобальном уровне, чтобы остановить атаки на пограничной сети ближе к источнику атаки.
Устранение общедоступного подключения к службам Azure. Одним из способов является использование частных конечных точек.
Проверьте трафик перед вводом в сеть. Группы безопасности сети (NSG) в подсетях помогают фильтровать трафик, разрешая или запрещая поток настроенным IP-адресам и портам. Этот уровень управления также помогает в детализированном ведении журнала.
Управление исходящим трафиком
Исходящий трафик из виртуальной сети к сущностям за пределами этой сети должен быть ограничен. Отсутствие элементов управления может привести к атакам кражи данных вредоносными сторонними службами.
Ограничить исходящий трафик в Интернет с помощью брандмауэра Azure. Брандмауэр может тщательно фильтровать трафик с помощью полного доменного имени (FQDN).
Баланс компромиссов с безопасностью
Существуют значительные компромиссы при добавлении функций безопасности в архитектуру рабочей нагрузки. Вы можете заметить некоторое влияние на производительность, гибкость работы и даже надежность. Однако атаки, такие как отказ вOf-Service (DDoS), вторжение в данные и другие, могут нацелиться на общую надежность системы и в конечном итоге привести к недоступности.
Стратегии основаны на общем руководстве, предоставленном для критически важных рабочих нагрузок в хорошо спроектированных критически важных рабочих нагрузках. Мы рекомендуем изучить область проектирования сети и подключения для рекомендаций и рекомендаций при определении собственной критически важной архитектуры.
Архитектура
Скачайте файл Visio для этой архитектуры.
Компоненты этой архитектуры могут быть широко классифицированы таким образом. Документация по продуктам о службах Azure см. в разделе "Связанные ресурсы".
Глобальные ресурсы
Глобальные ресурсы являются долгой жизнью и делятся временем существования системы. Они могут быть глобально доступны в контексте модели развертывания с несколькими регионами. Дополнительные сведения см. в разделе "Глобальные ресурсы".
SKU Azure Front Door Premium используется в качестве глобального балансировщика нагрузки для надежной маршрутизации трафика в региональные развертывания, которые предоставляются через частные конечные точки.
Ознакомьтесь с критически важными рабочими нагрузками: глобальная маршрутизация трафика.
Azure Cosmos DB для NoSQL по-прежнему используется для хранения состояния вне вычислительного кластера и имеет базовые параметры конфигурации для надежности. Доступ ограничен авторизованными подключениями к частной конечной точке.
Ознакомьтесь с критически важными рабочими нагрузками: глобально распределенное хранилище данных с несколькими записью.
Реестр контейнеров Azure используется для хранения всех образов контейнеров с возможностями георепликации. Доступ ограничен авторизованными подключениями к частной конечной точке.
Ознакомьтесь с критически важными рабочими нагрузками: реестр контейнеров.
Региональные ресурсы
Региональные ресурсы подготавливаются в рамках метки развертывания в одном регионе Azure. Они кратковременны для обеспечения большей устойчивости, масштабирования и близости к пользователям. Эти ресурсы не используют ресурсы в другом регионе. Их можно самостоятельно удалить или реплицировать в другие регионы. Однако они совместно используют глобальные ресурсы друг друга. Дополнительные сведения см. в разделе "Региональные ресурсы меток".
Статический веб-сайт в учетной записи хранения Azure размещает одностраничное приложение (SPA), которое отправляет запросы в серверные службы. Этот компонент имеет ту же конфигурацию, что и интерфейс базового плана. Доступ ограничен авторизованными подключениями к частной конечной точке.
Виртуальные сети Azure предоставляют безопасные среды для выполнения рабочих нагрузок и операций управления.
Внутренняя подсистема балансировки нагрузки — источник приложения. Front Door использует этот источник для установления частного и прямого подключения к серверной части с помощью приватного канала.
Служба Azure Kubernetes (AKS) — это оркестратор для серверных вычислений, запускающих приложение и не выполняющих отслеживание состояния. Кластер AKS развертывается как частный кластер. Таким образом, сервер API Kubernetes не предоставляется общедоступному Интернету. Доступ к серверу API ограничен частной сетью. Дополнительные сведения см. в статье о кластере вычислений этой архитектуры.
Ознакомьтесь с критически важными рабочими нагрузками: оркестрация контейнеров и Kubernetes.
Брандмауэр Azure проверяет и защищает весь исходящий трафик от ресурсов виртуальной сети Azure.
Центры событий Azure используются в качестве брокера сообщений. Доступ ограничен авторизованными подключениями к частной конечной точке.
Azure Key Vault используется в качестве регионального хранилища секретов. Доступ ограничен авторизованными подключениями к частной конечной точке.
Ознакомьтесь с критически важными рабочими нагрузками с архитектурой: защита целостности данных.
Ресурсы конвейера развертывания
Конвейеры сборки и выпуска критически важных приложений должны быть полностью автоматизированы, чтобы гарантировать согласованный способ развертывания проверенной метки.
GitHub по-прежнему используется для управления версиями как высокодоступная платформа на основе Git.
Azure Pipelines выбирается для автоматизации конвейеров, необходимых для создания, тестирования и развертывания рабочей нагрузки в предварительной и рабочей средах.
Ознакомьтесь с критически важными рабочими нагрузками: DevOps.
Локальные пулы агентов сборки Azure DevOps используются для более контроля над сборками и развертываниями. Этот уровень автономии необходим, так как вычислительный кластер и все ресурсы PaaS являются частными, что требует интеграции на уровне сети, которая невозможна в агентах сборки, размещенных корпорацией Майкрософт.
Ресурсы для наблюдения
Данные мониторинга для глобальных ресурсов и региональных ресурсов хранятся независимо. Единое централизованное хранилище наблюдаемости не рекомендуется избежать одной точки сбоя. Дополнительные сведения см. в разделе "Ресурсы для наблюдения".
Azure Log Analytics используется в качестве единого приемника для хранения журналов и метрик для всех компонентов приложения и инфраструктуры.
Azure Application Insights используется в качестве средства управления производительностью приложений (APM) для сбора всех данных мониторинга приложений и хранения их непосредственно в Log Analytics.
Ознакомьтесь с критически важными рабочими нагрузками: прогнозные действия и операции искусственного интеллекта.
Ресурсы управления
Значительное изменение структуры базовой архитектуры — это вычислительный кластер. В этой структуре кластер AKS является частным. Это изменение требует подготовки дополнительных ресурсов для получения доступа.
Масштабируемые наборы виртуальных машин Azure для частных агентов сборки и экземпляров переходов для запуска средств в кластере, таких как kubectl.
Бастион Azure обеспечивает безопасный доступ к виртуальным машинам в поле перехода и удаляет необходимость общедоступных IP-адресов виртуальных машин.
Частные конечные точки для служб PaaS
Для обработки бизнес-операций или операций развертывания приложение и агенты сборки должны достичь нескольких служб Azure PaaS, подготовленных глобально, в пределах региона и даже в пределах метки. В базовой архитектуре эта связь выполняется через общедоступные конечные точки служб.
В этой структуре эти службы были защищены с помощью частных конечных точек, чтобы удалить их из общедоступного доступа к Интернету. Этот подход сокращает общую область атаки, чтобы устранить прямое изменение службы из непредвиденных источников. Однако он вводит еще одну потенциальную точку сбоя и повышает сложность. Тщательно рассмотрите компромиссы с безопасностью перед принятием этого подхода.
Частные конечные точки должны быть помещены в выделенную подсеть виртуальной сети метки. Частные IP-адреса частным конечным точкам назначаются из этой подсети. По сути, любой ресурс в виртуальной сети может взаимодействовать со службой, достигнув частного IP-адреса. Убедитесь, что адресное пространство достаточно большое, чтобы разместить все частные конечные точки, необходимые для этой метки.
Для подключения через частную конечную точку требуется запись DNS. Рекомендуется хранить записи DNS, связанные со службами, в частных зонах DNS Azure, обслуживаемых Azure DNS. Убедитесь, что полное доменное имя (FQDN) разрешается в частный IP-адрес.
В этой архитектуре частные конечные точки были настроены для реестра контейнеров Azure, Azure Cosmos DB, Key Vault, ресурсов хранилища и Центров событий. Кроме того, кластер AKS развертывается как частный кластер, который создает частную конечную точку для службы API Kubernetes в сети кластера.
Существует две виртуальные сети, подготовленные в этой структуре, и оба имеют выделенные подсети для хранения частных конечных точек для всех этих служб. Макет сети описан в макете виртуальной сети.
При добавлении дополнительных компонентов в архитектуру рассмотрите возможность добавления дополнительных частных конечных точек. Например, можно добавить ограничения в ресурсы наблюдаемости. Azure Log Analytics и Azure Application Insights поддерживают использование частных конечных точек. Дополнительные сведения см. в статье "Использование приватного канала Azure" для подключения сетей к Azure Monitor.
Их можно создать в одной или разных подсетях в одной виртуальной сети. Количество частных конечных точек, которые можно создать в рамках подписки, ограничено. Дополнительные сведения см. в разделе об ограничениях Azure.
Дальнейшее управление доступом к службам с помощью групп безопасности сети в подсети.
Частный входящий трафик
SKU Azure Front Door Premium используется в качестве глобальной точки входа для всего входящего трафика клиента. Он использует возможности брандмауэра веб-приложений (WAF), чтобы разрешить или запретить трафик на пограничной сети. Настроенные правила WAF предотвращают атаки даже до ввода меток виртуальных сетей.
Эта архитектура также использует возможность Front Door использовать Приватный канал Azure для доступа к источнику приложений без использования общедоступных IP-адресов и конечных точек на внутренних серверах. Для этого требуется внутренняя подсистема балансировки нагрузки в виртуальной сети метки. Этот ресурс находится перед контроллером входящего трафика Kubernetes, запущенным в кластере. Поверх этой частной подсистемы балансировки нагрузки служба приватного канала создается AKS, которая используется для частного подключения из Front Door.
После установки подключения частные конечные точки в сети Front Door имеют прямое подключение с подсистемой балансировки нагрузки и статическим веб-сайтом в сети меток через приватный канал.
Дополнительные сведения см. в разделе о работе приватного канала.
Ознакомьтесь с критически важными рабочими нагрузками: службы доставки приложений.
Ограниченные исходящие данные
Для приложений может потребоваться некоторое исходящее подключение к Интернету. Управление трафиком обеспечивает способ ограничения, мониторинга и ограничения исходящего трафика. В противном случае непредвиденный внутренний доступ может привести к компрометации и потенциально ненадежного состояния системы. Ограниченный исходящий трафик также может решить другие проблемы безопасности, такие как утечка данных.
Использование брандмауэра и групп безопасности сети (NSG) может убедиться, что исходящий трафик из приложения проверяется и регистрируется.
В этой архитектуре Брандмауэр Azure является одной точкой исходящего трафика и используется для проверки всего исходящего трафика, исходящего из виртуальной сети. Определяемые пользователем маршруты (UDR) используются в подсетях, способных генерировать исходящий трафик, например подсеть приложения.
Сведения об ограничении исходящего трафика см. в разделе "Управление исходящим трафиком" для узлов кластера в службе Azure Kubernetes (AKS).
Макет виртуальной сети
Изоляция региональных ресурсов и ресурсов управления в отдельных виртуальных сетях. Они имеют различные характеристики, цели и вопросы безопасности.
Тип трафика: региональные ресурсы, которые участвуют в обработке бизнес-операций, требуют более высокого уровня управления безопасностью. Например, вычислительный кластер должен быть защищен от прямого интернет-трафика. Ресурсы управления подготавливаются только для доступа к региональным ресурсам для операций.
Время существования: ожидаемые сроки существования этих ресурсов также отличаются. Ожидается, что региональные ресурсы будут кратковременными (временными). Они создаются как часть метки развертывания и уничтожаются при удалении метки. Ресурсы управления делятся временем существования региона и используют ресурсы метки.
В этой архитектуре есть две виртуальные сети: сеть меток и сеть операций. Создайте дополнительную изоляцию в каждой виртуальной сети с помощью подсетей и групп безопасности сети (NSG) для защиты обмена данными между подсетями.
Ознакомьтесь с критически важными рабочими нагрузками: изолированные виртуальные сети.
Виртуальная сеть региональной метки
Метка развертывания подготавливает виртуальную сеть в каждом регионе.
Виртуальная сеть делится на эти основные подсети. Все подсети имеют группы безопасности сети (NSG), назначенные для блокировки любого несанкционированного доступа из виртуальной сети. Группы безопасности сети будут ограничивать трафик между подсетью приложения и другими компонентами в сети.
Подсеть приложения
Пулы узлов кластера AKS изолированы в подсети. Если необходимо дополнительно изолировать пул системных узлов от пула рабочих узлов, их можно разместить в отдельных подсетях.
Подсеть входящего трафика
Точка входа для каждой метки — это внутренняя подсистема балансировки нагрузки Azure уровня "Стандартный", которая размещается в выделенной подсети. Служба Приватного канала, используемая для частного подключения из Front Door, также размещается здесь.
Оба ресурса подготавливаются в рамках развертывания меток.
Метка исходящего трафика подсети
Брандмауэр Azure помещается в отдельную подсеть и проверяет исходящий трафик из подсети приложения с помощью определяемого пользователем маршрута (UDR).
Подсеть частных конечных точек
Подсети приложения потребуется получить доступ к службам PaaS в региональной метке, Key Vault и других. Кроме того, требуется доступ к глобальным ресурсам, таким как реестр контейнеров. В этой архитектуре все службы PaaS заблокированы и могут быть доступны только через частные конечные точки. Таким образом, для этих конечных точек создается другая подсеть. Входящий доступ к этой подсети защищен NSG, который разрешает трафик только из приложения.
Можно добавить дополнительное ограничение с помощью поддержки UDR для частных конечных точек, чтобы этот трафик также мог исходящий трафик через подсеть исходящего трафика.
Виртуальная сеть операций
Рабочий трафик изолирован в отдельной виртуальной сети. Так как служба API кластера AKS является частной в этой архитектуре, все развертывание и рабочий трафик также должны поступать из частных ресурсов, таких как локальные агенты сборки и ящики перехода. Эти ресурсы развертываются в отдельной виртуальной сети с прямым подключением к ресурсам приложения через собственный набор частных конечных точек. Агенты сборки и поля перехода находятся в отдельных подсетях.
Вместо использования частных конечных точек альтернативный подход — использовать пиринг виртуальной сети. Однако пиринг добавляет сложность, которая может быть трудно управлять, особенно если виртуальные сети предназначены для временного использования.
Для доступа к службам PaaS, расположенным глобально и в пределах региональной метки, необходимо получить доступ как к агентам сборки (так и к необязательным полям). Аналогично виртуальной сети региональной метки, выделенная подсеть создается для частных конечных точек необходимым службам PaaS. Группа безопасности сети в этой подсети гарантирует, что трафик входящего трафика разрешен только из подсетей управления и развертывания.
Операции управления
Типичным вариантом использования является то, что оператору необходимо получить доступ к вычислительному кластеру для запуска средств управления и команд. Служба API в частном кластере не может быть напрямую доступ к ней. Вот почему поля переходов подготавливаются, где оператор может запускать средства. Существует отдельная подсеть для полей прыжков.
Но эти ящики прыжков должны быть защищены, а также от несанкционированного доступа. Следует избегать прямого доступа к прямоугольникам перехода, открыв порты RDP/SSH. Бастион Azure рекомендуется для этой цели и требует выделенной подсети в этой виртуальной сети.
Осторожность
Подключение через Бастион Azure и коробки переходов может повлиять на производительность разработчика, например запуск средств отладки требует дополнительного процесса. Помните об этих последствиях перед решением о защите безопасности для критически важной рабочей нагрузки.
Вы можете дополнительно ограничить доступ к подсети прыжка с помощью группы безопасности сети, которая разрешает только входящий трафик из подсети Бастиона через SSH.
операции развертывания.
Чтобы создать конвейеры развертывания, необходимо подготовить дополнительные вычислительные ресурсы для запуска агентов сборки. Эти ресурсы не будут напрямую влиять на доступность рабочей нагрузки, но сбой надежности может поставить под угрозу возможность развертывания или обслуживания критически важной среды. Таким образом, функции надежности должны быть расширены для этих ресурсов.
Эта архитектура использует масштабируемые наборы виртуальных машин как для агентов сборки, так и для полей перехода (в отличие от отдельных виртуальных машин). Кроме того, сегментация сети предоставляется с помощью подсетей. Входящий трафик ограничен Azure DevOps.
Рекомендации по затратам
Существует значительное влияние на затраты на критически важные рабочие нагрузки. В этой архитектуре технологии, такие как использование SKU Azure Front Door Premium и подготовка брандмауэра Azure в каждой метке приведет к увеличению затрат. Кроме того, существуют дополнительные затраты, связанные с обслуживанием и операционными ресурсами. Перед принятием управляемой сетью версии базовой архитектуры необходимо тщательно рассмотреть такие компромиссы.
Развертывание этой архитектуры
Сетевые аспекты этой архитектуры реализуются в реализации критически важных подключенных подключений.
Замечание
Подключенная реализация предназначена для иллюстрации критически важной рабочей нагрузки, которая зависит от организационных ресурсов, интегрируется с другими рабочими нагрузками и использует общие службы. Он основан на этой архитектуре и использует сетевые элементы управления, описанные в этой статье. Однако в сценарии подключения предполагается, что виртуальная частная сеть или частная зона DNS Azure уже существуют в подписке на подключение к целевым зонам Azure.
Дальнейшие действия
Дополнительные сведения о решениях по проектированию, принятых в этой архитектуре, см. в области проектирования сети и подключения для критически важных рабочих нагрузок в Azure Well-architected Framework.
Связанные ресурсы
Документацию по продуктам в службах Azure, используемых в этой архитектуре, см. в следующих статьях.