Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
Azure Automation State Configuration будет прекращена 30 сентября 2027 г., перейдите на Azure Machine Configuration к этой дате. Дополнительные сведения см. в анонсе блога. Служба конфигурации компьютера Azure объединяет функции расширения DSC, Azure Automation State Configuration и наиболее часто запрашиваемые функции из отзывов клиентов. Конфигурация машины Azure также включает поддержку гибридных машин через серверы с функцией Arc.
Внимание
Ссылки на навигацию "Добавление", "Создание" и "Коллекция" будут удалены с портала 31 марта 2025 г.
Внимание
Azure Automation DSC для Linux вышел на пенсию 30 сентября 2023 года. Дополнительные сведения см. в объявлении о выпуске.
Azure Automation State Configuration позволяет указать конфигурации для серверов и убедиться, что эти серверы находятся в указанном состоянии с течением времени.
- Настройка виртуальной машины для управления с помощью Azure Automation DSC
- Отправка конфигурации в Azure Automation
- Скомпилируйте конфигурацию в конфигурацию узла
- Назначить конфигурацию узла управляемому узлу.
- Проверка состояния соответствия управляемого узла
В этом руководстве используется простая конфигурация DSC, которая гарантирует, что на виртуальной машине установлены службы IIS.
Предварительные требования
Примечание.
Windows Server 2008 и Windows Server 2008 R2 достигли окончания поддержки (EOS). Дополнительные сведения см. в статьях Окончание поддержки Windows Server 2008 и Windows Server 2008 R2 и Выполнение обновления на месте до Windows Server 2016, 2019, 2022 или 2025. Просмотрите, как вы используете операционную систему, и планируйте её обновления и миграции соответственно.
- Учетная запись Azure Automation. Дополнительные сведения об учетной записи службы автоматизации и ее требованиях см. в статье Общие сведения о проверке подлинности учетной записи службы автоматизации.
- Виртуальная машина Azure Resource Manager (не классическая) под управлением Windows Server 2008 R2 или более поздней версии. Инструкции по созданию виртуальной машины см. в разделе Создайте первую Windows виртуальную машину на портале Azure.
- Azure PowerShell модуль версии 3.6 или новее. Чтобы узнать версию, выполните команду
Get-Module -ListAvailable Az. Если необходимо обновить, см. Установка модуля Azure PowerShell. - Знакомство с Desired State Configuration (DSC). Дополнительные сведения о DSC см. в разделе Обзор Windows PowerShell Desired State Configuration.
Поддержка частичных конфигураций
Azure Automation State Configuration поддерживает использование частичных конфигураций. В этом сценарии DSC настраивается для управления несколькими конфигурациями независимо, и каждая конфигурация извлекается из Azure Automation. Однако только одну конфигурацию можно назначить узлу на одну учетную запись автоматизации. Это означает, что если вы используете две конфигурации для узла, вам потребуется две учетные записи службы автоматизации.
Дополнительные сведения о регистрации частичной конфигурации из пул-службы см. в документации по частичным конфигурациям.
Дополнительную информацию о совместном управлении серверами с применением конфигурации как кода см. в статье Общие сведения о роли DSC в конвейере CI/CD.
Вход в Azure
Войдите в подписку Azure с помощью командлета Connect-AzAccount и следуйте инструкциям на экране.
Connect-AzAccount
Создание и отправка конфигурации в Azure Automation
В текстовом редакторе введите следующий код и сохраните его локально в виде файла TestConfig.ps1.
configuration TestConfig {
Node WebServer {
WindowsFeature IIS {
Ensure = 'Present'
Name = 'Web-Server'
IncludeAllSubFeature = $true
}
}
}
Примечание.
Имена конфигурации в Azure Automation должны быть ограничены не более чем 100 символами.
В более сложных сценариях, где необходимо импортировать несколько модулей, предоставляющих ресурсы DSC, создайте в конфигурации для каждого модуля уникальную строку Import-DscResource.
Для отправки конфигурации в учетную запись службы автоматизации выполните командлет Import-AzAutomationDscConfiguration.
$importAzAutomationDscConfigurationSplat = @{
SourcePath = 'C:\DscConfigs\TestConfig.ps1'
ResourceGroupName = 'MyResourceGroup'
AutomationAccountName = 'myAutomationAccount'
Published = $true
}
Import-AzAutomationDscConfiguration @importAzAutomationDscConfigurationSplat
Скомпилируйте конфигурацию в конфигурацию узла
Прежде чем назначать конфигурацию DSC узлу, ее нужно скомпилировать в конфигурации узла. См. статью Конфигурации DSC.
Для компиляции конфигурации , вызовите командлет TestConfig для создания конфигурации узла под названием TestConfig.WebServer в вашей учетной записи автоматизации.
$startAzAutomationDscCompilationJobSplat = @{
ConfigurationName = 'TestConfig'
ResourceGroupName = 'MyResourceGroup'
AutomationAccountName = 'myAutomationAccount'
}
Start-AzAutomationDscCompilationJob @startAzAutomationDscCompilationJobSplat
Регистрация виртуальной машины для управления с помощью State Configuration
Вы можете использовать Azure Automation State Configuration для управления виртуальными машинами Azure (классическими и Resource Manager), локальными виртуальными машинами, компьютерами Linux, виртуальными машинами AWS и локальными физическими машинами. В этой статье мы объясняем, как зарегистрировать только виртуальные машины Azure Resource Manager. Сведения о регистрации других типов машин см. в разделе Onboarding машин для управления Azure Automation State Configuration.
Вызовите командлет Register-AzAutomationDscNode, чтобы зарегистрировать виртуальную машину в Azure Automation State Configuration в качестве управляемого узла.
$registerAzAutomationDscNodeSplat = @{
ResourceGroupName = 'MyResourceGroup'
AutomationAccountName = 'myAutomationAccount'
AzureVMName = 'DscVm'
}
Register-AzAutomationDscNode @registerAzAutomationDscNodeSplat
Указание параметров режима конфигурации
Чтобы зарегистрировать виртуальную машину как управляемый узел и указать параметры конфигурации, выполните командлет Register-AzAutomationDscNode. Например, вы можете указать, что состояние виртуальной машины должно применяться только один раз, назначив значение ApplyOnly свойству ConfigurationMode. State Configuration не пытается применить конфигурацию после начальной проверки.
$registerAzAutomationDscNodeSplat = @{
ResourceGroupName = 'MyResourceGroup'
AutomationAccountName = 'myAutomationAccount'
AzureVMName = 'DscVm'
ConfigurationMode = 'ApplyOnly'
}
Register-AzAutomationDscNode @registerAzAutomationDscNodeSplat```
You can also specify how often DSC checks the configuration state by using the
`ConfigurationModeFrequencyMins` property. For more information about DSC configuration settings,
see [Configuring the Local Configuration Manager][05].
```powershell
# Run a DSC check every 60 minutes
$registerAzAutomationDscNodeSplat = @{
ResourceGroupName = 'MyResourceGroup'
AutomationAccountName = 'myAutomationAccount'
AzureVMName = 'DscVm'
ConfigurationModeFrequencyMins = 60
}
Register-AzAutomationDscNode @registerAzAutomationDscNodeSplat```
## Assign a node configuration to a managed node
Now we can assign the compiled node configuration to the VM we want to configure.
```powershell
# Get the ID of the DSC node
$getAzAutomationDscNodeSplat = @{
ResourceGroupName = 'MyResourceGroup'
AutomationAccountName = 'myAutomationAccount'
Name = 'DscVm'
}
$node = Get-AzAutomationDscNode @getAzAutomationDscNodeSplat
# Assign the node configuration to the DSC node
$setAzAutomationDscNodeSplat = @{
ResourceGroupName = 'MyResourceGroup'
AutomationAccountName = 'myAutomationAccount'
NodeConfigurationName = 'TestConfig.WebServer'
NodeId = $node.Id
}
Set-AzAutomationDscNode @setAzAutomationDscNodeSplat
При этом конфигурация узла с именем TestConfig.WebServer присваивается зарегистрированному узлу DSC DscVm.
По умолчанию узел DSC проверяется на соответствие конфигурации узла каждые 30 минут. Сведения об изменении интервала проверки соответствия см. в разделе Configuring local Configuration Manager.
Проверка состояния соответствия управляемого узла
Отчеты о состоянии соответствия управляемого узла можно получить с помощью командлета Get-AzAutomationDscNodeReport.
# Get the ID of the DSC node
$getAzAutomationDscNodeSplat = @{
ResourceGroupName = 'MyResourceGroup'
AutomationAccountName = 'myAutomationAccount'
Name = 'DscVm'
}
$node = Get-AzAutomationDscNode @getAzAutomationDscNodeSplat
# Get an array of status reports for the DSC node
$getAzAutomationDscNodeReportSplat = @{
ResourceGroupName = 'MyResourceGroup'
AutomationAccountName = 'myAutomationAccount'
NodeId = $node.Id
}
$reports = Get-AzAutomationDscNodeReport @getAzAutomationDscNodeReportSplat
# Display the most recent report
$reports[0]
Следующие шаги
- Чтобы начать, ознакомьтесь с Azure Automation State Configuration.
- Сведения о включении узлов см. в статье Enable Azure Automation State Configuration.
- Дополнительные сведения о компиляции конфигураций DSC для их назначения целевым узлам см. в разделе Compile DSC configurations in Azure Automation State Configuration.
- Пример использования Azure Automation State Configuration в конвейере непрерывного развертывания см. в статье Настройка непрерывного развертывания с помощью Chocolatey.
- Для получения информации о ценах см. цены Azure Automation State Configuration.
- Для справки по командлетам PowerShell см. Az.Automation.
- Сведения об устранении неполадок, связанных с настройкой компьютеров в требуемое состояние с помощью Azure Automation State Configuration, см. в разделе Трудности устранения неполадок Azure Automation State Configuration.