Azure Otomasyonu State Configuration özelliğini etkinleştirme

Dekont

Otomasyon Durumu Yapılandırması'nı etkinleştirmeden önce, konuk yapılandırması adlı Azure İlkesi özelliği tarafından yönetilen daha yeni bir DSC sürümünün genel kullanıma sunulduğunun bilinmesini isteriz. Konuk yapılandırma hizmeti DSC Uzantısı, Azure Otomasyonu Durum Yapılandırması özelliklerini ve müşteri geri bildirimlerinden en sık istenen özellikleri birleştirir. Konuk yapılandırması, Arc özellikli sunucular aracılığıyla karma makine desteğini de içerir.

Bu konuda, Azure Otomasyonu Durum Yapılandırması ile makinelerinizi yönetim için nasıl ayarlayabileceğiniz açıklanmaktadır. Bu hizmetin ayrıntıları için bkz. Azure Otomasyonu Durum Yapılandırmasına genel bakış.

Azure VM'lerini etkinleştirme

Azure Otomasyonu Durum Yapılandırması, Azure portalını, Azure Resource Manager şablonlarını veya PowerShell'i kullanarak yapılandırma yönetimi için Azure VM'lerini kolayca etkinleştirmenizi sağlar. Arka planda ve yöneticinin bir VM'ye uzaktan erişime gerek kalmadan Azure VM İstenen Durum Yapılandırması uzantısı VM'yi Azure Otomasyonu Durum Yapılandırması ile kaydeder. Azure uzantısı zaman uyumsuz olarak çalıştığından, ilerleme durumunu izleme adımları VM kurulumunun durumunu denetleme bölümünde sağlanır.

Dekont

Linux düğümüne DSC dağıtılırken /tmp klasörü kullanılır. gibi nxautomation modüller, uygun konumlarına yüklenmeden önce geçici olarak doğrulama için indirilir. Modüllerin doğru yüklendiğinden emin olmak için Linux için Log Analytics aracısının /tmp klasöründe okuma/yazma izinlerine sahip olması gerekir.

Linux için Log Analytics aracısı kullanıcı olarak omsagent çalışır. >Kullanıcıya yazma izni vermek için omsagent komutunu setfacl -m u:omsagent:rwx /tmpçalıştırın.

Azure portalını kullanarak VM'yi etkinleştirme

Azure portal aracılığıyla Azure VM'sini Durum Yapılandırmasına etkinleştirmek için:

  1. VM'lerin etkinleştirileceği Azure Otomasyonu hesabına gidin.

  2. Durum Yapılandırması sayfasında Düğümler sekmesini seçin ve ekle'ye tıklayın.

  3. Etkinleştirmek için bir VM seçin.

  4. Makinede PowerShell istenen durum uzantısı yüklü değilse ve güç durumu çalışıyorsa Bağlan'e tıklayın.

  5. Kayıt altında, kullanım örneğiniz için gereken PowerShell DSC Local Configuration Manager değerlerini girin. İsteğe bağlı olarak, VM'ye atamak için bir düğüm yapılandırması girebilirsiniz.

enabling VM

Azure Resource Manager şablonlarını kullanarak VM'yi etkinleştirme

Azure Resource Manager şablonlarını kullanarak Durum Yapılandırması için vm yükleyebilir ve etkinleştirebilirsiniz. Durum Yapılandırması için mevcut bir VM'yi etkinleştiren örnek bir şablon için bkz . İstenen Durum Yapılandırma hizmeti tarafından yönetilen sunucu. Bir sanal makine ölçek kümesini yönetiyorsanız, Azure Otomasyonu tarafından yönetilen Sanal makine ölçek kümesi yapılandırmasındaki örnek şablona bakın.

PowerShell kullanarak makineleri etkinleştirme

Durum Yapılandırması için VM'leri etkinleştirmek için PowerShell'de Register-AzAutomationDscNode cmdlet'ini kullanabilirsiniz.

Dekont

Register-AzAutomationDscNode Cmdlet, yalnızca Windows uzantısını tetiklediğinden şu anda yalnızca Windows çalıştıran makineler için uygulanır.

Vm'leri Azure abonelikleri arasında kaydetme

Diğer Azure aboneliklerinden VM'leri kaydetmenin en iyi yolu, DSC uzantısını bir Azure Resource Manager dağıtım şablonunda kullanmaktır. Azure Resource Manager şablonlarıyla İstenen Durum Yapılandırması uzantısında örnekler verilmiştir.

Karma makineleri kaydetmek için DSC meta yapılandırması kullanma

DSC meta yapılandırması aracılığıyla bir Azure Otomasyonu hesabı için makineleri güvenli bir şekilde etkinleştirebilirsiniz. DSC'de uygulanan protokoller, Azure Otomasyonu Durum Yapılandırması'nda kimlik doğrulaması yapmak için meta yapılandırmadan alınan bilgileri kullanır. Düğüm, kayıt URL'sinde hizmete kaydolup bir kayıt anahtarı kullanarak kimlik doğrulaması yapar. Kayıt sırasında DSC düğümü ve DSC hizmeti, kayıt sonrası sunucuda kimlik doğrulaması için kullanılacak düğüm için benzersiz bir sertifika anlaşması sağlar. Bu işlem, örneğin bir düğümün güvenliğinin aşılması ve kötü amaçlı davranması gibi etkin düğümlerin birbirinin kimliğine bürünmesini engeller. Kayıttan sonra kayıt anahtarı yeniden kimlik doğrulaması için kullanılmaz ve düğümden silinir.

Azure portalındaki Hesap Ayarlar altındaki Anahtarlar bölümünden Durum Yapılandırması kayıt protokolü için gerekli bilgileri alabilirsiniz.

Azure automation keys and URL

  • Kayıt URL'si, Anahtarlar sayfasındaki URL alanıdır.
  • Kayıt anahtarı, Anahtarlar sayfasındaki Birincil erişim anahtarı alanının veya İkincil erişim anahtarı alanının değeridir. İki anahtardan biri kullanılabilir.

Ek güvenlik için, Otomasyon hesabının birincil ve ikincil erişim anahtarlarını istediğiniz zaman Anahtarlar sayfasında yeniden oluşturabilirsiniz. Anahtar yeniden oluşturma, gelecekteki düğüm kayıtlarının önceki anahtarları kullanmasını engeller.

DSC meta yapılandırmaları oluşturma

Durum Yapılandırması için herhangi bir makineyi etkinleştirmek için bir DSC meta yapılandırması oluşturabilirsiniz. Bu yapılandırma, DSC aracısına Azure Otomasyonu Durum Yapılandırması'ndan ve/veya rapordan çekmesini söyler. PowerShell DSC yapılandırması veya Azure Otomasyonu PowerShell cmdlet'lerini kullanarak Azure Otomasyonu Durum Yapılandırması için DSC meta yapılandırması oluşturabilirsiniz.

Dekont

DSC meta yapılandırmaları, otomasyon hesabında yönetim için bir makineyi etkinleştirmek için gereken gizli dizileri içerir. Oluşturduğunuz tüm DSC meta yapılandırmalarını düzgün bir şekilde koruduğudan emin olun veya kullandıktan sonra silin.

Meta yapılandırmalar için ara sunucu desteği, Windows PowerShell DSC altyapısı olan Local Configuration Manager tarafından denetlenmektedir. LCM tüm hedef düğümlerde çalışır ve bir DSC meta yapılandırma betiğine dahil edilen yapılandırma kaynaklarını çağırmaktan sorumludur. , ve ReportServerWeb bloklarında gerektiğinde ve ProxyCredential özelliklerinin tanımlarını ProxyURL ekleyerek meta yapılandırmaya ConfigurationRepositoryWebResourceRepositoryWebara sunucu desteği ekleyebilirsiniz. URL ayarına örnek olarak verilmiştir ProxyURL = "http://172.16.3.6:3128";. ProxyCredential özelliği, Azure Otomasyonu kimlik bilgilerini yönetme bölümünde açıklandığı gibi bir PSCredential nesneye ayarlanır.

DSC yapılandırması kullanarak DSC meta yapılandırmaları oluşturma

  1. VSCode'ı (veya sık kullandığınız düzenleyiciyi) yerel ortamınızdaki bir makinede yönetici olarak açın. Makinede WMF 5'in en son sürümü yüklü olmalıdır.

  2. Aşağıdaki betiği yerel olarak kopyalayın. Bu betik, meta yapılandırmalar oluşturmaya yönelik bir PowerShell DSC yapılandırması ve meta yapılandırma oluşturma işlemini başlatmak için bir komut içerir.

    Dekont

    Durum Yapılandırma Düğümü Yapılandırma adları Azure portalında büyük/küçük harfe duyarlıdır. Büyük/küçük harf eşleşmezse düğüm Düğümler sekmesinde gösterilmez.

    # 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. Otomasyon hesabınızın kayıt anahtarını ve URL'sini ve etkinleştirecek makinelerin adlarını doldurun. Diğer tüm parametreler isteğe bağlıdır. Otomasyon hesabınızın kayıt anahtarını ve kayıt URL'sini bulmak için bkz . Karma makineleri kaydetmek için DSC meta yapılandırması kullanma.

  4. Makinelerin DSC durum bilgilerini Azure Otomasyonu Durum Yapılandırmasına bildirmesini, ancak yapılandırmayı veya PowerShell modüllerini çekmemesini istiyorsanız, parametresini ReportOnly true olarak ayarlayın.

  5. AyarlanmadıysaReportOnly, makineler DSC durum bilgilerini Azure Otomasyonu Durum Yapılandırmasına ve çekme yapılandırmasına veya PowerShell modüllerine bildirir. , ResourceRepositoryWebve ReportServerWeb bloklarında ConfigurationRepositoryWebparametreleri uygun şekilde ayarlayın.

  6. Betiği çalıştırın. Artık etkinleştirmek üzere makinelerin (yönetici olarak) PowerShell DSC meta yapılandırmalarını içeren DscMetaConfigs adlı bir çalışma dizini klasörünüz olmalıdır.

    Set-DscLocalConfigurationManager -Path ./DscMetaConfigs
    

Azure Otomasyonu cmdlet'lerini kullanarak DSC meta yapılandırmaları oluşturma

PowerShell DSC LCM varsayılanları kullanım örneğinizle eşleşiyorsa ve makinelerin durum yapılandırmasından hem çekmesini hem de Azure Otomasyonu Durum Yapılandırmasına raporlamasını sağlamak istiyorsanız, Azure Otomasyonu cmdlet'lerini kullanarak gerekli DSC meta yapılandırmalarını daha basit bir şekilde oluşturabilirsiniz.

  1. PowerShell konsolunu veya VSCode'unu yerel ortamınızdaki bir makinede yönetici olarak açın.

  2. Bağlan-AzAccount kullanarak Azure Resource Manager'a Bağlan.

  3. Etkinleştirmek istediğiniz makineler için PowerShell DSC meta yapılandırmalarını, düğümleri ayarladığınız Otomasyon hesabından indirin.

    # 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. Artık makinelerin etkinleştirileceği (yönetici olarak) PowerShell DSC meta yapılandırmalarını içeren bir DscMetaConfigs klasörünüz olmalıdır.

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

Fiziksel/sanal Windows makinelerini etkinleştirme

Şirket içinde veya diğer bulut ortamlarında (AWS EC2 örnekleri dahil) çalışan Windows sunucularının Durum Yapılandırması'nı Azure Otomasyonu etkinleştirebilirsiniz. Sunucuların Azure'a giden erişimi olmalıdır.

  1. Durum Yapılandırması'nı etkinleştirmek üzere makinelerde WMF 5'in en son sürümünün yüklü olduğundan emin olun. Ayrıca, makineleri etkinleştirmek için kullandığınız bilgisayara WMF 5 yüklenmelidir.

  2. Gerekli DSC meta yapılandırmalarını içeren bir klasör oluşturmak için DSC meta yapılandırmaları oluşturma'daki yönergeleri izleyin.

  3. PowerShell DSC meta yapılandırmalarını etkinleştirmek üzere makinelere uzaktan uygulamak için aşağıdaki cmdlet'i kullanın.

    Set-DscLocalConfigurationManager -Path C:\Users\joe\Desktop\DscMetaConfigs -ComputerName MyServer1, MyServer2
    
  4. PowerShell DSC meta yapılandırmalarını uzaktan uygulayamıyorsanız, meta yapılandırmalar klasörünü etkinleştirdiğiniz makinelere kopyalayın. Ardından makinelerde Set-DscLocalConfigurationManager'ı yerel olarak çağırmak için kod ekleyin.

  5. Azure portalını veya cmdlet'lerini kullanarak makinelerin Azure Otomasyonu hesabınızda kayıtlı Durum Yapılandırması düğümleri olarak göründüğünü doğrulayın.

Fiziksel/sanal Linux makinelerini etkinleştirme

Durum Yapılandırması için şirket içinde veya diğer bulut ortamlarında çalışan Linux sunucularını etkinleştirebilirsiniz. Sunucuların Azure'a giden erişimi olmalıdır.

  1. Durum Yapılandırması'nı etkinleştirmek üzere makinelere Linux için PowerShell İstenen Durum Yapılandırması'nın en son sürümünün yüklendiğinden emin olun.

  2. PowerShell DSC Yerel Yapılandırma Yöneticisi varsayılanları kullanım örneğinizle eşleşiyorsa ve makineleri hem çekmeleri hem de Durum Yapılandırmasına bildirmeleri için etkinleştirmek istiyorsanız:

    • Etkinleştirileceği her Linux makinesinde, powershell DSC Yerel Yapılandırma Yöneticisi varsayılanları ile makineyi etkinleştirmek için kullanın Register.py .

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

    • Otomasyon hesabınızın kayıt anahtarını ve kayıt URL'sini bulmak için bkz . Karma makineleri kaydetmek için DSC meta yapılandırması kullanma.

  3. PowerShell DSC Yerel Yapılandırma Yöneticisi (LCM) varsayılanları kullanım örneğinizle eşleşmiyorsa veya yalnızca Durum Yapılandırması'nı Azure Otomasyonu raporlayan makineleri etkinleştirmek istiyorsanız 4-7 arası adımları izleyin. Aksi takdirde, doğrudan 7. adıma geçin.

  4. Gerekli DSC meta yapılandırmalarını içeren bir klasör oluşturmak için DSC meta yapılandırmaları oluşturma bölümündeki yönergeleri izleyin.

  5. Durum Yapılandırması için makinelerinizi etkinleştirmek için kullanılan bilgisayarda WMF 5'in en son sürümünün yüklü olduğundan emin olun.

  6. PowerShell DSC meta yapılandırmalarını etkinleştirmek üzere makinelere uzaktan uygulamak için aşağıdaki gibi kod ekleyin.

    $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. PowerShell DSC meta yapılandırmalarını uzaktan uygulayamıyorsanız, uzak makinelere karşılık gelen meta yapılandırmaları 4. adımda açıklanan klasörden Linux makinelerine kopyalayın.

  8. Durum Yapılandırması'nı etkinleştirmek üzere her Linux makinesinde yerel olarak çağrılacak Set-DscLocalConfigurationManager.py kod ekleyin.

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

  9. Azure portalını veya cmdlet'lerini kullanarak etkinleştirilen makinelerin artık Azure Otomasyonu hesabınızda kayıtlı DSC düğümleri olarak göründüğünden emin olun.

Düğümü yeniden kaydetme

Azure Otomasyonu Durum Yapılandırması'nda bir makineyi DSC düğümü olarak kaydettikten sonra, gelecekte bu düğümü yeniden kaydetmeniz gerekebilecek çeşitli nedenler vardır.

  • Sertifika yenileme. Windows Server'ın Windows Server 2019'un önceki sürümleri için her düğüm, bir yıl sonra süresi dolan kimlik doğrulaması için otomatik olarak benzersiz bir sertifika anlaşması oluşturur. Sertifikanın süresi yenileme olmadan dolarsa düğüm Azure Otomasyonu ile iletişim kuramaz ve olarak işaretlenirUnresponsive. Şu anda PowerShell DSC kayıt protokolü, süresi dolmakta olan sertifikaları otomatik olarak yenileyemez ve düğümleri bir yıl sonra yeniden kaydetmeniz gerekir. Yeniden kaydetmeden önce her düğümün WMF 5 RTM çalıştırdığından emin olun.

    Yeniden kayıt, sertifika süre sonu süresinden 90 gün veya daha kısa bir süre sonra ya da sertifikanın sona erme tarihinden sonra herhangi bir noktada gerçekleştirilen yeni bir sertifikanın oluşturulmasına ve kullanılmasına neden olur. Bu sorunun çözümü Windows Server 2019 ve sonraki sürümlere eklenmiştir.

  • DSC LCM değerlerinde yapılan değişiklikler. Düğümün ilk kaydı sırasında ayarlanan PowerShell DSC LCM değerlerini değiştirmeniz gerekebilir; örneğin, ConfigurationMode. Şu anda bu DSC aracı değerlerini yalnızca yeniden kayıt yoluyla değiştirebilirsiniz. Tek özel durum, düğüme atanan Düğüm Yapılandırması değeridir. Bunu doğrudan Azure Otomasyonu DSC'de değiştirebilirsiniz.

Bu belgede açıklanan yöntemlerden herhangi birini kullanarak düğümü başlangıçta kaydettiğiniz gibi yeniden kaydedebilirsiniz. Bir düğümü yeniden kaydetmeden önce Azure Otomasyonu Durum Yapılandırması kaydını kaldırmanız gerekmez.

VM kurulumunun durumunu denetleme

Durum Yapılandırması, yapılandırma yönetimi için Azure Windows VM'lerini kolayca etkinleştirmenizi sağlar. Vm'yi Azure Otomasyonu Durum Yapılandırması ile kaydetmek için arka planda Azure VM İstenen Durum Yapılandırması uzantısı kullanılır. Azure VM İstenen Durum Yapılandırması uzantısı zaman uyumsuz olarak çalıştığından ilerleme durumunu izlemek ve yürütme sorunlarını gidermek önemli olabilir.

Dekont

Azure VM İstenen Durum Yapılandırması uzantısını kullanan Durum Yapılandırması için Azure Windows VM'lerini etkinleştirmenin herhangi bir yöntemi, Azure Otomasyonu VM'lerin kayıtlı olarak gösterilmesi bir saate kadar sürebilir. Bu gecikme, Durum Yapılandırması için VM'leri etkinleştirmek için gereken Azure VM İstenen Durum Yapılandırması uzantısı tarafından VM'ye WMF 5 yüklenmesinden kaynaklanır.

Azure VM İstenen Durum Yapılandırması uzantısının durumunu görüntülemek için:

  1. Azure portalında etkinleştirilmekte olan VM'ye gidin.
  2. Ayarlar altındaki Uzantılar'a tıklayın.
  3. Şimdi işletim sisteminize bağlı olarak DSC veya DSCForLinux seçeneğini belirleyin.
  4. Daha fazla ayrıntı için Ayrıntılı durumu görüntüle'ye tıklayabilirsiniz.

Sonraki adımlar