Konfigurowanie żądanego stanu maszyn

Usługa Azure Automation State Configuration umożliwia określenie konfiguracji serwerów i upewnienie się, że te serwery znajdują się w określonym stanie w czasie.

  • Dołączanie maszyny wirtualnej do zarządzania przez usługę Azure Automation DSC
  • Przekazywanie konfiguracji do usługi Azure Automation
  • Kompilowanie konfiguracji w konfiguracji węzła
  • Przypisywanie konfiguracji węzła do zarządzanego węzła
  • Sprawdzanie stanu zgodności zarządzanego węzła

Na potrzeby tego samouczka użyjemy prostej konfiguracji DSC, która gwarantuje, że usługi IIS są zainstalowane na maszynie wirtualnej.

Wymagania wstępne

  • Konto usługi Azure Automation. Aby dowiedzieć się więcej o koncie usługi Automation i jego wymaganiach, zobacz Omówienie uwierzytelniania konta usługi Automation.
  • Maszyna wirtualna usługi Azure Resource Manager (nie klasyczna) z systemem Windows Server 2008 R2 lub nowszym. Aby uzyskać instrukcje dotyczące tworzenia maszyny wirtualnej, zobacz Tworzenie pierwszej maszyny wirtualnej z systemem Windows w witrynie Azure Portal.
  • Moduł programu Azure PowerShell w wersji 3.6 lub nowszej. Uruchom polecenie Get-Module -ListAvailable Az, aby dowiedzieć się, jaka wersja jest używana. Jeśli konieczne będzie uaktualnienie, zobacz Instalowanie modułu Azure PowerShell.
  • Znajomość konfiguracji żądanego stanu (DSC). Aby uzyskać informacje na temat rozszerzenia DSC, zobacz Omówienie konfiguracji żądanego stanu programu Windows PowerShell.

Obsługa częściowych konfiguracji

Usługa Azure Automation State Configuration obsługuje korzystanie z częściowych konfiguracji. W tym scenariuszu konfiguracja DSC jest skonfigurowana do niezależnego zarządzania wieloma konfiguracjami, a każda konfiguracja jest pobierana z usługi Azure Automation. Można jednak przypisać tylko jedną konfigurację do węzła na konto automatyzacji. Oznacza to, że jeśli używasz dwóch konfiguracji dla węzła, wymagane będą dwa konta usługi Automation.

Aby uzyskać szczegółowe informacje na temat rejestrowania częściowej konfiguracji z usługi ściągania, zobacz dokumentację dotyczącą częściowych konfiguracji.

Aby uzyskać więcej informacji na temat współpracy zespołów w celu wspólnego zarządzania serwerami przy użyciu konfiguracji jako kodu, zobacz Understanding DSC's role in a CI/CD Pipeline (Opis roli DSC w potoku ciągłej integracji/ciągłego wdrażania).

Logowanie się do platformy Azure

Zaloguj się do subskrypcji platformy Azure przy użyciu polecenia cmdlet Połączenie-AzAccount i postępuj zgodnie z instrukcjami wyświetlanymi na ekranie.

Connect-AzAccount

Tworzenie i przekazywanie konfiguracji do usługi Azure Automation

W edytorze tekstów wpisz następujące polecenie i zapisz go lokalnie jako Plik TestConfig.ps1.

configuration TestConfig {
   Node WebServer {
      WindowsFeature IIS {
         Ensure               = 'Present'
         Name                 = 'Web-Server'
         IncludeAllSubFeature = $true
      }
   }
}

Uwaga

Nazwy konfiguracji w usłudze Azure Automation muszą być ograniczone do nie więcej niż 100 znaków.

W bardziej zaawansowanych scenariuszach, w których wymaga się zaimportowania wielu modułów, które zapewniają zasoby DSC, upewnij się, że każdy moduł ma unikatowy Import-DscResource wiersz w konfiguracji.

Wywołaj polecenie cmdlet Import-AzAutomationDscConfiguration , aby przekazać konfigurację na konto usługi Automation.

 Import-AzAutomationDscConfiguration -SourcePath 'C:\DscConfigs\TestConfig.ps1' -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -Published

Kompilowanie konfiguracji w konfiguracji węzła

Aby można było przypisać konfigurację DSC do węzła, należy skompilować konfigurację węzła. Zobacz Konfiguracje DSC.

Wywołaj polecenie cmdlet Start-AzAutomationDscCompilationJob , aby skompilować TestConfig konfigurację do konfiguracji węzła o nazwie TestConfig.WebServer na koncie usługi Automation.

Start-AzAutomationDscCompilationJob -ConfigurationName 'TestConfig' -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount'

Rejestrowanie maszyny wirtualnej do zarządzania przez usługę State Configuration

Za pomocą usługi Azure Automation State Configuration można zarządzać maszynami wirtualnymi platformy Azure (klasycznymi i resource manager), lokalnymi maszynami wirtualnymi, maszynami z systemem Linux, maszynami wirtualnymi platformy AWS i lokalnymi maszynami fizycznymi. W tym temacie omówiono sposób rejestrowania tylko maszyn wirtualnych usługi Azure Resource Manager. Aby uzyskać informacje na temat rejestrowania innych typów maszyn, zobacz Dołączanie maszyn do zarządzania za pomocą usługi Azure Automation State Configuration.

Wywołaj polecenie cmdlet Register-AzAutomationDscNode , aby zarejestrować maszynę wirtualną w usłudze Azure Automation State Configuration jako węzeł zarządzany.

Register-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -AzureVMName 'DscVm'

Określanie ustawień trybu konfiguracji

Użyj polecenia cmdlet Register-AzAutomationDscNode, aby zarejestrować maszynę wirtualną jako węzeł zarządzany i określić właściwości konfiguracji. Można na przykład określić, że stan maszyny ma być stosowany tylko raz, określając ApplyOnly jako wartość ConfigurationMode właściwości. Konfiguracja stanu nie próbuje zastosować konfiguracji po początkowym sprawdzeniu.

Register-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -AzureVMName 'DscVm' -ConfigurationMode 'ApplyOnly'

Można również określić, jak często DSC sprawdza stan konfiguracji przy użyciu ConfigurationModeFrequencyMins właściwości . Aby uzyskać więcej informacji na temat ustawień konfiguracji DSC, zobacz Konfigurowanie lokalnego programu Configuration Manager.

# Run a DSC check every 60 minutes
Register-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -AzureVMName 'DscVm' -ConfigurationModeFrequencyMins 60

Przypisywanie konfiguracji węzła do zarządzanego węzła

Teraz możemy przypisać konfigurację skompilowanego węzła do maszyny wirtualnej, którą chcemy skonfigurować.

# Get the ID of the DSC node
$node = Get-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -Name 'DscVm'

# Assign the node configuration to the DSC node
Set-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -NodeConfigurationName 'TestConfig.WebServer' -NodeId $node.Id

Spowoduje to przypisanie konfiguracji węzła o nazwie TestConfig.WebServer do zarejestrowanego węzła DscVmDSC. Domyślnie węzeł DSC jest sprawdzany pod kątem zgodności z konfiguracją węzła co 30 minut. Aby uzyskać informacje o sposobie zmiany interwału sprawdzania zgodności, zobacz Konfigurowanie lokalnego programu Configuration Manager.

Sprawdzanie stanu zgodności zarządzanego węzła

Raporty dotyczące stanu zgodności węzła zarządzanego można uzyskać przy użyciu polecenia cmdlet Get-AzAutomationDscNodeReport .

# Get the ID of the DSC node
$node = Get-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -Name 'DscVm'

# Get an array of status reports for the DSC node
$reports = Get-AzAutomationDscNodeReport -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -NodeId $node.Id

# Display the most recent report
$reports[0]

Następne kroki