Linux 用 Desired State Configuration (DSC) の概要

このトピックでは、Linux 用 PowerShell Desired State Configuration (DSC) の使用を開始する方法について説明します。 DSC に関する一般的な情報については、「Windows PowerShell Desired State Configuration の概要」を参照してください。

サポートされている Linux オペレーティング システム バージョン

次の Linux オペレーティング システム バージョンは、Linux 用 DSC によってサポートされています。

  • CentOS 7 および 8 (x64)
  • Debian GNU と Linux 8、9、10 (x64)
  • Oracle Linux 7 (x64)
  • Red Hat Enterprise Linux Server 7 および 8 (x64)
  • SUSE Linux Enterprise Server 12、15 (x64)
  • Ubuntu Server 14.04 LTS、16.04 LTS、18.04 LTS、20.04 LTS (x64)

Linux 用 DSC のインストール

Linux 用 DSC をインストールする前に、Open Management Infrastructure (OMI) をインストールする必要があります。

OMI のインストール

Linux 用 Desired State Configuration には、Open Management Infrastructure (OMI) CIM サーバーの 1.0.8.1 以降のバージョンが必要です。 OMI は、The Open Group: Open Management Infrastructure (OMI) からダウンロードできます。

OMI をインストールするには、Linux システムに適したパッケージ (.rpm または .deb)、OpenSSL バージョンに適したパッケージ (ssl_098 または ssl_100)、およびアーキテクチャに適したパッケージ (x86/x64) をインストールします。 CentOS、Red Hat Enterprise Linux、SUSE Linux Enterprise Server、および Oracle Linux には、RPM パッケージが適しています。 Debian GNU/Linux および Ubuntu Server には、DEB パッケージが適しています。 OpenSSL 0.9.8 がインストールされているコンピューターには ssl_098 パッケージが適し、OpenSSL 1.0 がインストールされているコンピューターには ssl_100 パッケージが適しています。

注意

インストールされている OpenSSL のバージョンを調べるには、コマンド openssl version を実行します。

CentOS 7 x64 システムに OMI をインストールするには、次のコマンドを実行します。

# sudo rpm -Uvh omiserver-1.0.8.ssl_100.rpm

DSC のインストール

Linux 用の DSC は、リポジトリの PowerShell-DSC-for-Linux リポジトリからダウンロードできます。

DSC をインストールするには、Linux システム (.rpm または.deb)、OpenSSL バージョン、およびアーキテクチャ (x64/x86) に適したパッケージをインストールします。 CentOS、Red Hat Enterprise Linux、SUSE Linux Enterprise Server、および Oracle Linux には、RPM パッケージが適しています。 Debian GNU/Linux および Ubuntu Server には、DEB パッケージが適しています。

注意

バージョン 1.1 までの DSC Linux OpenSSL のサポート。 インストールされている OpenSSL のバージョンを調べるには、コマンド openssl version を実行します。

CentOS 7 x64 システムに DSC をインストールするには、次のコマンドを実行します。

# sudo rpm -Uvh dsc-1.0.0-254.ssl_100.x64.rpm

Linux 用 DSC の使用

次のセクションでは、Linux コンピューターで DSC 構成を作成し、実行する方法を説明します。

構成 MOF ドキュメントの作成

Linux コンピューターの構成を作成するには、Windows コンピューターの場合と同じように、Windows PowerShell 構成キーワードを使用します。 次の手順では、Windows PowerShell を使用して Linux コンピューターの構成ドキュメントを作成する方法について説明します。

  1. nx モジュールのインポート nx Windows PowerShell モジュールには Linux 用 DSC の組み込みリソースのスキーマが含まれており、このモジュールをローカル コンピューターにインストールし、構成にインポートする必要があります。

    • nx モジュールをインストールするには、nx モジュール ディレクトリを $env:USERPROFILE\Documents\WindowsPowerShell\Modules\ または $PSHOME\Modules にコピーします。 nx モジュールは、Linux 用 DSC のインストール パッケージに含まれています。 構成に nx モジュールをインポートするには、Import-DSCResource コマンドを使用します。
    Configuration ExampleConfiguration{
    
     Import-DSCResource -ModuleName nx
    
    }
    
  2. 構成を定義し、構成ドキュメントを生成します。

    Configuration ExampleConfiguration
    {
         Import-DSCResource -ModuleName nx
    
         Node  "linuxhost.contoso.com"
         {
             nxFile ExampleFile
             {
                 DestinationPath = "/tmp/example"
                 Contents = "hello world `n"
                 Ensure = "Present"
                 Type = "File"
             }
         }
    }
    
    ExampleConfiguration -OutputPath:"C:\temp"
    

Linux コンピューターへの構成のプッシュ

構成ドキュメント (MOF ファイル) を Linux コンピューターにプッシュするには、Start-DscConfiguration コマンドレットを使用します。 Linux コンピューターに対してリモートからこのコマンドレットを Get-DscConfiguration と共に使用するか、または Test-DscConfiguration コマンドレットを使用するためには、CIMSession を使用する必要あります。 Linux コンピューターに CIMSession を作成するには、New-CimSession コマンドレットを使用します。

次のコードは、Linux 用 DSC の CIMSession を作成する方法を示しています。

$Node = "ostc-dsc-01"
$Credential = Get-Credential -UserName "root" -Message "Enter Password:"

#Ignore SSL certificate validation
# $opt = New-CimSessionOption -UseSsl -SkipCACheck -SkipCNCheck -SkipRevocationCheck

#Options for a trusted SSL certificate
$opt = New-CimSessionOption -UseSsl

$sessParams = @{
    Credential = $credential
    ComputerName = $Node
    Port = 5986
    Authentication = 'basic'
    SessionOption = $opt
    OperationTimeoutSec = 90
}

$Sess = New-CimSession @sessParams

注意

"プッシュ" モードの場合、ユーザーの資格情報は Linux コンピューターの root ユーザーである必要があります。 Linux 用 DSC では SSL/TLS 接続のみがサポートされているため、New-CimSession を使用するときは、–UseSSL パラメーターを $true に設定する必要があります。 OMI (DSC 用) で使用される SSL 証明書は、pemfile プロパティと keyfile プロパティを使用して /etc/opt/omi/conf/omiserver.conf ファイルに指定します。 New-CimSession コマンドレットを実行している Windows コンピューターでこの証明書が信頼されていない場合は、-SkipCACheck -SkipCNCheck -SkipRevocationCheck の各 CIMSession オプションを使用して証明書の検証を無視することを選択できます。

Linux ノードに DSC 構成をプッシュするには、次のコマンドを実行します。

Start-DscConfiguration -Path:"C:\temp" -CimSession $Sess -Wait -Verbose

プル サーバーを使用した構成の配布

構成を Linux コンピューターに配布するには、Windows コンピューターの場合と同じく、プル サーバーを使用できます。 プル サーバーを使用する方法の詳細については、「DSC Web プル サーバーのセットアップ」をご覧ください。 プル サーバーでの Linux コンピューターの使用に関する追加情報および制限事項については、Linux 用 Desired State Configuration のリリース ノートをご覧ください。

ローカルでの構成の操作

Linux 用 DSC には、ローカルの Linux コンピューターから構成を操作するためのスクリプトが含まれています。 これらのスクリプトは、/opt/microsoft/dsc/Scripts にあり、次のものが含まれています。

  • GetDscConfiguration.py

    コンピューターに適用される現在の構成を返します。 Windows PowerShell コマンドレットの Get-DscConfiguration コマンドレットに似ています。

    # sudo ./GetDscConfiguration.py

  • GetDscLocalConfigurationManager.py

    コンピューターに適用される現在のメタ構成を返します。 Get-DSCLocalConfigurationManager コマンドレットに似ています。

    # sudo ./GetDscLocalConfigurationManager.py

  • InstallModule.py

    カスタムの DSC リソース モジュールをインストールします。 モジュール共有オブジェクト ライブラリおよびスキーマ MOF ファイルが含まれている .zip ファイルへのパスが必要です。

    # sudo ./InstallModule.py /tmp/cnx_Resource.zip

  • RemoveModule.py

    カスタムの DSC リソース モジュールを削除します。 削除するモジュールの名前が必要です。

    # sudo ./RemoveModule.py cnx_Resource

  • StartDscLocalConfigurationManager.py

    構成 MOF ファイルをコンピューターに適用します。 Start-DscConfiguration コマンドレットに似ています。 適用する構成 MOF へのパスが必要です。

    # sudo ./StartDscLocalConfigurationManager.py –configurationmof /tmp/localhost.mof

  • SetDscLocalConfigurationManager.py

    メタ構成 MOF ファイルをコンピューターに適用します。 Set-DSCLocalConfigurationManager コマンドレットに似ています。 適用するメタ構成 MOF へのパスが必要です。

    # sudo ./SetDscLocalConfigurationManager.py –configurationmof /tmp/localhost.meta.mof

Linux 用 PowerShell Desired State Configuration のログ ファイル

Linux 用 DSC のメッセージのために次のログ ファイルが生成されます。

ログ ファイル ディレクトリ 説明
omiserver.log /var/opt/omi/log OMI CIM サーバーの操作に関連するメッセージ。
dsc.log /var/opt/omi/log ローカル構成マネージャー (LCM) と DSC リソースの操作に関連するメッセージ。