Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
служба автоматизации Azure конфигурация состояния будет прекращена 30 сентября 2027 г.Конфигурация компьютера Azure по этой дате. Дополнительные сведения см. в публикации блога. Служба конфигурации компьютера Azure объединяет функции расширения DSC, служба автоматизации Azure конфигурации состояния и наиболее часто запрашиваемые функции из отзывов клиентов. Конфигурация компьютера Azure также включает поддержку гибридных компьютеров с помощью серверов с поддержкой Arc.
Внимание
Ссылки на навигацию "Добавление", "Создание" и "Коллекция" будут удалены с портала 31 марта 2025 г.
Внимание
Служба Azure Automation DSC для Linux прекратила работу 30 сентября 2023 года. Дополнительные сведения см. в объявлении о выпуске.
В этой статье описывается, как настроить компьютеры для управления с помощью Azure Automation State Configuration. Дополнительные сведения см. в обзоре службы State Configuration службы автоматизации Azure.
Включение виртуальных машин Azure
Служба State Configuration службы автоматизации Azure позволяет легко подключать виртуальные машины Azure для управления конфигурацией с помощью портала Azure, шаблонов Azure Resource Manager или PowerShell. Расширение конфигурации требуемого состояния виртуальной машины Azure автоматически регистрирует виртуальную машину в Azure Automation State Configuration. Так как расширение Azure выполняется асинхронно, действия по отслеживанию хода выполнения описаны в разделе Проверка состояния виртуальной машины.
Примечание.
При развертывании DSC на узле Linux используется папка /tmp. Модули, такие как nxautomation, временно загружаются для проверки перед установкой в соответствующих расположениях. Чтобы обеспечить правильную установку модулей, агенту Log Analytics для Linux требуются разрешения на чтение и запись в папке /tmp. Агент Log Analytics для Linux запускается от имени пользователя omsagent.
Чтобы предоставить >пользователю разрешение omsagent на запись, выполните команду setfacl -m u:omsagent:rwx /tmp.
Подключение виртуальной машины с помощью портала Azure
Чтобы подключить виртуальную машину Azure к State Configuration с помощью портала Azure, выполните следующие действия:
- Перейдите к учетной записи службы автоматизации Azure, в которой нужно подключить виртуальные машины.
- На странице "Конфигурация состояния" выберите вкладку "Узлы" и нажмите кнопку "Добавить".
- Выберите виртуальную машину для включения.
- Если на компьютере не установлено расширение нужного состояния PowerShell и рабочее состояние активно, нажмите Подключить.
- В разделе Регистрация введите значения Local Configuration Manager PowerShell DSC, необходимые для вашего варианта использования. При необходимости можно ввести конфигурацию узла для назначения виртуальной машине.
Подключение виртуальной машины с использованием шаблонов Azure Resource Manager
Вы можете установить виртуальную машину и подключить ее к State Configuration с помощью шаблонов Azure Resource Manager. Пример шаблона для подключения существующей виртуальной машины к State Configuration см. в статье Сервер под управлением службы Desired State Configuration. Если вы управляете масштабируемым набором виртуальных машин, см. пример шаблона в конфигурации масштабируемого набора виртуальных машин, управляемой служба автоматизации Azure.
Подключение компьютеров с помощью PowerShell
Чтобы подключить виртуальные машины к State Configuration, также можно использовать командлет Register-AzAutomationDscNode в PowerShell.
Примечание.
В настоящее время командлет Register-AzAutomationDscNode реализован только для компьютеров под управлением Windows, так как он запускает только расширение Windows.
Регистрация виртуальных машин в подписках Azure
Лучший способ регистрации виртуальных машин из других подписок Azure — использовать расширение DSC в шаблоне развертывания для Azure Resource Manager. Примеры приведены в статье Расширение Desired State Configuration (DSC) с использованием шаблонов Azure Resource Manager.
Использование метаконфигурации DSC для регистрации гибридных компьютеров
Вы можете безопасно включить компьютеры для учетной записи служба автоматизации Azure с помощью метаконфигурации DSC. Протоколы, реализованные в DSC, используют сведения из метаконфигурации для проверки подлинности в службу автоматизации Azure для управления состоянием. Узел регистрируется в службе по URL-адресу регистрации и проходит проверку подлинности с помощью ключа регистрации. Во время регистрации узел DSC и служба DSC согласовывают уникальный сертификат для узла, который будет использоваться для проверки подлинности на сервере после регистрации. Этот процесс исключает возможность подмены подключенных узлов друг другом, например, если один из узлов взломан и находится под контролем злоумышленника. После регистрации ключ регистрации снова не используется для проверки подлинности и удаляется из узла.
Данные, необходимые для протокола регистрации State Configuration, можно найти в подразделе Ключи раздела Параметры учетной записи на портале Azure.
- URL регистрации находится в поле "URL" на странице "Ключи".
- Ключ регистрации — это значение поля Первичный ключ доступа или Вторичный ключ доступа на странице "Ключи". Можно использовать любой из этих ключей.
Для улучшения безопасности на странице "Ключи" можно в любое время повторно создать первичный и вторичный ключи доступа для учетной записи службы автоматизации. Повторное создание ключа предотвращает использование предыдущих ключей для регистрации последующих узлов.
Создание метаконфигураций DSC
Чтобы подключить любой компьютер к State Configuration, можно создать метаконфигурацию DSC. Эта конфигурация сообщает агенту DSC о необходимости извлечения данных из конфигурации состояния в службе автоматизации Azure и/или передачи данных в нее. Чтобы создать метаконфигурацию DSC для службы конфигурации состояния автоматизации Azure, вы можете использовать либо конфигурацию PowerShell DSC, либо командлеты PowerShell Azure Automation.
Примечание.
Метаконфигурации DSC содержат секреты, необходимые при подключении компьютера к учетной записи службы автоматизации для управления. Обеспечьте должную защиту создаваемых метаконфигураций или удаляйте их сразу после использования.
Локальный диспетчер конфигураций (LCM) управляет поддержкой прокси-сервера для метаконфигурации. LCM работает на всех целевых узлах и отвечает за вызов ресурсов конфигураций, включенных в скрипт метаконфигурации DSC. Вы можете включить поддержку прокси-сервера в метаконфигурации, включив в блоках ProxyURL, ProxyCredentialи ConfigurationRepositoryWeb необходимые определения свойств ResourceRepositoryWeb и ReportServerWeb. Пример параметра URL-адреса — ProxyURL = "http://172.16.3.6:3128";. Объекту ProxyCredential присвоено свойство PSCredential, как описано в статье об управлении учетными данными в службе автоматизации Azure.
Генерируйте метаконфигурации DSC с помощью конфигурации DSC
Откройте текстовый редактор, например Visual Studio Code (VS Code), в качестве администратора на компьютере в локальной среде. На этом компьютере должна быть установлена последняя версия WMF 5 .
Локально выполните следующий скрипт. Этот сценарий содержит конфигурацию PowerShell DSC для создания метаконфигураций и команду, запускающую этот процесс.
Примечание.
Имена конфигурации узла State Configuration чувствительны к регистру на портале Azure. Если дело не совпадает, узел не будет отображаться на вкладке "Узлы". Этот процесс предназначен для виртуальных машин, отличных от Azure. Регистрация виртуальной машины Azure в качестве гибридного узла приведет к оплате DSC.
# The DSC configuration that will generate metaconfigurations [DscLocalConfigurationManager()] Configuration DscMetaConfigs { param ( [Parameter(Mandatory=$True)] [String]$RegistrationUrl, [Parameter(Mandatory=$True)] [String]$RegistrationKey, [Parameter(Mandatory=$True)] [String[]]$ComputerName, [Int]$RefreshFrequencyMins = 30, [Int]$ConfigurationModeFrequencyMins = 15, [String]$ConfigurationMode = 'ApplyAndMonitor', [String]$NodeConfigurationName, [Boolean]$RebootNodeIfNeeded= $False, [String]$ActionAfterReboot = 'ContinueConfiguration', [Boolean]$AllowModuleOverwrite = $False, [Boolean]$ReportOnly ) if(!$NodeConfigurationName -or $NodeConfigurationName -eq '') { $ConfigurationNames = $null } else { $ConfigurationNames = @($NodeConfigurationName) } if($ReportOnly) { $RefreshMode = 'PUSH' } else { $RefreshMode = 'PULL' } Node $ComputerName { Settings { RefreshFrequencyMins = $RefreshFrequencyMins RefreshMode = $RefreshMode ConfigurationMode = $ConfigurationMode AllowModuleOverwrite = $AllowModuleOverwrite RebootNodeIfNeeded = $RebootNodeIfNeeded ActionAfterReboot = $ActionAfterReboot ConfigurationModeFrequencyMins = $ConfigurationModeFrequencyMins } if(!$ReportOnly) { ConfigurationRepositoryWeb AzureAutomationStateConfiguration { ServerUrl = $RegistrationUrl RegistrationKey = $RegistrationKey ConfigurationNames = $ConfigurationNames } ResourceRepositoryWeb AzureAutomationStateConfiguration { ServerUrl = $RegistrationUrl RegistrationKey = $RegistrationKey } } ReportServerWeb AzureAutomationStateConfiguration { ServerUrl = $RegistrationUrl RegistrationKey = $RegistrationKey } } } # Create the metaconfigurations # NOTE: DSC Node Configuration names are case sensitive in the portal. # TODO: edit the below as needed for your use case $Params = @{ RegistrationUrl = '<fill me in>'; RegistrationKey = '<fill me in>'; ComputerName = @('<some VM to onboard>', '<some other VM to onboard>'); NodeConfigurationName = 'SimpleConfig.webserver'; RefreshFrequencyMins = 30; ConfigurationModeFrequencyMins = 15; RebootNodeIfNeeded = $False; AllowModuleOverwrite = $False; ConfigurationMode = 'ApplyAndMonitor'; ActionAfterReboot = 'ContinueConfiguration'; ReportOnly = $False; # Set to $True to have machines only report to AA DSC but not pull from it } # Use PowerShell splatting to pass parameters to the DSC configuration being invoked # For more info about splatting, run: Get-Help -Name about_Splatting DscMetaConfigs @ParamsУкажите ключ регистрации и URL-адрес учетной записи службы автоматизации, а также имена компьютеров, которые необходимо включить. Все остальные параметры являются необязательными. Чтобы найти ключ регистрации и URL-адрес регистрации для учетной записи службы автоматизации, см. статью "Использование метаконфигурации DSC для регистрации гибридных компьютеров".
Если вы хотите, чтобы компьютеры передавали сведения о состоянии DSC в службу State Configuration службы автоматизации Azure, не извлекая конфигурацию или модули PowerShell, присвойте параметру
ReportOnlyзначение Тrue.Если параметр
ReportOnlyне задан, компьютеры сообщают информацию о статусе DSC в службу конфигурации состояния Azure Automation и загружают конфигурации или модули PowerShell. Задайте соответствующие параметры в блокахConfigurationRepositoryWeb,ResourceRepositoryWebиReportServerWeb.Выполните скрипт. В рабочем каталоге появится папка DscMetaConfigs, содержащая метаконфигурации PowerShell DSC для подключаемых компьютеров (с правами администратора).
Set-DscLocalConfigurationManager -Path ./DscMetaConfigs
Создание метаконфигураций DSC с помощью командлетов службы автоматизации Azure
Метаконфигурации DSC можно создать с помощью командлетов служба автоматизации Azure в следующих условиях:
- Значения по умолчанию LCM соответствуют вашему варианту использования
- Вы хотите обеспечить возможность для устройств как получать данные из служба конфигурации состояния автоматизации Azure, так и отправлять отчёты в неё.
Чтобы создать метаконфигурации, выполните следующие действия.
Откройте консоль PowerShell или VS Code в качестве администратора на компьютере в локальной среде.
Подключитесь к Azure Resource Manager с помощью командлета Connect-AzAccount.
Скачайте метаконфигурации PowerShell DSC для компьютеров, которые необходимо включить из учетной записи службы автоматизации, в которой настроены узлы.
# Define the parameters for Get-AzAutomationDscOnboardingMetaconfig using PowerShell Splatting $Params = @{ ResourceGroupName = 'ContosoResources' # The Resource Group that contains your Azure Automation account AutomationAccountName = 'ContosoAutomation'; # The Azure Automation account where you want to onboard the node ComputerName = @('web01', 'web02', 'sql01'); # The computers to generate the metaconfigurations for OutputFolder = "$env:UserProfile\Desktop\"; } # Use PowerShell splatting to pass parameters to the Azure Automation cmdlet being invoked # For more info about splatting, run: Get-Help -Name about_Splatting Get-AzAutomationDscOnboardingMetaconfig @ParamsВ рабочем каталоге появится папка DscMetaConfigs, содержащая метаконфигурации PowerShell DSC для подключаемых компьютеров (с правами администратора).
Set-DscLocalConfigurationManager -Path $env:UserProfile\Desktop\DscMetaConfigs
Подключение физических или виртуальных компьютеров Windows
Вы можете подключить серверы Windows, работающие локально или в других облачных средах (включая экземпляры AWS EC2), к службе State Configuration службы автоматизации Azure. У серверов должен быть исходящий доступ к Azure.
Убедитесь, что на компьютерах установлена последняя версия WMF 5, чтобы включить конфигурацию состояния. Кроме того, WMF 5 должен быть установлен на компьютере, который вы используете для включения компьютеров.
Чтобы создать папку, содержащую необходимые метаконфигурации DSC, следуйте указаниям в разделе "Создание метаконфигурации DSC".
Используйте следующий командлет, чтобы удаленно применить метаконфигурации PowerShell DSC к машинам для их активации.
Set-DscLocalConfigurationManager -Path C:\Users\joe\Desktop\DscMetaConfigs -ComputerName MyServer1, MyServer2Если вы не можете удаленно применить метаконфигурации PowerShell DSC, скопируйте папку метаконфигурации на включенные компьютеры . Затем добавьте код для вызова Set-DscLocalConfigurationManager локально на компьютерах.
С помощью портала Azure или командлетов убедитесь, что компьютеры отображаются как узлы State Configuration, зарегистрированные в вашей учетной записи службы автоматизации Azure.
Включение физических и виртуальных машин Linux
Вы можете подключить к State Configuration серверы Linux, работающие локально или в других облачных средах. У серверов должен быть исходящий доступ к Azure.
Убедитесь, что установлена последняя версия расширения PowerShell Desired State Configuration для Linux на компьютерах, чтобы была возможность использования State Configuration.
Если настройки диспетчера локальной конфигурации (Local Configuration Manager) PowerShell DSC по умолчанию соответствуют вашим требованиям, и вы хотите, чтобы компьютеры могли как извлекать данные из службы конфигурации состояния, так и отправлять их в нее, выполните следующие действия:
На каждом компьютере Linux, который нужно активировать, используйте
Register.py, чтобы включить на машине параметры по умолчанию PowerShell DSC Local Configuration Manager./opt/microsoft/dsc/Scripts/Register.py <Automation account registration key> <Automation account registration URL>Чтобы найти ключ регистрации и URL-адрес регистрации для учетной записи службы автоматизации, см. статью "Использование метаконфигурации DSC для регистрации гибридных компьютеров".
Если значения Local Configuration Manager для расширения PowerShell DSC по умолчанию не соответствуют вашему варианту использования или вы хотите подключить компьютеры, которые передают данные только в службу State Configuration службы автоматизации Azure, выполните шаги 4–7. В противном случае сразу перейдите к шагу 7.
Создайте папку, содержащую необходимые метаконфигурации DSC, выполнив инструкции из раздела Создание метаконфигураций DSC.
Убедитесь, что на компьютере, который используется для подключения к State Configuration, установлена последняя версия WMF 5.
Используйте следующий код, чтобы удаленно применить метаконфигурации PowerShell DSC к компьютерам, которые нужно подключить к State Configuration.
$SecurePass = ConvertTo-SecureString -String '<root password>' -AsPlainText -Force $Cred = New-Object System.Management.Automation.PSCredential 'root', $SecurePass $Opt = New-CimSessionOption -UseSsl -SkipCACheck -SkipCNCheck -SkipRevocationCheck # need a CimSession for each Linux machine to onboard $Session = New-CimSession -Credential $Cred -ComputerName <your Linux machine> -Port 5986 -Authentication basic -SessionOption $Opt Set-DscLocalConfigurationManager -CimSession $Session -Path C:\Users\joe\Desktop\DscMetaConfigsЕсли вы не можете применить метаконфигурации PowerShell DSC удаленно, скопируйте на компьютеры Linux метаконфигурации, соответствующие удаленным компьютерам, из папки, которая описана в шаге 4.
Добавьте код для вызова
Set-DscLocalConfigurationManager.pyлокально на каждом компьютере Linux, чтобы подключить его к State Configuration./opt/microsoft/dsc/Scripts/SetDscLocalConfigurationManager.py -configurationmof <path to metaconfiguration file>Убедитесь, что компьютеры отображаются как узлы DSC, зарегистрированные в вашей учетной записи служба автоматизации Azure. Вы можете использовать портал Azure или командлеты.
Повторная регистрация узла
После регистрации компьютера в качестве узла DSC в конфигурации состояния служба автоматизации Azure в будущем может потребоваться повторно зарегистрировать этот узел.
Обновление сертификата. Для версий Windows Server до Windows Server 2019 каждый узел автоматически согласовывает уникальный сертификат для аутентификации по истечении одного года. Если срок действия сертификата истекает без продления действия, узел не сможет связаться со службой автоматизации Azure и помечается как
Unresponsive. В настоящее время протокол регистрации PowerShell DSC не может автоматически обновлять сертификаты при истечении срока действия, и необходимо повторно зарегистрировать узлы через год. Перед повторной регистрацией убедитесь, что на каждом узле установлена версия WMF 5 RTM.Новый сертификат создается и используется при повторной регистрации 90 дней или меньше с момента истечения срока действия сертификата или в любой момент после истечения срока действия сертификата. Эта проблема устранена в Windows Server 2019 и более поздних версиях.
Изменения в значениях LCM для DSC. Возможно, потребуется изменить значения LCM для PowerShell DSC, заданные во время начальной регистрации узла, например
ConfigurationMode. Сейчас эти значения агента DSC можно изменять только с помощью повторной регистрации. Одним из исключений является значение конфигурации узла. Это значение можно изменить непосредственно в службе автоматизации Azure DSC.
Вы можете повторно зарегистрировать узел точно таким же образом, как вы регистрировали узел изначально, используя любой из описанных в этом документе методов. Перед повторной регистрацией узла не требуется отменять его регистрацию из службы автоматизации конфигурации состояния в Azure.
Проверка состояния виртуальной машины
State Configuration позволяет легко подключать виртуальные машины Azure для управления конфигурацией. Расширение DSC для виртуальных машин Azure используется для регистрации виртуальных машин в службе "Настройка состояния службы автоматизации Azure". Так как с виртуальными машинами Azure расширение Desired State Configuration работает асинхронно, важно отслеживать ход выполнения и устранять неполадки.
Примечание.
При любом способе подключения виртуальных машин Azure Windows к State Configuration, в котором используется расширение Desired State Configuration виртуальной машины Azure, может потребоваться до часа, пока служба автоматизации Azure не покажет виртуальные машины как зарегистрированные. Эта задержка возникает из-за установки WMF 5 на виртуальной машине с помощью расширения Desired State Configuration виртуальной машины Azure, которое требуется для подключения виртуальных машин к State Configuration.
Чтобы просмотреть состояние расширения Desired State Configuration виртуальной машины Azure:
- На портале Azure перейдите к подключаемой виртуальной машине.
- Выберите Расширения в разделе Параметры.
- Затем выберите DSC или DSCForLinux в зависимости от операционной системы.
- Дополнительные сведения см. в разделе "Просмотр подробного состояния".
Следующие шаги
- Чтобы начать, см. Приступить к работе с Azure Automation State Configuration.
- Чтобы узнать о компилировании конфигураций DSC и их назначении целевым узлам, см. статью Компилирование конфигураций DSC в службе State Configuration службы автоматизации Azure.
- Пользуйтесь справочником командлетов PowerShell Az.Automation.
- Для получения информации о ценах см. цены на конфигурацию состояния в службе Azure Automation.
- Пример использования службы State Configuration в службе автоматизации Azure в конвейере непрерывного развертывания см. в статье Настройка непрерывного развертывания с помощью Chocolatey.
- Сведения по устранению неполадок в конфигурации состояния Azure Automation см. в Разделе устранения неполадок конфигурации состояния Azure Automation.