Понимание функции гостевой конфигурации политики Azure

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

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

  • Параметры операционной системы
  • конфигурация или наличие приложения;
  • Параметры среды

Конфигурации отличаются от определений политик. Конфигурация гостя использует политику Azure для динамического назначения конфигураций компьютерам. Можно также назначать конфигурации компьютерам вручнуюили с помощью других служб Azure, таких как Управление.

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

Тип Описание Пример истории
Управление конфигурацией Требуется полное представление сервера в виде кода в системе управления версиями. Развертывание должно включать свойства сервера (размер, сеть, хранилище) и конфигурацию операционной системы и параметров приложения. "Этот компьютер должен быть веб-сервером, настроенным для размещения моего веб-сайта".
Соответствие Вы хотите выполнять аудит или развертывание параметров на всех компьютерах в области действия либо в интерактивном режиме, либо на новых компьютерах при их развертывании. "Все компьютеры должны использовать TLS 1,2. Проведите аудит существующих компьютеров, чтобы можно было выпустить изменения в том месте, где это необходимо, в контролируемом масштабе. Для новых компьютеров применяйте параметр при развертывании».

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

Доступен пошаговый видеопросмотр этого документа. (обновление ожидается в ближайшее время)

Включить гостевую конфигурацию

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

Поставщик ресурсов

Прежде чем вы сможете использовать функцию гостевой конфигурации политики Azure, необходимо зарегистрировать поставщика ресурсов Microsoft.GuestConfiguration. Если назначение политики гостевой конфигурации выполняется через портал или если подписка зарегистрирована в Центре безопасности Azure, поставщик ресурсов регистрируется автоматически. Вы можете вручную зарегистрироваться через портал, Azure PowerShell или Azure CLI.

Требования к развертыванию виртуальных машин Azure

Для управления настройками внутри машины включено расширение виртуальной машины и машина должна иметь управляемую системой идентификацию. Расширение загружает соответствующее назначение гостевой конфигурации и соответствующие зависимости. Идентификатор используется для аутентификации компьютера при чтении и записи в службу гостевой конфигурации. Расширение не требуется для серверов с поддержкой Arc, так как оно включено в агент Arc Connected Machine.

Важно!

Расширение гостевой конфигурации и управляемое удостоверение необходимы для управления виртуальными машинами Azure.

Чтобы развернуть расширение в масштабе на многих машинах, назначьте инициативу политики Deploy prerequisites to enable guest configuration policies on virtual machines к группе управления, подписке или группе ресурсов, содержащей компьютеры, которыми планируется управлять.

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

Чтобы использовать гостевые пакеты конфигурации, которые применяют конфигурации, требуется расширение гостевой конфигурации виртуальной машины Azure версии 1.29.24 или более поздней.

Ограничения, установленные для расширения

Чтобы расширение не влияло на приложения, запущенные на машине, агенту гостевой конфигурации не разрешается превышать более 5 % ЦП. Это ограничение существует как для встроенных, так и для пользовательских определений. Это справедливо и для гостевой службы настройки в агенте на подключенном компьютере Arc.

Инструменты проверки

Внутри машины агент гостевой конфигурации использует локальные инструменты для выполнения задач.

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

Операционная система Инструмент проверки Примечания
Windows Конфигурация желаемого состояния PowerShell v3 Загружено в папку, используемую только Политикой Azure. Не будет конфликтовать с Windows PowerShell DSC. PowerShell Core не добавляется в системный путь.
Linux Конфигурация желаемого состояния PowerShell v3 Загружено в папку, используемую только Политикой Azure. PowerShell Core не добавляется в системный путь.
Linux Chef InSpec Устанавливает Chef InSpec версии 2.2.61 в расположение по умолчанию и добавляет в системный путь. Также устанавливаются зависимости для пакета спецификации, включая Ruby и Python.

Частота проверки

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

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

Поддерживаемые типы клиентов

Политики настройки гостевой конфигурации являются инклюзивными для новых версий. Более старые версии операционных систем, доступные в Azure Marketplace, не поддерживаются, если клиент гостевой конфигурации несовместим. В таблице ниже перечислены операционные системы, поддерживаемые в образах Azure. Текст ".x" является символьным и представляет новые дополнительные номера версии дистрибутивов Linux.

Издатель Имя Версии
Amazon Linux 2
Canonical Сервер Ubuntu 14.04–20.x
Credativ Debian 8–10.x
Microsoft Windows Server 2012-2022
Microsoft Клиент Windows Windows 10
Oracle; Oracle-Linux 7.x–8.x
OpenLogic CentOS 7.3–8.x
Red Hat Red Hat Enterprise Linux * 7.4–8.x
SUSE SLES 12 с пакетом обновления 3–5 (SP5–SP5), 15.x

* Red Hat CoreOS не поддерживается.

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

Требования к сети

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

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

Обмен данными между виртуальными сетями в Azure

Для взаимодействия с поставщиком ресурсов гостевой конфигурации в Azure машинам требуется исходящий доступ к центрам обработки данных Azure через порт 443. Если сеть в Azure не разрешает исходящий трафик, настройте исключения с помощью правил группы безопасности сети. Теги службы "AzureArcInfrastructure" и "Хранилище" можно использовать для ссылки на службу гостевой конфигурации и хранилища вместо того, чтобы вручную вести список диапазонов IP-адресов для центров обработки данных Azure. Оба тега являются обязательными, так как пакеты содержимого гостевой конфигурации размещаются службой хранилища Azure.

Виртуальные машины могут использовать приватный канал для подключения к службе гостевой конфигурации. Примените тег с именем EnablePrivateNetworkGC и значением TRUE, чтобы включить эту функцию. Тег можно задействовать до применения определений политик гостевой конфигурации к компьютеру или после этого.

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

Серверы с поддержкой Azure Arc

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

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

  • Порт: только исходящий интернет-трафик через TCP-порт 443.
  • Глобальный URL-адрес: *.guestconfiguration.azure.com

Назначение политик компьютерам вне Azure

К политикам аудита, доступным для гостевой конфигурации, относится тип ресурса Microsoft.HybridCompute/machines. Все компьютеры, подключенные к Azure Arc для серверов и находящиеся в области назначения политики, добавляются автоматически.

Требования к удостоверениям

Определения политик в инициативе Развертывание предварительных требований для включения политик гостевой конфигурации на виртуальных машинах позволяют включить управляемое удостоверение, назначаемое системой, если его не существует. В инициативе, управляющей созданием удостоверений, существует два определения политик. Условия IF в определениях политик обеспечивают правильное поведение на основе текущего состояния ресурса компьютера в Azure.

Важно!

Эти определения создают System-Assigned управляемое удостоверение для целевых ресурсов в дополнение к существующим удостоверениям User-Assigned (если они есть). Для существующих приложений, если в запросе не указано назначенное пользователем удостоверение, компьютер по умолчанию будет использовать удостоверение, назначенное системой. Подробнее

Если на машине в настоящее время нет управляемых удостоверений, действующая политика — Добавить назначенное системой управляемое удостоверение, чтобы разрешить назначение гостевой конфигурации на виртуальных машинах без удостоверений.

Если машина в настоящее время имеет системный идентификатор, назначенный пользователем, действующая политика — Добавить назначенное системой управляемое удостоверение, чтобы разрешить назначение гостевой конфигурации на виртуальных машинах с назначенным пользователем идентификатором.

Доступность

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

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

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

Местонахождение данных

Гостевая конфигурация хранит и обрабатывает данные клиентов. По умолчанию данные клиента реплицируются в парный регион. Для одного резидентного региона все данные клиента хранятся и обрабатываются в регионе.

Устранение неполадок настройки гостевой конфигурации

Дополнительные сведения об устранении неполадок гостевой конфигурации см. в статье Устранение неполадок Политики Azure.

Несколько назначений

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

Назначения группам управления Azure

Определения Политики Azure в категории "Гостевая конфигурация" можно назначать группам управления, только если эффект — AuditIfNotExists. Определения политик с эффектом DeployIfNotExists не поддерживаются в качестве назначений группам управления.

Файлы журналов клиента

Модуль настройки гостевой конфигурации записывает файлы журналов в следующие разделы.

Windows: C:\ProgramData\GuestConfig\gc_agent_logs\gc_agent.log

Linux

  • Azure VM: /var/lib/GuestConfig/gc_agent_logs/gc_agent.log
  • Серверы с поддержкой Arc: /var/lib/GuestConfig/arc_policy_logs/gc_agent.log

Удаленный сбор журналов

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

Windows

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

$linesToIncludeBeforeMatch = 0
$linesToIncludeAfterMatch = 10
$logPath = 'C:\ProgramData\GuestConfig\gc_agent_logs\gc_agent.log'
Select-String -Path $logPath -pattern 'DSCEngine','DSCManagedEngine' -CaseSensitive -Context $linesToIncludeBeforeMatch,$linesToIncludeAfterMatch | Select-Object -Last 10

Linux

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

linesToIncludeBeforeMatch=0
linesToIncludeAfterMatch=10
logPath=/var/lib/GuestConfig/gc_agent_logs/gc_agent.log
egrep -B $linesToIncludeBeforeMatch -A $linesToIncludeAfterMatch 'DSCEngine|DSCManagedEngine' $logPath | tail

Файлы агента

Агент гостевой конфигурации загружает пакеты содержимого на компьютер и извлекает содержимое. Чтобы проверить, какое содержимое было загружено и сохранено, просмотрите расположение папок, указанное ниже.

Windows: c:\programdata\guestconfig\configuration

Linux: /var/lib/GuestConfig/Configuration

Примеры гостевой конфигурации

Встроенные примеры политики настройки гостевой конфигурации доступны здесь:

Дальнейшие действия