Поделиться через


Мультитенантность и Azure Resource Manager

Azure Resource Manager — это базовая служба управления ресурсами для Azure. Каждый ресурс в Azure создается, управляется и в конечном итоге удаляется с помощью Resource Manager. При создании мультитенантного решения вы часто работаете с Resource Manager для динамической подготовки ресурсов для каждого клиента. На этой странице описаны некоторые функции Resource Manager, относящиеся к мультитенантным решениям. Мы также предоставим ссылки на рекомендации, которые помогут вам при планировании использования Resource Manager.

Функции Resource Manager, поддерживающие мультитенантность

Инфраструктура как код

Resource Manager предоставляет средства для поддержки инфраструктуры как кода, иногда называемой IaC. Инфраструктура как код важна для всех решений в облаке, но при работе с мультитенантными решениями становится особенно важной. Мультитенантное решение часто требует масштабирования развертываний и подготовки новых ресурсов при подключении новых клиентов. Если вы вручную создаете или настраиваете ресурсы, вы вводите дополнительный риск и время для процесса. Это приводит к снижению надежности процесса развертывания в целом.

При развертывании инфраструктуры в качестве кода из конвейера развертывания рекомендуется использовать Bicep, который является языком, специально предназначенным для развертывания ресурсов Azure и управления ими декларативным образом. Вы также можете использовать шаблоны AZURE Resource Manager JSON (шаблоны ARM), Terraform или другие сторонние продукты, которые обращаются к базовым API Resource Manager.

Спецификации шаблонов могут быть полезны для подготовки новых ресурсов, меток развертывания или сред из одного и хорошо параметризованного шаблона. С помощью спецификаций шаблонов можно создать центральный репозиторий шаблонов, используемых для развертывания инфраструктуры для конкретного клиента. Шаблоны хранятся и управляются в azure, и вы можете повторно использовать спецификации шаблонов всякий раз, когда их необходимо развернуть.

В некоторых решениях можно написать пользовательский код для динамической подготовки или настройки ресурсов или инициировать развертывание шаблона. Пакеты SDK Azure можно использовать из собственного кода для управления средой Azure. Убедитесь, что вы следуйте рекомендациям по управлению проверкой подлинности приложения в Resource Manager и используйте управляемые удостоверения , чтобы избежать хранения учетных данных и управления ими.

Управление доступом на основе ролей

Управление доступом на основе ролей (Azure RBAC) обеспечивает подробный подход к управлению доступом к ресурсам Azure. В мультитенантном решении рассмотрите, применяются ли ресурсы, которые должны применяться к определенным политикам Azure RBAC. Например, у вас могут быть некоторые клиенты с особенно конфиденциальными данными, и вам может потребоваться применить RBAC для предоставления доступа к определенным лицам, не включая других пользователей в вашей организации. Аналогичным образом клиенты могут запрашивать доступ к своим ресурсам Azure напрямую, например во время аудита. Если вы решили разрешить это, точно область RBAC-разрешения могут позволить предоставить доступ к данным клиента, не предоставляя доступ к данным других клиентов.

Теги

Теги позволяют добавлять пользовательские метаданные в ресурсы Azure, группы ресурсов и подписки. Рассмотрите возможность добавления тегов к ресурсам для конкретного клиента с идентификатором клиента, чтобы легко отслеживать и выделять затраты Azure, а также упростить управление ресурсами.

Квоты ресурсов Azure

Resource Manager — это одна из точек в Azure, которая применяет ограничения и квоты. Эти квоты важно учитывать в процессе разработки. Все ресурсы Azure имеют ограничения, которые необходимо придерживаться, и эти ограничения включают количество запросов, которые могут быть сделаны в Resource Manager в течение определенного периода времени. Если это ограничение превышено, Resource Manager регулирует запросы.

При создании мультитенантного решения, выполняющего автоматизированные развертывания, вы можете достичь этих ограничений быстрее, чем другие клиенты. Аналогичным образом мультитенантные решения, которые подготавливают большие объемы инфраструктуры, могут активировать ограничения.

Каждая служба Azure управляется поставщиком ресурсов, который также может определять собственные ограничения. Например, поставщик вычислительных ресурсов Azure управляет подготовкой виртуальных машин, и определяет ограничения на количество запросов , которые можно выполнить в течение короткого периода. Некоторые другие ограничения поставщика ресурсов описаны в ограничениях поставщика ресурсов.

Если вы подвержены риску превышения ограничений, определенных Resource Manager или поставщиком ресурсов, рассмотрите следующие способы устранения рисков.

  • Сегментируйте рабочую нагрузку в нескольких подписках Azure.
  • Используйте несколько групп ресурсов в подписках.
  • Отправка запросов из разных субъектов Microsoft Entra.
  • Запрос дополнительных выделений квот. Как правило, запросы на выделение квот отправляются путем открытия варианта поддержки, хотя некоторые службы предоставляют API для этих запросов, например для зарезервированных экземпляров виртуальной машины.

Выбранное устранение рисков должно соответствовать определенному ограничению, с которым вы столкнулись.

Модели изоляции

В некоторых мультитенантных решениях может потребоваться развернуть отдельные или выделенные ресурсы для каждого клиента. Resource Manager предоставляет несколько моделей, которые можно использовать для изоляции ресурсов в зависимости от ваших требований и причины изоляции ресурсов. Сведения об изоляции ресурсов Azure см . в многотенантных решениях по изоляции ресурсов Azure.

Соавторы

Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участник.

Автор субъекта:

Другие участник:

Чтобы просмотреть недоступные профили LinkedIn, войдите в LinkedIn.

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

Просмотрите подходы к развертыванию и настройке для мультитенантности.