Az Azure Automation State Configuration engedélyezése

Megjegyzés:

Az Automation State Configuration engedélyezése előtt szeretnénk tudni, hogy a DSC egy újabb verziója általánosan elérhető, amelyet az Azure Policy vendégkonfiguráció nevű funkciója felügyel. A vendégkonfigurációs szolgáltatás egyesíti a DSC-bővítmény, az Azure Automation State Configuration funkcióit és az ügyfelek visszajelzéseiből leggyakrabban kért funkciókat. A vendégkonfiguráció a hibrid gépek Arc-kompatibilis kiszolgálókon keresztüli támogatását is tartalmazza.

Ez a témakör azt ismerteti, hogyan állíthatja be a gépeket felügyeletre az Azure Automation State Configuration használatával. A szolgáltatás részleteiért tekintse meg az Azure Automation State Configuration áttekintését.

Azure-beli virtuális gépek engedélyezése

Az Azure Automation State Configuration segítségével egyszerűen engedélyezheti az Azure-beli virtuális gépeket a konfigurációkezeléshez az Azure Portal, az Azure Resource Manager-sablonok vagy a PowerShell használatával. A motorháztető alatt, és anélkül, hogy a rendszergazdának távolról kellene csatlakoznia egy virtuális géphez, az Azure VM Desired State Configuration bővítmény regisztrálja a virtuális gépet az Azure Automation State Configuration szolgáltatással. Mivel az Azure-bővítmény aszinkron módon fut, a folyamat nyomon követésének lépéseit a virtuális gép beállításának állapotának ellenőrzése ismerteti.

Megjegyzés:

A DSC Linux-csomóponton való üzembe helyezése a /tmp mappát használja. Az olyan modulok, mint amilyenek nxautomation ideiglenesen letöltődnek ellenőrzésre, mielőtt a megfelelő helyekre telepítik őket. A modulok megfelelő telepítésének biztosítása érdekében a Linux Log Analytics-ügynökének olvasási/írási engedélyekre van szüksége a /tmp mappában.

A Linuxhoz készült Log Analytics-ügynök felhasználóként omsagent fut. Ha írási engedélyt szeretne adni >a omsagent felhasználónak, futtassa a parancsot setfacl -m u:omsagent:rwx /tmp.

Virtuális gép engedélyezése az Azure Portallal

Azure-beli virtuális gépek állapotkonfigurációjának engedélyezése az Azure Portalon keresztül:

  1. Lépjen arra az Azure Automation-fiókra, amelyben engedélyezni szeretné a virtuális gépeket.

  2. Az Állapotkonfiguráció lapon válassza a Csomópontok lapot, majd kattintson a Hozzáadás gombra.

  3. Válasszon egy engedélyezni kívánt virtuális gépet.

  4. Ha a gépen nincs telepítve a PowerShell kívánt állapotkiterjesztése, és az energiaállapot fut, kattintson a Csatlakozás.

  5. A Regisztráció csoportban adja meg a használati esethez szükséges PowerShell DSC Local Configuration Manager-értékeket. Igény szerint megadhat egy csomópontkonfigurációt a virtuális géphez való hozzárendeléshez.

enabling VM

Virtuális gép engedélyezése Azure Resource Manager-sablonokkal

Azure Resource Manager-sablonok használatával telepíthet és engedélyezheti az állapotkonfigurációhoz szükséges virtuális gépeket. Tekintse meg a Desired State Configuration szolgáltatás által felügyelt kiszolgálót egy példasablonhoz, amely lehetővé teszi egy meglévő virtuális gépet az állapotkonfigurációhoz. Ha egy virtuálisgép-méretezési csoportot kezel, tekintse meg az Azure Automation által felügyelt virtuálisgép-méretezési csoport konfigurációjának példasablonját.

Gépek engedélyezése a PowerShell használatával

A Register-AzAutomationDscNode parancsmaggal engedélyezheti a virtuális gépeket az állapotkonfigurációhoz.

Megjegyzés:

A Register-AzAutomationDscNode parancsmag jelenleg csak a Windows rendszert futtató gépekre van implementálva, mivel csak a Windows-bővítményt aktiválja.

Virtuális gépek regisztrálása Azure-előfizetésekben

A virtuális gépek más Azure-előfizetésekből való regisztrálásának legjobb módja a DSC-bővítmény használata egy Azure Resource Manager-alapú üzembehelyezési sablonban. Példákat a Desired State Configuration bővítményben találhat Azure Resource Manager-sablonokkal.

Hibrid gépek regisztrálása DSC-metakonfigurációval

A DSC metakonfigurációval biztonságosan engedélyezheti a gépeket egy Azure Automation-fiókhoz. A DSC-ben implementált protokollok a metakonfiguráció információi alapján hitelesítik magukat az Azure Automation State Configuration szolgáltatásban. A csomópont regisztrál a szolgáltatással a regisztrációs URL-címen, és egy regisztrációs kulccsal hitelesít. A regisztráció során a DSC-csomópont és a DSC szolgáltatás egyeztet egy egyedi tanúsítványt a csomóponthoz, amelyet a rendszer a regisztrációt követően a kiszolgáló felé történő hitelesítéshez használ. Ez a folyamat megakadályozza, hogy az engedélyezett csomópontok megszemélyesíthessék egymást, például ha egy csomópont megsérül, és rosszindulatúan viselkedik. A regisztráció után a rendszer nem használja újra a regisztrációs kulcsot a hitelesítéshez, és törlődik a csomópontról.

Az Állapotkonfiguráció regisztrációs protokolljához szükséges információkat az Azure Portal Fiók Gépház kulcsaiból szerezheti be.

Azure automation keys and URL

  • A regisztrációs URL-cím a Kulcsok lap URL-címe.
  • A regisztrációs kulcs az Elsődleges hozzáférési kulcs mező vagy a Másodlagos hozzáférési kulcs mező értéke a Kulcsok lapon. Bármelyik kulcs használható.

A további biztonság érdekében bármikor újra létrehozhatja egy Automation-fiók elsődleges és másodlagos hozzáférési kulcsait a Kulcsok lapon. A kulcsok újragenerálása megakadályozza, hogy a jövőbeli csomópontregisztrációk a korábbi kulcsokat használják.

DSC-metakonfigurációk létrehozása

Az állapotkonfiguráció bármely gépének engedélyezéséhez létrehozhat egy DSC-metakonfigurációt. Ez a konfiguráció arra utasítja a DSC-ügynököt, hogy lekérje és/vagy jelentse az Azure Automation State Configuration-nak. Az Azure Automation State Configuration DSC-metakonfigurációját PowerShell DSC-konfigurációval vagy az Azure Automation PowerShell-parancsmagokkal hozhatja létre.

Megjegyzés:

A DSC-metakonfigurációk tartalmazzák azokat a titkos kulcsokat, amelyek egy Automation-fiókban lévő gépek felügyelethez való engedélyezéséhez szükségesek. Ügyeljen arra, hogy megfelelően védje a létrehozott DSC-metakonfigurációkat, vagy törölje őket használat után.

A metakonfigurációk proxytámogatását a Local Configuration Manager vezérli, amely a Windows PowerShell DSC-motor. Az LCM az összes célcsomóponton fut, és a DSC metakonfigurációs szkriptjében található konfigurációs erőforrások meghívásáért felelős. A proxytámogatást a metakonfigurációkba úgy is belefoglalhatja, hogy szükség szerint definíciókat ProxyURL és ProxyCredential tulajdonságokat tartalmaz a ConfigurationRepositoryWeb, ResourceRepositoryWebés ReportServerWeb blokkokban. Az URL-beállításra példa: ProxyURL = "http://172.16.3.6:3128";. A ProxyCredential tulajdonság objektumra PSCredential van állítva az Azure Automation hitelesítő adatainak kezelése című cikkben leírtak szerint.

DSC-metakonfigurációk létrehozása DSC-konfigurációval

  1. Nyissa meg a VSCode-ot (vagy a kedvenc szerkesztőt) rendszergazdaként egy helyi környezetben lévő gépen. A gépen telepítve kell lennie a WMF 5 legújabb verziójának.

  2. Másolja ki helyileg a következő szkriptet. Ez a szkript egy PowerShell DSC-konfigurációt tartalmaz a metakonfigurációk létrehozásához, valamint egy parancsot, amely elindítja a metakonfiguráció létrehozását.

    Megjegyzés:

    Az állapotkonfigurációs csomópont konfigurációs nevei megkülönböztetik a kis- és nagybetűket az Azure Portalon. Ha az eset nem egyezik, a csomópont nem jelenik meg a Csomópontok lapon.

    # 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. Adja meg az Automation-fiók regisztrációs kulcsát és URL-címét, valamint az engedélyezni kívánt gépek nevét. Az összes többi paraméter megadása nem kötelező. Az Automation-fiók regisztrációs kulcsának és regisztrációs URL-címének megkereséséhez tekintse meg a hibrid gépek regisztrálásához használt DSC-metakonfigurációt.

  4. Ha azt szeretné, hogy a gépek dSC-állapotinformációkat jelentsenek az Azure Automation Állapotkonfigurációnak, de a lekéréses konfigurációt vagy a PowerShell-modulokat nem, állítsa a ReportOnly paramétert igaz értékre.

  5. Ha ReportOnly nincs beállítva, a gépek DSC állapotinformációkat jelentenek az Azure Automation állapotkonfigurációjának, valamint lekéréses konfigurációnak vagy PowerShell-moduloknak. Ennek megfelelően állítsa be a paramétereket a , ResourceRepositoryWebés ReportServerWeb blokkokbanConfigurationRepositoryWeb.

  6. Run the script. Most már rendelkeznie kell egy DscMetaConfigs nevű munkakönyvtár-mappával, amely tartalmazza az engedélyezendő gépek PowerShell DSC-metakonfigurációit (rendszergazdaként).

    Set-DscLocalConfigurationManager -Path ./DscMetaConfigs
    

DSC-metakonfigurációk létrehozása Azure Automation-parancsmagokkal

Ha a PowerShell DSC LCM alapértelmezése megegyezik a használati esetével, és engedélyezni szeretné a gépek számára a lekérést és a jelentéskészítést az Azure Automation Állapotkonfigurációjához, a szükséges DSC-metakonfigurációkat egyszerűen létrehozhatja az Azure Automation-parancsmagok használatával.

  1. Nyissa meg a PowerShell-konzolt vagy a VSCode-ot rendszergazdaként egy helyi környezetben lévő gépen.

  2. Csatlakozás az Azure Resource Managerbe Csatlakozás-AzAccount használatával.

  3. Töltse le az engedélyezni kívánt gépek PowerShell DSC-metakonfigurációit abból az Automation-fiókból, amelyben csomópontokat állít be.

    # 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. Most már rendelkeznie kell egy DscMetaConfigs mappával, amely tartalmazza a gépek PowerShell DSC-metakonfigurációit( rendszergazdaként).

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

Fizikai/virtuális Windows-gépek engedélyezése

Engedélyezheti a helyszíni vagy más felhőkörnyezetekben (beleértve az AWS EC2-példányokat) futó Windows-kiszolgálókat az Azure Automation State Configuration szolgáltatásban. A kiszolgálóknak kimenő hozzáféréssel kell rendelkezniük az Azure-hoz.

  1. Győződjön meg arról, hogy a WMF 5 legújabb verziója telepítve van a gépeken az állapotkonfiguráció engedélyezéséhez. Emellett a WMF 5-öt telepíteni kell arra a számítógépre, amelyet a gépek engedélyezéséhez használ.

  2. Kövesse a DSC-metakonfigurációk létrehozása című témakörben található utasításokat a szükséges DSC-metakonfigurációkat tartalmazó mappa létrehozásához.

  3. Az alábbi parancsmaggal távolról alkalmazhatja a PowerShell DSC metakonfigurációit az engedélyezendő gépekre.

    Set-DscLocalConfigurationManager -Path C:\Users\joe\Desktop\DscMetaConfigs -ComputerName MyServer1, MyServer2
    
  4. Ha nem tudja távolról alkalmazni a PowerShell DSC metakonfigurációit, másolja a metakonfigurációk mappát az engedélyező gépekre. Ezután adjon hozzá kódot a Set-DscLocalConfigurationManager helyi meghívásához a gépeken.

  5. Az Azure Portal vagy parancsmagok használatával ellenőrizze, hogy a gépek állapotkonfigurációs csomópontként jelennek-e meg az Azure Automation-fiókban regisztrálva.

Fizikai/virtuális Linux-gépek engedélyezése

Az állapotkonfigurációhoz engedélyezheti a helyszínen vagy más felhőkörnyezetekben futó Linux-kiszolgálókat. A kiszolgálóknak kimenő hozzáféréssel kell rendelkezniük az Azure-hoz.

  1. Győződjön meg arról, hogy a Linux PowerShell Desired State Configuration legújabb verziója telepítve van a gépeken az állapotkonfiguráció engedélyezéséhez.

  2. Ha a PowerShell DSC Local Configuration Manager alapértelmezés szerint egyezik a használati esetével, és engedélyezni szeretné a gépeket, hogy mindkettő lekérje és jelentse az állapotkonfigurációnak:

    • Minden engedélyezendő Linux-gépen engedélyezze Register.py a gépet a PowerShell DSC Local Configuration Manager alapértelmezett beállításával.

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

    • Az Automation-fiók regisztrációs kulcsának és regisztrációs URL-címének megkereséséhez tekintse meg a hibrid gépek regisztrálásához használt DSC-metakonfigurációt.

  3. Ha a PowerShell DSC Local Configuration Manager (LCM) alapértelmezései nem felelnek meg a használati esetnek, vagy engedélyezni szeretné azokat a gépeket, amelyek csak az Azure Automation Állapotkonfigurációnak jelentenek, kövesse a 4–7. lépést. Ellenkező esetben folytassa közvetlenül a 7. lépésben.

  4. A DSC-metakonfigurációk létrehozása szakaszban található utasításokat követve hozzon létre egy mappát, amely tartalmazza a szükséges DSC-metakonfigurációkat.

  5. Győződjön meg arról, hogy a WMF 5 legújabb verziója telepítve van arra a számítógépre, amellyel a gépek engedélyezve vannak az állapotkonfigurációhoz.

  6. Az alábbiak szerint adjon hozzá kódot a PowerShell DSC metakonfigurációinak távoli alkalmazásához az engedélyezendő gépekre.

    $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. Ha nem tudja távolról alkalmazni a PowerShell DSC metakonfigurációit, másolja a távoli gépeknek megfelelő metakonfigurációkat a 4. lépésben leírt mappából a Linux rendszerű gépekre.

  8. Az állapotkonfiguráció engedélyezéséhez adjon hozzá helyileg hívható Set-DscLocalConfigurationManager.py kódot minden Linux-gépen.

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

  9. Az Azure Portal vagy a parancsmagok használatával győződjön meg arról, hogy az engedélyezendő gépek mostantól az Azure Automation-fiókban regisztrált DSC-csomópontokként jelennek meg.

Csomópont ismételt regisztrálása

Miután egy gépet DSC-csomópontként regisztrált az Azure Automation State Configurationban, több oka is lehet annak, hogy a jövőben újra regisztrálnia kell ezt a csomópontot.

  • Tanúsítványmegújítás. A Windows Server 2019 előtti Windows Server-verziók esetében minden csomópont automatikusan egyeztet egy egyedi tanúsítványt a hitelesítéshez, amely egy év elteltével lejár. Ha egy tanúsítvány megújítás nélkül lejár, a csomópont nem tud kommunikálni az Azure Automationnel, és meg van jelölve Unresponsive. A PowerShell DSC regisztrációs protokoll jelenleg nem tudja automatikusan megújítani a tanúsítványokat a lejáratuk közeledtével, és egy év elteltével újra kell regisztrálnia a csomópontokat. Az újraregisztrálás előtt győződjön meg arról, hogy az egyes csomópontok WMF 5 RTM-et futtatnak.

    Az újraregisztráció a tanúsítvány lejárati időpontjától számított 90 napnál rövidebb ideig vagy a tanúsítvány lejárati ideje után bármikor új tanúsítványt hoz létre és használ. A probléma megoldását a Windows Server 2019 és újabb verziók tartalmazzák.

  • DSC LCM-értékek módosítása. Előfordulhat, hogy módosítania kell a Csomópont kezdeti regisztrációja során beállított PowerShell DSC LCM-értékeket , ConfigurationModepéldául. Jelenleg ezeket a DSC-ügynökértékeket csak újraregisztrációval módosíthatja. Az egyetlen kivétel a csomóponthoz rendelt csomópontkonfigurációs érték. Ezt közvetlenül az Azure Automation DSC-ben módosíthatja.

A jelen dokumentumban ismertetett módszerek bármelyikével újra regisztrálhat egy csomópontot, ahogyan a csomópontot eredetileg regisztrálta. Nem kell megszüntetnie egy csomópont regisztrációját az Azure Automation State Configuration-ból, mielőtt újra regisztrálná.

A virtuális gép beállításának állapotának ellenőrzése

Az állapotkonfigurációval egyszerűen engedélyezheti az Azure Windows rendszerű virtuális gépeket a konfigurációkezeléshez. A motorháztető alatt az Azure-beli virtuális gép Desired State Configuration bővítményével regisztrálhatja a virtuális gépet az Azure Automation State Configuration szolgáltatásban. Mivel az Azure-beli virtuális gép Desired State Configuration bővítménye aszinkron módon fut, fontos lehet nyomon követni a folyamat előrehaladását és hibaelhárítását.

Megjegyzés:

Az Azure-beli virtuális gépek kívánt állapotkonfigurációs bővítményét használó Azure Windows rendszerű virtuális gépek állapotkonfigurációhoz való engedélyezésének bármely módja akár egy órát is igénybe vehet, amíg az Azure Automation megjeleníti a virtuális gépeket regisztráltként. Ez a késés annak köszönhető, hogy a WMF 5 telepítése a virtuális gépen az Azure-beli virtuális gép kívánt állapotkonfigurációs bővítményével történik, amely a virtuális gépek állapotkonfigurációhoz való engedélyezéséhez szükséges.

Az Azure VM Desired State Configuration bővítmény állapotának megtekintése:

  1. Az Azure Portalon keresse meg az engedélyezve lévő virtuális gépet.
  2. Kattintson a Bővítmények elemre a Gépház alatt.
  3. Most válassza a DSC vagy a DSCForLinux lehetőséget az operációs rendszertől függően.
  4. További részletekért kattintson a Részletes állapot megtekintése gombra.

Következő lépések