Sdílet prostřednictvím


Povolení služby Azure Automation State Configuration

Poznámka:

Azure Automation State Configuration bude vyřazena 30. září 2027. Do tohoto data přejděte na Azure Machine Configuration . Další informace najdete v blogovém příspěvku. Služba Azure Machine Configuration kombinuje funkce rozšíření DSC, Azure Automation State Configuration a nejčastěji požadované funkce od zpětné vazby zákazníků. Konfigurace počítače Azure také zahrnuje podporu hybridních počítačů prostřednictvím serverů s podporou Arc.

Upozornění

Azure Automation DSC pro Linux se 30. září 2023 vyřadil z 30. Další informace najdete v oznámení.

Tento článek 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 VM Desired State Configuration automaticky 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 pak vyberte 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ý, vyberte Připojit.
  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.

povolení virtuálního počítače

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 konfigurace š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 najdete v části Nastavení účtu na webu Azure Portal.

Klíče a adresa URL služby Azure Automation

  • 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.

Místní Configuration Manager (LCM) řídí podporu proxy pro metakonfigurace. 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 textový editor, například Visual Studio Code (VS Code), jako správce na počítači v 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

Metakonfigurace DSC můžete vygenerovat pomocí rutin Azure Automation za následujících podmínek:

  • Výchozí hodnoty LCM odpovídají vašemu případu použití.
  • Chcete povolit, aby počítače přetáhly ze služby Azure Automation State Configuration i z sestavy.

K vygenerování metakonfigurací použijte následující postup:

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

  2. Připojte se k Azure Resource Manageru pomocí connect-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 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
    
  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 nainstalovaný na počítači, který používáte pro povolení počítačů.

  2. Pokud chcete vytvořit složku obsahující požadované metakonfigurace DSC, postupujte podle pokynů v části Generování metakonfigurací 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 metakonfigurace DSC PowerShellu použít 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. Ujistěte se, že se počítače zobrazují jako uzly DSC zaregistrované ve vašem účtu Azure Automation. Můžete použít Azure Portal nebo rutiny.

Opětovné registrace uzlu

Po registraci počítače jako uzlu DSC ve službě 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 musíte po roce znovu zaregistrovat. Před opětovnou registrací se ujistěte, že na každém uzlu běží WMF 5 RTM.

    Vygeneruje se nový certifikát a použije se, pokud 90 dnů nebo méně od doby vypršení platnosti certifikátu nebo v jakémkoli okamžiku po vypršení platnosti certifikátu znovu zaregistrujete. Tento problém je opravený ve Windows Serveru 2019 a novějším.

  • 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. Tuto hodnotu můžete 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í vyberte 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 výběrem možnosti Zobrazit podrobný stav.

Další kroky