Инфраструктура и управление облачными сценариями Сетки

Обзор

В этой статье вы узнаете о различных аспектах инфраструктуры и управления Mesh Clouding, включая службы, которые развертываются в подписке Azure при сборке и публикации проекта Cloud Scripting.

Развернутые ресурсы

Облачная скриптирование сетки состоит из . Приложения на основе NET, которые выполняются в облаке. Инфраструктура облачных сценариев Сетки, развернутая в подписке Azure клиента, содержит следующие ресурсы Azure:

  1. Служба приложений план. Представляет вычислительный кластер, где могут выполняться веб-приложения. Он также может запускать одно или несколько различных веб-приложений.

  2. Виртуальная сеть Azure: это ресурс виртуальной сети, в который развертываются экземпляры службы приложений, и позволяет им взаимодействовать друг с другом.

  3. Экземпляр веб-приложения Azure: представляет экземпляр веб-приложения, работающего на определенной виртуальной машине.

  4. служба хранилища Azure учетная запись. Содержит опубликованное содержимое и сведения о экземплярах веб-приложения Azure. Он разделен на два компонента:

    1. Хранилище BLOB-объектов службы облачных сценариев Сетки: содержит большой двоичный объект службы сценариев сетки, отправленный отправителем сетки.
    2. Таблица членства Орлеана: содержит сведения о активности экземпляров Silo Орлеана.
  5. Рабочая область Log Analytics: содержит журналы, созданные из службы облачных сценариев Сетки, работающей на Служба приложений.

  6. Application Insights: предоставляет функции мониторинга производительности приложений (APM). Средства APM полезны для мониторинга приложений от разработки, тестирования и рабочей среды.

План службы приложений

План Служба приложений определяет набор вычислительных ресурсов, позволяющих запускать веб-приложение.

При создании плана службы приложений в определенном регионе (например, Западной Европе) в этом регионе создается набор вычислительных ресурсов для этого плана. Все приложения, размещенные в этом плане службы приложений, выполняются на этих вычислительных ресурсах в соответствии с планом службы приложений. Каждый план службы приложений определяет следующее:

  • операционная система (Windows, Linux);
  • регион ("Западная часть США", "Восточная часть США" и т. д.);
  • число экземпляров виртуальных машин;
  • Размер экземпляров виртуальных машин (небольшой, средний, большой)
  • Ценовая категория ("Бесплатный", "Общий", "Базовый", "Стандартный", "Премиум", "Премиум V2", "Премиум V3", "Изолированный", "Изолированный версии 2")

Дополнительные сведения см. в документации по плану Служба приложений.

Параметры ресурсов набора средств сетки по умолчанию для плана Служба приложений

  • Имя SKU: P1v2
  • Уровень SKU: PremiumV2
  • Емкость SKU: 1
  • Тип: Linux
  • Зарезервировано: True

В контексте служб облачных сценариев Сетки план Служба приложений является компонентом вычислений. Он может автоматически масштабироваться и обрабатывать взаимодействие различных экземпляров друг с другом (сетью). CloudHost, являющееся приложением, которое запускает и управляет службами Cloud Scripting Services Сетки, в настоящее время предлагается в качестве образа Docker и, таким образом, мы используем план на основе Linux. Планы Premium более подходят для рабочих нагрузок.

Дополнительные сведения о значениях по умолчанию см. в справочнике по шаблону Bicep и ARM для ресурса плана Служба приложений.

Служба приложений

Служба приложений Azure — это служба на базе HTTP для размещения веб-приложений, интерфейсов REST API и серверной части мобильных решений. Служба приложений добавляет возможности Microsoft Azure в приложение, например безопасность, балансировку нагрузки, автомасштабирование и автоматическое управление. В службе приложений плата начисляется за используемые вычислительные ресурсы Azure. Используемые вычислительные ресурсы определяются планом службы приложений, в котором выполняются ваши приложения.

Дополнительные сведения см. в документации по Служба приложений.

Параметры ресурсов набора средств сетки по умолчанию — Служба приложений

  • httpsOnly: True
  • alwaysOn: True
  • число vnetPrivatePorts Count: 2
  • vnetRouteAllEnabled: True
  • имя виртуальной сети: имя виртуальная сеть по умолчанию

Дополнительные сведения о значениях по умолчанию см. в справочнике по шаблону Bicep и ARM для ресурса плана Служба приложений.

Виртуальная сеть

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

Дополнительные сведения см. в виртуальная сеть документации.

Параметры ресурсов набора средств сетки по умолчанию — виртуальная сеть

  • AddressSpace addressPrefixes: 10.0.0.0/16
  • Адрес подсетиPrefix: 10.0.0.0/24
  • Имя делегирования подсети: делегирование
  • Имя службы делегирования подсети: Microsoft.Web/serverFarms

Дополнительные сведения о значениях по умолчанию см. в справочнике по шаблону Bicep и ARM для ресурса виртуальная сеть.

Учетная запись хранения

Учетная запись хранения Azure содержит все объекты данных службы хранилища Azure: большие двоичные объекты, файлы, очереди и таблицы. Учетная запись хранения — это уникальное пространство имен для данных службы хранилища Azure, доступное из любой точки мира по протоколам HTTP или HTTPS. Данные в такой учетной записи имеют высокий уровень устойчивости, доступности, безопасности и масштабируемости.

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

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

  • Имя SKU: Standard_LRS
  • Тип: StorageV2

Дополнительные сведения о значениях по умолчанию см . в справочнике по шаблону Bicep и ARM для ресурса учетной записи хранения.

Рабочая область Log Analytics

Рабочая область Log Analytics — это уникальная среда для хранения данных журналов из Azure Monitor и других служб Azure, таких как Microsoft Sentinel и Microsoft Defender для облака. Это инструмент в портал Azure, который используется для редактирования и выполнения запросов журналов к данным в хранилище журналов Azure Monitor.

Дополнительные сведения см. в документации по рабочей области Log Analytics.

Параметры ресурсов набора средств сетки по умолчанию — рабочая область Log Analytics

  • forceCmkForQuery: false
  • retentionInDays: 30
  • Имя SKU: PerGB2018
  • dailyQuotaGb: 2 ГБ

Дополнительные сведения о значениях по умолчанию см . в справочнике по шаблону Bicep и ARM для ресурса рабочей области.

Application Insights

Application Insights — это расширение Azure Monitor и предоставляет функции мониторинга производительности приложений (APM). Средства APM полезны для мониторинга приложений от разработки, тестирования и рабочей среды следующим образом:

Упреждающее понимание того, как выполняется приложение. Реактивно просматривайте данные о выполнении приложения, чтобы определить причину инцидента. Наряду с сбором метрик и данных телеметрии приложений, описывающих действия приложения и работоспособность, вы можете использовать Application Insights для сбора и хранения данных журнала трассировки приложений.

Дополнительные сведения см. в документации Application Insights.

Параметры ресурсов набора средств сетки по умолчанию — Application Insights

  • Тип: веб-сайт
  • Request_Source: rest
  • WorkspaceResourceId: идентификатор рабочей области Log Analytics по умолчанию.

Дополнительные сведения о значениях по умолчанию см. в справочнике по шаблону Bicep и ARM для ресурса виртуальная сеть.

Схема инфраструктуры облачных служб сценариев Сетки

Схема, на которой показана инфраструктура служб облачной скриптов Сетки

Трафик проходит через каждый компонент

Клиент <—> экземпляры AppService: клиентские запросы и ответы (запросы подключения, уведомления об облачных сценариях и многое другое).

Служба приложений экземпляры: сообщения tcp-ping для определения активности.

Служба приложений Экземпляры <— LogAnalytics/AppInsights:> телеметрия приложений (журналы приложений).

Служба приложений экземпляры — таблица членства<:> сведения о реальном времени о каждом экземпляре службы приложений.

Служба приложений экземпляр <—> хранилище BLOB-объектов: zip-файл облачных скриптов, выполняемых в облаке.

Регистрация поставщика ресурсов

Зарегистрированные службы:

  1. Microsoft.Web
  2. Microsoft.Storage;
  3. Microsoft.Network.
  4. Microsoft.Insights
  5. Microsoft.OperationalInsights

Примечания

  • Если вам нужна помощь с ошибками, ознакомьтесь с ошибками регистрации поставщика ресурсов.

  • Как описано в документации Azure, регистрация служб выполняется на уровне подписки. Другими словами, нет необходимости регистрировать службы для разных групп ресурсов.

Управление доступом для развертывания службы "Облачные скрипты Сетки"

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

  2. Если вы управляете доступом с помощью группы безопасности Azure, создайте эту группу (например, "Разработчики облачных сценариев Сетки"). Дополнительные сведения о группе безопасности Azure по сравнению с типами групп Microsoft 365 см. в статье "Сведения о группах и членстве в группах".

  3. Решите, как разработчики хотят получить доступ к подписке Azure. Это определяется тем, является ли разработчик собственным членом каталога или гостевым пользователем.

    1. Вы можете добавить собственных членов в группу безопасности Azure, созданную на шаге 2 выше, если вы хотите легко управлять элементами управления доступом.
    2. Вы можете добавить гостевых пользователей в подписку Azure или добавить их в группу безопасности Azure (см. шаг 2 выше).

    Дополнительные сведения о гостевых пользователях см. в разделе "Добавление пользователей совместной работы B2B" в портал Azure.

Наши рекомендации по управлению доступом

Ниже приведены некоторые рекомендации по предоставлению разработчикам доступа к облачной инфраструктуре облачных служб сценариев Сетки в Azure. Они зависят от того, насколько строгими будут политики управления доступом.

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

  2. Создайте выделенную группу ресурсов для развертывания облачной инфраструктуры Облачных сценариев Сетки и предоставьте разработчикам роль участника в этой группе ресурсов. Это можно сделать с помощью группы безопасности Azure, созданной во втором предварительных требованиях, иными словами, "Разработчики облачных сценариев Сетки". Это предоставляет им полный доступ для управления всеми ресурсами, но не позволяет им назначать роли в Azure RBAC, управлять назначениями в Azure Blueprints или предоставлять общий доступ к коллекциям изображений.

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

    Эту роль можно назначить непосредственно в группе безопасности Azure, созданной во втором условии, т. е. "Разработчики облачных сценариев Сетки".

    Ниже приведены рекомендуемые разрешения для создаваемых пользовательских ролей:

    Экран страницы, на которой вы выбираете пользовательские роли.

    Json-файл, который вы хотите отправить, должен быть похож на этот**:

    {
    "id": "88888-8888-8888-888-8888888",
        "properties": {
            "roleName": "MeshCloudScriptingServiceDeployer",
            "description": "Grants access to Mesh Cloud Scripting Services resources",
            "assignableScopes": [
                "/subscriptions/{subscriptionID}"
            ],
            "permissions": [
                {
                    "actions": [
                        "*/read",
                        "Microsoft.Authorization/*/read",
                        "Microsoft.ClassicCompute/virtualMachines/extensions/*",
                        "Microsoft.ClassicStorage/storageAccounts/listKeys/action",
                        "Microsoft.Compute/virtualMachines/extensions/*",
                        "Microsoft.HybridCompute/machines/extensions/write",
                        "Microsoft.Insights/alertRules/*",
                        "Microsoft.Insights/autoscalesettings/*",
                        "Microsoft.Insights/components/*",
                        "Microsoft.Insights/diagnosticSettings/*",
                        "Microsoft.Insights/generateLiveToken/read",
                        "Microsoft.Insights/metricAlerts/*",
                        "Microsoft.Insights/scheduledqueryrules/*",
                        "Microsoft.Insights/topology/read",
                        "Microsoft.Insights/transactions/read",
                        "Microsoft.Insights/webtests/*",
                        "Microsoft.Network/*",
                        "Microsoft.OperationalInsights/*",
                        "Microsoft.OperationsManagement/*",
                        "Microsoft.ResourceHealth/availabilityStatuses/read",
                        "Microsoft.Resources/deployments/*",
                        "Microsoft.Resources/subscriptions/resourcegroups/deployments/*",
                        "Microsoft.Resources/subscriptions/resourceGroups/read",
                        "Microsoft.Storage/storageAccounts/*",
                        "Microsoft.Support/*",
                        "Microsoft.Web/certificates/*",
                        "Microsoft.Web/hostingEnvironments/Join/Action",
                        "Microsoft.Web/listSitesAssignedToHostName/read",
                        "Microsoft.Web/serverFarms/join/action",
                        "Microsoft.Web/serverFarms/*",
                        "Microsoft.Web/sites/*"
                    ],
                    "notActions": [],
                    "dataActions": [],
                    "notDataActions": []
                }
            ]
        }
    }
    

    Примечание.

    Пользовательская роль MeshCloudScriptingServiceDeployer не позволяет пользователям создавать группы ресурсов. Если мы хотим, чтобы пользователи создали группу ресурсов, им также нужны разрешения Microsoft.Resources/subscriptions/resourcegroups/write.

Ограничения квоты для облачных служб сценариев Сетки

Инфраструктура служб облачных сценариев Сетки использует план Linux уровня "Премиум" Служба приложений Linux (P1V2). Это Служба приложений ограничения, которые могут возникнуть при развертывании службы облачных сценариев Сетки:

Ресурс Премиум (P1V2)
Веб-приложения, мобильные приложения или приложения API для каждого плана службы приложение Azure Не ограничено
План обслуживания приложения 100 шт. на одну группу ресурсов

Примечание.

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

Примечание.

Фактическое количество приложений, которые можно разместить на этих компьютерах, зависит от активности приложений, размера экземпляров компьютера и соответствующего использования ресурсов.

Если вы получите следующую ошибку: "Этот регион имеет квоту 0 экземпляров PremiumV2 для подписки. Попробуйте выбрать другой регион или номер SKU", см . ограничения и квоты подписки Azure.

Очистка устаревших служб облачной скриптов Сетки

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

  1. Войдите на портал Azure.

  2. Перейдите на вкладку "Все ресурсы".

    Выберите все ресурсы в портал Azure

  3. На странице "Все ресурсы":

    a. Выберите соответствующую подписку.

    Выбор подписки в Azure

    b. Добавьте фильтр с тегом EnvironmentName.

    Фильтр EnvironmentName в Azure

    c. Найдите ресурсы, соответствующие средам, которые нужно удалить.

    Фильтр ресурсов в Azure

  4. Очистите устаревшие службы облачной скриптов Сетки, щелкнув многоточие рядом с именем каждого ресурса, найденного на шаге 3C, а затем щелкнув "Удалить" в раскрывающемся списке. Кроме того, вы можете использовать Azure CLI, как описано в этой статье об удалении ресурсов по имени.

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