Aracılığıyla paylaş


Azure Otomasyonu Durum Yapılandırmasında DSC yapılandırmalarını derleme

Not

Azure Otomasyonu State Configuration 30 Eylül 2027'de kullanımdan kaldırılacak, lütfen Bu tarihe kadar Azure Makine Yapılandırması. Daha fazla bilgi için blog gönderisi duyurusunu inceleyin. Azure Machine Configuration hizmeti DSC Uzantısı, Azure Otomasyonu Durum Yapılandırması özelliklerini ve müşteri geri bildirimlerinden en sık istenen özellikleri birleştirir. Azure Makine Yapılandırması, Arc özellikli sunucular aracılığıyla karma makine desteği de içerir.

İstenen Durum Yapılandırması (DSC) yapılandırmalarını Azure Otomasyonu Durum Yapılandırması'nda aşağıdaki yollarla derleyebilirsiniz:

  • Azure Durum Yapılandırması derleme hizmeti

    • Etkileşimli kullanıcı arabirimine sahip başlangıç yöntemi
    • İş durumunu kolayca izleme
  • Windows PowerShell

    • Yerel iş istasyonunda veya derleme hizmetinde Windows PowerShell'den arama
    • Geliştirme testi işlem hattıyla tümleştirme
    • Karmaşık parametre değerleri sağlama
    • Büyük ölçekte düğüm ve düğüm olmayan verilerle çalışma
    • Önemli performans geliştirmesi

Yapılandırmaları Azure VM'lerinize göndermek için Azure İstenen Durum Yapılandırması (DSC) uzantısıyla Azure Resource Manager şablonlarını da kullanabilirsiniz. Azure DSC uzantısı, Azure VM'lerinde çalışan DSC yapılandırmalarını teslim etmek, uygulamak ve raporlamak için Azure VM Aracısı çerçevesini kullanır. Azure Resource Manager şablonlarını kullanarak derleme ayrıntıları için bkz . Azure Resource Manager şablonlarıyla İstenen Durum Yapılandırması uzantısı.

Azure State Configuration'da DSC yapılandırması derleme

Portal

  1. Otomasyon hesabınızda Durum yapılandırması (DSC) öğesini seçin.
  2. Yapılandırmalar sekmesinden öğesini ve ardından derlenecek yapılandırma adını seçin.
  3. Derle'yi seçin.
  4. Yapılandırmada parametre yoksa, derlemek isteyip istemediğinizi onaylamanız istenir. Yapılandırmada parametreler varsa, parametre değerlerini sağlayabilmeniz için Yapılandırmayı Derle bölmesi açılır.
  5. Derleme işi durumunu izleyebilebilmeniz için Derleme İşi sayfası açılır. Bu sayfayı, Azure Otomasyonu Durum Yapılandırması çekme sunucusuna yerleştirilen düğüm yapılandırmalarını (MOF yapılandırma belgeleri) izlemek için de kullanabilirsiniz.

Azure PowerShell

Windows PowerShell ile derlemeye başlamak için Start-AzAutomationDscCompilationJob kullanabilirsiniz. Aşağıdaki örnek kod, SampleConfig adlı bir DSC yapılandırmasının derlenmesine başlar.

Start-AzAutomationDscCompilationJob -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'MyAutomationAccount' -ConfigurationName 'SampleConfig'

Start-AzAutomationDscCompilationJob , iş durumunu izlemek için kullanabileceğiniz bir derleme işi nesnesi döndürür. Daha sonra derleme işinin durumunu belirlemek için Get-AzAutomationDscCompilationJob ve akışlarını (çıktı) görüntülemek için Get-AzAutomationDscCompilationJobOutput ile bu derleme işi nesnesini kullanabilirsiniz. Aşağıdaki örnek SampleConfig yapılandırmasının derlenmesini başlatır, tamamlanana kadar bekler ve akışlarını görüntüler.

$CompilationJob = Start-AzAutomationDscCompilationJob -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'MyAutomationAccount' -ConfigurationName 'SampleConfig'

while($null -eq $CompilationJob.EndTime -and $null -eq $CompilationJob.Exception)
{
    $CompilationJob = $CompilationJob | Get-AzAutomationDscCompilationJob
    Start-Sleep -Seconds 3
}

$CompilationJob | Get-AzAutomationDscCompilationJobOutput –Stream Any

Temel parametreleri bildirme

Parametre türleri ve özellikleri de dahil olmak üzere DSC yapılandırmalarındaki parametre bildirimi, Azure Otomasyonu runbook'lardakiyle aynı şekilde çalışır. Runbook parametreleri hakkında daha fazla bilgi edinmek için bkz. Azure Otomasyonu'de runbook başlatma.

Aşağıdaki örnek, derleme sırasında oluşturulan ParametersExample.sample node yapılandırmasındaki özelliklerin değerlerini belirlemek için ve IsPresent parametrelerini kullanırFeatureName.

Configuration ParametersExample
{
    param(
        [Parameter(Mandatory=$true)]
        [string] $FeatureName,

        [Parameter(Mandatory=$true)]
        [boolean] $IsPresent
    )

    $EnsureString = 'Present'
    if($IsPresent -eq $false)
    {
        $EnsureString = 'Absent'
    }

    Node 'sample'
    {
        WindowsFeature ($FeatureName + 'Feature')
        {
            Ensure = $EnsureString
            Name   = $FeatureName
        }
    }
}

Azure Otomasyonu Durum Yapılandırması portalında veya Azure PowerShell ile temel parametreleri kullanan DSC yapılandırmalarını derleyebilirsiniz.

Portal

Portalda, Derle'ye tıkladıktan sonra parametre değerlerini girebilirsiniz.

Yapılandırma derleme parametreleri

Azure PowerShell

PowerShell, anahtarın parametre adıyla eşleştiği ve değerin parametre değerine eşit olduğu bir karma tablodaki parametreleri gerektirir.

$Parameters = @{
    'FeatureName' = 'Web-Server'
    'IsPresent' = $False
}

Start-AzAutomationDscCompilationJob -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'MyAutomationAccount' -ConfigurationName 'ParametersExample' -Parameters $Parameters

Nesneleri parametre olarak geçirme PSCredential hakkında bilgi için bkz . Kimlik bilgileri varlıkları.

Azure Otomasyonu bileşik kaynakları içeren yapılandırmaları derleme

Bileşik Kaynaklar özelliği, DSC yapılandırmalarını bir yapılandırmanın içinde iç içe kaynaklar olarak kullanmanıza olanak tanır. Bu özellik, tek bir kaynağa birden çok yapılandırmanın uygulanmasını sağlar. Bileşik kaynaklar hakkında daha fazla bilgi edinmek için bkz . Bileşik kaynaklar: Kaynak olarak DSC yapılandırması kullanma.

Not

Bileşik kaynakları içeren yapılandırmaların doğru derlenmesi için, önce bileşiklerin bağlı olduğu tüm DSC kaynaklarını Azure Otomasyonu içeri aktarmanız gerekir. DSC bileşik kaynağı eklemek, Azure Otomasyonu herhangi bir PowerShell modülü eklemekten farklı değildir. Bu işlem, Azure Otomasyonu Modülleri Yönetme bölümünde belgelenmiştir.

yapılandırmaları Azure Otomasyonu derlerken ConfigurationData'ları yönetme

ConfigurationData , PowerShell DSC kullanırken yapısal yapılandırmayı ortama özgü herhangi bir yapılandırmadan ayırmanıza olanak tanıyan yerleşik bir DSC parametresidir. Daha fazla bilgi için bkz . PowerShell DSC'de "What" yerine "Where" öğesini ayırma.

Not

Azure Otomasyonu Durum Yapılandırması'nda derleme yaparken Azure PowerShell'de kullanabilirsiniz ConfigurationData ancak Azure portalında kullanamazsınız.

Aşağıdaki örnek DSC yapılandırması, ve $AllNodes anahtar sözcükleri aracılığıyla $ConfigurationData kullanırConfigurationData. Bu örnek için xWebAdministration modülüne de ihtiyacınız vardır.

Configuration ConfigurationDataSample
{
    Import-DscResource -ModuleName xWebAdministration -Name MSFT_xWebsite

    Write-Verbose $ConfigurationData.NonNodeData.SomeMessage

    Node $AllNodes.Where{$_.Role -eq 'WebServer'}.NodeName
    {
        xWebsite Site
        {
            Name         = $Node.SiteName
            PhysicalPath = $Node.SiteContents
            Ensure       = 'Present'
        }
    }
}

Önceki DSC yapılandırmasını Windows PowerShell ile derleyebilirsiniz. Aşağıdaki betik, Azure Otomasyonu Durum Yapılandırması çekme hizmetine iki düğüm yapılandırması ekler: ConfigurationDataSample.MyVM1 ve ConfigurationDataSample.MyVM3.

$ConfigData = @{
    AllNodes = @(
        @{
            NodeName = 'MyVM1'
            Role = 'WebServer'
        },
        @{
            NodeName = 'MyVM2'
            Role = 'SQLServer'
        },
        @{
            NodeName = 'MyVM3'
            Role = 'WebServer'
        }
    )

    NonNodeData = @{
        SomeMessage = 'I love Azure Automation State Configuration and DSC!'
    }
}

Start-AzAutomationDscCompilationJob -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'MyAutomationAccount' -ConfigurationName 'ConfigurationDataSample' -ConfigurationData $ConfigData

Derleme sırasında Azure Otomasyonu varlıklarla çalışma

Varlık başvuruları hem Azure Otomasyonu Durum Yapılandırmasında hem de runbook'larda aynıdır. Daha fazla bilgi için aşağıdaki makaleleri inceleyin:

Kimlik bilgileri varlıkları

Yapılandırmada nesne belirten PSCredential bir parametre varsa, kimlik bilgilerini almak için cmdlet'ine Azure Otomasyonu kimlik bilgisi varlığının adını geçirerek kullanınGet-AutomationPSCredential. Azure Otomasyonu kimlik bilgilerini yapılandırmaya geçirir.

Düğüm yapılandırmalarında kimlik bilgilerini güvenli tutmak için düğüm yapılandırması MOF dosyasındaki kimlik bilgilerini şifreleyin. PowerShell DSC'ye düğüm yapılandırması MOF oluşturma sırasında kimlik bilgilerinin düz metin olarak çıkışı için izin vermeniz gerekir. PowerShell DSC, Azure Otomasyonu bir derleme işi tarafından oluşturulduktan sonra MOF dosyasının tamamını şifrelediğinin farkında değildir.

PowerShell DSC'ye, yapılandırma Verileri kullanılarak oluşturulan düğüm yapılandırması MDF'lerinde kimlik bilgilerinin düz metin olarak çıkışının uygun olduğunu belirtebilirsiniz. DSC yapılandırmasında görünen ve kimlik bilgilerini kullanan her düğüm bloğu adı için üzerinden ConfigurationData geçirmeniz PSDscAllowPlainTextPassword = $true gerekir.

Aşağıdaki örnekte Otomasyon kimlik bilgisi varlığı kullanan bir DSC yapılandırması gösterilmektedir.

Configuration CredentialSample
{
    Import-DscResource -ModuleName PSDesiredStateConfiguration
    $Cred = Get-AutomationPSCredential 'SomeCredentialAsset'

    Node $AllNodes.NodeName
    {
        File ExampleFile
        {
            SourcePath      = '\\Server\share\path\file.ext'
            DestinationPath = 'C:\destinationPath'
            Credential      = $Cred
        }
    }
}

Önceki DSC yapılandırmasını PowerShell ile derleyebilirsiniz. Aşağıdaki PowerShell kodu, Azure Otomasyonu Durum Yapılandırması çekme sunucusuna iki düğüm yapılandırması ekler: CredentialSample.MyVM1 ve CredentialSample.MyVM2.

$ConfigData = @{
    AllNodes = @(
        @{
            NodeName = '*'
            PSDscAllowPlainTextPassword = $True
        },
        @{
            NodeName = 'MyVM1'
        },
        @{
            NodeName = 'MyVM2'
        }
    )
}

Start-AzAutomationDscCompilationJob -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'MyAutomationAccount' -ConfigurationName 'CredentialSample' -ConfigurationData $ConfigData

Not

Derleme tamamlandığında hata iletisini alabilirsiniz The 'Microsoft.PowerShell.Management' module was not imported because the 'Microsoft.PowerShell.Management' snap-in was already imported. Bu iletiyi güvenle yoksayabilirsiniz.

Windows PowerShell'de DSC yapılandırmanızı derleme

Windows PowerShell'de DSC yapılandırmalarını derleme işlemi, PowerShell DSC belgelerinde Yazma, Derleme ve Yapılandırma Uygulama bölümüne eklenmiştir. Bu işlemi bir geliştirici iş istasyonundan veya Azure DevOps gibi bir derleme hizmetinde yürütebilirsiniz. Daha sonra yapılandırmayı Azure State Configuration hizmetine derleyerek üretilen MOF dosyalarını içeri aktarabilirsiniz.

Windows PowerShell'de derleme, yapılandırma içeriğini imzalama seçeneği de sağlar. DSC aracısı, imzalı düğüm yapılandırmasını yönetilen düğümde yerel olarak doğrular. Doğrulama, düğüme uygulanan yapılandırmanın yetkili bir kaynaktan gelmesini sağlar.

Azure dışında derlenmiş düğüm yapılandırmalarını da içeri aktarabilirsiniz. İçeri aktarma işlemi bir geliştirici iş istasyonundan veya Azure DevOps gibi bir hizmetten derlemeyi içerir. Bu yaklaşımın performans ve güvenilirlik gibi birçok avantajı vardır.

Not

Azure Otomasyonu içeri aktarmasına izin vermek için düğüm yapılandırma dosyasının 1 MB'tan büyük olmaması gerekir.

Düğüm yapılandırmalarının imzalandırılması hakkında daha fazla bilgi için bkz . WMF 5.1 ' deki geliştirmeler - Yapılandırmayı imzalama ve modül.

Azure portalında düğüm yapılandırmasını içeri aktarma

  1. Otomasyon hesabınızda Yapılandırma Yönetimi'nin altında Durum yapılandırması (DSC) öğesini seçin.

  2. Durum yapılandırması (DSC) sayfasında Yapılandırmalar sekmesinden Ekle'yi seçin.

  3. İçeri Aktar sayfasında Düğüm Yapılandırma Dosyası alanının yanındaki klasör simgesini seçerek yerel bilgisayarınızda bir düğüm yapılandırma MOF dosyasına göz atın.

    Yerel dosyaya gözat

  4. Yapılandırma Adı alanına bir ad girin. Bu ad, düğüm yapılandırmasının derlendiği yapılandırmanın adıyla eşleşmelidir.

  5. Tamam'ı seçin.

Azure PowerShell ile düğüm yapılandırmasını içeri aktarma

Bir düğüm yapılandırmasını Otomasyon hesabınıza aktarmak için Import-AzAutomationDscNodeConfiguration cmdlet'ini kullanabilirsiniz.

$importAzAutomationDscNodeConfigurationSplat = @{
    AutomationAccountName = 'MyAutomationAccount'
    ResourceGroupName = 'MyResourceGroup'
    ConfigurationName = 'MyNodeConfiguration'
    Path = 'C:\MyConfigurations\TestVM1.mof'
}
Import-AzAutomationDscNodeConfiguration @importAzAutomationDscNodeConfigurationSplat

Sonraki adımlar