Povolení služby Azure Automation State Configuration

Poznámka:

Než povolíte službu Automation State Configuration, rádi bychom věděli, že novější verze DSC je teď obecně dostupná a spravovaná funkcí konfigurace hosta s názvem Azure Policy. Služba konfigurace hosta kombinuje funkce rozšíření DSC, Azure Automation State Configuration a nejčastěji požadované funkce od zpětné vazby zákazníků. Konfigurace hosta také zahrnuje podporu hybridních počítačů prostřednictvím serverů s podporou Arc.

Toto téma popisuje, jak můžete nastavit počítače pro správu pomocí služby Azure Automation State Configuration. Podrobnosti o této službě najdete v přehledu služby Azure Automation State Configuration.

Povolení virtuálních počítačů Azure

Azure Automation State Configuration umožňuje snadno povolit virtuální počítače Azure pro správu konfigurace pomocí webu Azure Portal, šablon Azure Resource Manageru nebo PowerShellu. Rozšíření Azure Desired State Configuration pod kapotou a bez nutnosti vzdáleného přístupu správce k virtuálnímu počítači zaregistruje virtuální počítač ve službě Azure Automation State Configuration. Vzhledem k tomu, že rozšíření Azure běží asynchronně, jsou kroky ke sledování jeho průběhu k dispozici ve stavu kontroly nastavení virtuálního počítače.

Poznámka:

Nasazení DSC do uzlu Linuxu používá složku /tmp . Moduly, jako nxautomation jsou například dočasně, se stáhnou k ověření před jejich instalací do příslušných umístění. Aby se zajistilo, že se moduly správně nainstalují, potřebuje agent Log Analytics pro Linux oprávnění ke čtení a zápisu ve složce /tmp .

Agent Log Analytics pro Linux běží jako omsagent uživatel. Pokud chcete uživateli udělit >oprávnění k zápisu omsagent , spusťte příkaz setfacl -m u:omsagent:rwx /tmp.

Povolení virtuálního počítače pomocí webu Azure Portal

Povolení konfigurace stavu virtuálního počítače Azure prostřednictvím webu Azure Portal:

  1. Přejděte na účet Azure Automation, ve kterém chcete povolit virtuální počítače.

  2. Na stránce Konfigurace stavu vyberte kartu Uzly a potom klikněte na Přidat.

  3. Zvolte virtuální počítač, který chcete povolit.

  4. Pokud počítač nemá nainstalované rozšíření požadovaného stavu PowerShellu a stav napájení je spuštěný, klikněte na Připojení.

  5. V části Registrace zadejte hodnoty místního Configuration Manageru powershellu DSC vyžadované pro váš případ použití. Volitelně můžete zadat konfiguraci uzlu pro přiřazení k virtuálnímu počítači.

enabling VM

Povolení virtuálního počítače pomocí šablon Azure Resource Manageru

Virtuální počítač pro konfiguraci stavu můžete nainstalovat a povolit pomocí šablon Azure Resource Manageru. Ukázkovou šablonu, která umožňuje existující virtuální počítač pro konfiguraci stavu, najdete v tématu Server spravovaný službou Desired State Configuration. Pokud spravujete škálovací sadu virtuálních počítačů, podívejte se na ukázkovou šablonu v konfiguraci škálovací sady virtuálních počítačů spravovanou službou Azure Automation.

Povolení počítačů pomocí PowerShellu

K povolení virtuálních počítačů pro konfiguraci stavu můžete použít rutinu Register-AzAutomationDscNode v PowerShellu.

Poznámka:

Rutina Register-AzAutomationDscNode se v současné době implementuje jenom pro počítače s Windows, protože aktivuje jenom rozšíření Windows.

Registrace virtuálních počítačů napříč předplatnými Azure

Nejlepším způsobem, jak zaregistrovat virtuální počítače z jiných předplatných Azure, je použít rozšíření DSC v šabloně nasazení Azure Resource Manageru. Příklady jsou k dispozici v rozšíření Desired State Configuration pomocí šablon Azure Resource Manageru.

Použití metakonfigurace DSC k registraci hybridních počítačů

Počítače můžete bezpečně povolit pro účet Azure Automation prostřednictvím metakonfigurace DSC. Protokoly implementované v DSC používají informace z metakonfigurace k ověření ve službě Azure Automation State Configuration. Uzel se zaregistruje ve službě na adrese URL registrace a ověří se pomocí registračního klíče. Během registrace uzel DSC a služba DSC vyjednávají jedinečný certifikát pro uzel, který se použije k ověření na serveru po registraci. Tento proces brání tomu, aby se uzly zosobnění navzájem zosobněly, například pokud dojde k ohrožení zabezpečení uzlu a škodlivému chování. Po registraci se registrační klíč znovu nepoužívá k ověřování a odstraní se z uzlu.

Informace požadované pro registrační protokol State Configuration můžete získat z klíčů v části Nastavení účtu na webu Azure Portal.

Azure automation keys and URL

  • Adresa URL registrace je pole URL na stránce Klíče.
  • Registrační klíč je hodnota pole Primární přístupový klíč nebo pole Sekundární přístupový klíč na stránce Klíče. Můžete použít jeden z klíčů.

Pro zvýšení zabezpečení můžete na stránce Klíče kdykoli znovu vygenerovat primární a sekundární přístupové klíče účtu Automation. Regenerace klíčů zabraňuje budoucím registracím uzlů používat předchozí klíče.

Generování metakonfigurací DSC

Pokud chcete pro službu State Configuration povolit jakýkoli počítač, můžete vygenerovat metakonfiguraci DSC. Tato konfigurace říká agentovi DSC, aby si stáhl a/nebo sestavu do služby Azure Automation State Configuration. Metakonfiguraci DSC pro Azure Automation State Configuration můžete vygenerovat pomocí konfigurace PowerShellU DSC nebo rutin Azure Automation PowerShellu.

Poznámka:

Metakonfigurace DSC obsahují tajné kódy potřebné k povolení počítače v účtu Automation pro správu. Nezapomeňte správně chránit všechny metakonfigurace DSC, které vytvoříte, nebo je po použití odstranit.

Podpora proxy serveru pro metakonfigurace je řízena nástrojem Local Configuration Manager, což je modul DSC prostředí Windows PowerShell. LCM běží na všech cílových uzlech a zodpovídá za volání konfiguračních prostředků, které jsou součástí skriptu metakonfigurace DSC. Podporu proxy serveru můžete zahrnout do metakonfigurace zahrnutím definic ProxyURL a ProxyCredential vlastností podle potřeby v objektu ConfigurationRepositoryWeb, ResourceRepositoryWeba ReportServerWeb bloků. Příkladem nastavení adresy URL je ProxyURL = "http://172.16.3.6:3128";. Vlastnost ProxyCredential je nastavená na objekt, jak je popsáno v tématu Správa přihlašovacích údajů ve službě PSCredential Azure Automation.

Generování metakonfigurací DSC pomocí konfigurace DSC

  1. Otevřete VSCode (nebo váš oblíbený editor) jako správce na počítači ve vašem místním prostředí. Počítač musí mít nainstalovanou nejnovější verzi WMF 5 .

  2. Zkopírujte následující skript místně. Tento skript obsahuje konfiguraci PowerShell DSC pro vytváření metakonfigurací a příkaz, který spustí vytvoření metakonfigurace.

    Poznámka:

    V názvech konfigurace uzlů konfigurace stavu se na webu Azure Portal rozlišují malá a velká písmena. Pokud se případ neshoduje, uzel se nezobrazí na kartě Uzly .

    # 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
    
  3. Vyplňte registrační klíč a adresu URL vašeho účtu Automation a názvy počítačů, které chcete povolit. Všechny ostatní parametry jsou volitelné. Informace o registračním klíči a adrese URL registrace pro váš účet Automation najdete v tématu Použití metakonfigurace DSC k registraci hybridních počítačů.

  4. Pokud chcete, aby počítače hlásily informace o stavu DSC službě Azure Automation State Configuration, ale ne na vyžádání konfigurace nebo modulů PowerShellu, nastavte ReportOnly parametr na true.

  5. Pokud ReportOnly není nastavená, počítače hlásí informace o stavu DSC do služby Azure Automation State Configuration a vyžádat konfiguraci nebo moduly PowerShellu. Nastavte parametry odpovídajícím způsobem v , ConfigurationRepositoryWebResourceRepositoryWeba ReportServerWeb bloky.

  6. Spusťte skript. Teď byste měli mít složku pracovního adresáře s názvem DscMetaConfigs, která obsahuje metakonfigurace PowerShell DSC pro počítače, které se mají povolit (jako správce).

    Set-DscLocalConfigurationManager -Path ./DscMetaConfigs
    

Generování metakonfigurací DSC pomocí rutin Azure Automation

Pokud se výchozí nastavení DSC LCM PowerShellu shoduje s vaším případem použití a chcete počítačům povolit načtení i sestavy do azure Automation State Configuration, můžete pomocí rutin Azure Automation vygenerovat potřebné metakonfigurace DSC.

  1. Otevřete konzolu PowerShellu nebo VSCode jako správce na počítači v místním prostředí.

  2. Připojení do Azure Resource Manageru pomocí Připojení-AzAccount.

  3. Stáhněte metakonfigurace PowerShell DSC pro počítače, které chcete povolit, z účtu Automation, ve kterém nastavujete uzly.

    # Define the parameters for Get-AzAutomationDscOnboardingMetaconfig using PowerShell Splatting
    $Params = @{
        ResourceGroupName = 'ContosoResources'; # The name of the Resource Group that contains your Azure Automation account
        AutomationAccountName = 'ContosoAutomation'; # The name of the Azure Automation account where you want a node on-boarded to
        ComputerName = @('web01', 'web02', 'sql01'); # The names of the computers that the metaconfiguration will be generated 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
    
  4. Teď byste měli mít složku DscMetaConfigs obsahující metakonfigurace PowerShell DSC pro počítače, které se mají povolit (jako správce).

    Set-DscLocalConfigurationManager -Path $env:UserProfile\Desktop\DscMetaConfigs
    

Povolení fyzických nebo virtuálních počítačů s Windows

Servery s Windows spuštěné místně nebo v jiných cloudových prostředích (včetně instancí AWS EC2) můžete povolit službě Azure Automation State Configuration. Servery musí mít odchozí přístup k Azure.

  1. Ujistěte se, že je na počítačích nainstalovaná nejnovější verze WMF 5 , aby bylo možné povolit konfiguraci stavu. Kromě toho musí být WMF 5 nainstalován na počítači, který používáte pro povolení počítačů.

  2. Postupujte podle pokynů v části Generování metakonfigurací DSC a vytvořte složku obsahující požadované metakonfigurace DSC.

  3. Následující rutina slouží k vzdálenému použití metakonfigurací PowerShell DSC na počítače, které chcete povolit.

    Set-DscLocalConfigurationManager -Path C:\Users\joe\Desktop\DscMetaConfigs -ComputerName MyServer1, MyServer2
    
  4. Pokud nemůžete použít metakonfigurace DSC PowerShellu vzdáleně, zkopírujte složku metakonfigurací do počítačů, které povolíte. Pak přidejte kód pro místní volání Set-DscLocalConfigurationManager na počítačích.

  5. Pomocí webu Azure Portal nebo rutin ověřte, že se počítače zobrazují jako uzly State Configuration zaregistrované ve vašem účtu Azure Automation.

Povolení fyzických nebo virtuálních počítačů s Linuxem

Pro Konfiguraci stavu můžete povolit linuxové servery spuštěné místně nebo v jiných cloudových prostředích. Servery musí mít odchozí přístup k Azure.

  1. Ujistěte se, že je na počítačích nainstalovaný nejnovější verze powershellové konfigurace požadovaného stavu pro Linux , aby bylo možné povolit konfiguraci stavu.

  2. Pokud se výchozí nastavení místního Configuration Manageru PowerShellu DSC shoduje s vaším případem použití a chcete povolit počítače tak, aby se přetahovaly z konfigurace stavu i sestavy:

    • Na každém počítači s Linuxem, který chcete povolit, použijte Register.py k povolení počítače s výchozími nastaveními Místního Configuration Manageru DSC PowerShellu.

      /opt/microsoft/dsc/Scripts/Register.py <Automation account registration key> <Automation account registration URL>

    • Informace o registračním klíči a adrese URL registrace pro váš účet Automation najdete v tématu Použití metakonfigurace DSC k registraci hybridních počítačů.

  3. Pokud se výchozí nastavení místního nástroje LCM (PowerShell DSC) neshoduje s vaším případem použití nebo chcete povolit počítače, které hlásí pouze konfiguraci stavu služby Azure Automation, postupujte podle kroků 4 až 7. Jinak pokračujte přímo ke kroku 7.

  4. Postupujte podle pokynů v části Generování metakonfigurací DSC a vytvořte složku obsahující požadované metakonfigurace DSC.

  5. Ujistěte se, že je v počítači nainstalované nejnovější verze WMF 5 , aby se povolily počítače pro State Configuration.

  6. Přidejte kód následujícím způsobem, aby se metakonfigurace DSC PowerShellu vzdáleně použily na počítače, které chcete povolit.

    $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
    
  7. Pokud nemůžete vzdáleně použít metakonfigurace PowerShell DSC, zkopírujte metakonfigurace odpovídající vzdáleným počítačům ze složky popsané v kroku 4 na počítače s Linuxem.

  8. Přidejte kód pro místní volání Set-DscLocalConfigurationManager.py na každém počítači s Linuxem, který povolí konfiguraci stavu.

    /opt/microsoft/dsc/Scripts/SetDscLocalConfigurationManager.py -configurationmof <path to metaconfiguration file>

  9. Pomocí webu Azure Portal nebo rutin se ujistěte, že se počítače, které se teď mají povolit, zobrazují jako uzly DSC zaregistrované ve vašem účtu Azure Automation.

Opětovné registrace uzlu

Po registraci počítače jako uzlu DSC v Azure Automation State Configuration existuje několik důvodů, proč v budoucnu možná budete muset tento uzel znovu zaregistrovat.

  • Prodloužení platnosti certifikátu. U verzí Windows Serveru před Windows Serverem 2019 každý uzel automaticky vyjedná jedinečný certifikát pro ověření, jehož platnost vyprší po jednom roce. Pokud platnost certifikátu vyprší bez prodlužování platnosti, uzel nemůže komunikovat se službou Azure Automation a je označen .Unresponsive V současné době registrační protokol PowerShell DSC nemůže automaticky obnovovat certifikáty, když se blíží vypršení platnosti, a uzly je nutné po roce znovu zaregistrovat. Před opětovnou registrací se ujistěte, že na každém uzlu běží WMF 5 RTM.

    Opětovná registrace provedla 90 dnů nebo méně od doby vypršení platnosti certifikátu nebo v jakémkoli okamžiku po vypršení platnosti certifikátu způsobí vygenerování a použití nového certifikátu. Řešení tohoto problému je součástí Windows Serveru 2019 a novějšího.

  • Změní hodnoty DSC LCM. Je možné, že budete muset změnit hodnoty DSC LCM PowerShellu nastavené při počáteční registraci uzlu, ConfigurationModenapříklad . V současné době můžete tyto hodnoty agenta DSC změnit pouze prostřednictvím opětovné registrace. Jedinou výjimkou je hodnota konfigurace uzlu přiřazená uzlu. Můžete to změnit přímo ve službě Azure Automation DSC.

Uzel můžete znovu zaregistrovat stejně jako na začátku uzlu pomocí některé z metod popsaných v tomto dokumentu. Před opětovnou registrací není nutné zrušit registraci uzlu ve službě Azure Automation State Configuration.

Kontrola stavu instalace virtuálního počítače

Konfigurace stavu umožňuje snadno povolit virtuální počítače Azure s Windows pro správu konfigurace. Rozšíření Azure Desired State Configuration pod kapotou slouží k registraci virtuálního počítače ve službě Azure Automation State Configuration. Vzhledem k tomu, že rozšíření Azure VM Desired State Configuration běží asynchronně, může být důležité sledovat jeho průběh a řešit potíže s jeho spuštěním.

Poznámka:

Jakákoli metoda povolení virtuálních počítačů Azure s Windows pro konfiguraci stavu, která používá rozšíření Konfigurace požadovaného stavu virtuálního počítače Azure, může trvat až hodinu, než azure Automation zobrazí virtuální počítače jako registrované. Toto zpoždění je způsobeno instalací WMF 5 na virtuálním počítači rozšířením Konfigurace požadovaného stavu virtuálního počítače Azure, které je potřeba k povolení virtuálních počítačů pro konfiguraci stavu.

Zobrazení stavu rozšíření Konfigurace požadovaného stavu virtuálního počítače Azure:

  1. Na webu Azure Portal přejděte na povolený virtuální počítač.
  2. V části Nastavení klikněte na Rozšíření.
  3. Teď vyberte DSC nebo DSCForLinux v závislosti na vašem operačním systému.
  4. Další podrobnosti získáte kliknutím na Zobrazit podrobný stav.

Další kroky