Desired State Configuration を使用して VM を構成する
Note
Azure Automation State Configuration は 2027 年 9 月 30 日に廃止されます。その日までに Azure Machine Configuration に切り替えてください。 詳細については、ブログ記事のお知らせを参照してください。 Azure マシンの構成サービスでは、DSC 拡張機能と Azure Automation State Configuration の機能のほか、顧客のフィードバックで最も一般的に要求されている機能が組み合わされています。 Azure マシンの構成には、Arc 対応サーバーによるハイブリッド マシンのサポートも含まれています。
重要
[追加]、[構成の作成]、[ギャラリー] のナビゲーション リンクは、2025 年 3 月 31 日にポータルから削除されます。
注意事項
Azure Automation DSC for Linux は廃止されました。 詳しくは、お知らせをご覧ください。
Azure Automation State Configuration を有効にすると、Desired State Configuration (DSC) を使用して、Windows サーバーの構成を管理および監視できます。 目的の構成から外れている構成を特定し、自動修正することができます。 このクイックスタートでは、Azure VM を有効にし、Azure Automation の State Configuration を使用して LAMP スタックをデプロイする手順について説明します。
前提条件
このクイック スタートを完了するには、次のものが必要です。
- Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、無料アカウントを作成してください。
- Azure Resource Manager 仮想マシン。
Azure へのサインイン
Azure portal にサインインします。
仮想マシンを有効にする
Automation State Configuration は、マシンでさまざまな方法で有効にできます。 このクイックスタートでは、Automation アカウントを使用して Azure VM でこの機能を有効にする方法について説明します。 State Configuration をお使いのコンピューターで有効にするさまざまな方法については、Azure Automation State Configuration でのマシンの管理の有効化に関する記事を参照してください。
- Azure portal で、 [Automation アカウント] に移動します。
- Automation アカウントの一覧から、アカウントを選択します。
- Automation アカウントの左ペインから、 [State Configuration (DSC)] を選択します。
- [追加] をクリックして、 [VM の選択] ページを開きます。
- DSC を有効にする仮想マシンを探します。 検索フィールドとフィルター オプションを使用して、特定の仮想マシンを検索することができます。
- 仮想マシンをクリックし、[接続] をクリックします。
- 仮想マシンに適した DSC 設定を選択します。 構成を既に準備している場合は、
Node Configuration Name
として指定できます。 構成モードを設定して、マシンの構成動作を制御することができます。 -
[OK] をクリックします。 DSC 拡張機能が仮想マシンにデプロイされている場合は、その状態が
Connecting
と報告されます。
モジュールをインポートする
モジュールには DSC リソースが含まれており、多くは PowerShell ギャラリーにあります。 コンパイルする前に、構成で使用されているリソースを Automation アカウントにインポートする必要があります。 このクイックスタートでは、nx というモジュールが必要です。
- Automation アカウントの左ペインから、 [共有リソース] の下の [モジュール ギャラリー] を選択します。
- 名前の一部「
nx
」を入力してインポートするモジュールを検索します。 - インポートするモジュールの名前をクリックします。
- [インポート] をクリックします。
構成をインポートする
このクイックスタートでは、マシンで Apache HTTP Server、MySQL、および PHP を構成する DSC 構成を使用します。 「DSC 構成」を参照してください。
テキスト エディターで次のように入力し、AMPServer.ps1 としてローカルに保存します。
configuration 'LAMPServer' {
Import-DSCResource -module "nx"
Node localhost {
$requiredPackages = @("httpd","mod_ssl","php","php-mysql","mariadb","mariadb-server")
$enabledServices = @("httpd","mariadb")
#Ensure packages are installed
ForEach ($package in $requiredPackages){
nxPackage $Package{
Ensure = "Present"
Name = $Package
PackageManager = "yum"
}
}
#Ensure daemons are enabled
ForEach ($service in $enabledServices){
nxService $service{
Enabled = $true
Name = $service
Controller = "SystemD"
State = "running"
}
}
}
}
構成をインポートするには:
- Automation アカウントの左側のウィンドウで [状態の構成 (DSC)] を選択し、 [構成] タブをクリックします。
- [+ 追加] をクリックします。
- 前の手順で保存した構成ファイルを選択します。
- [OK] をクリックします。
構成をコンパイルする
DSC 構成をノードに割り当てるには、先に DSC 構成をノードの構成 (MOF ドキュメント) としてコンパイルする必要があります。 コンパイルでは構成が検証されます。また、パラメーター値を入力できます。 構成のコンパイルの詳細については、State Configuration での構成のコンパイルに関するページを参照してください。
- Automation アカウントの左側のウィンドウで [状態の構成 (DSC)] を選択し、 [構成] タブをクリックします。
- 構成
LAMPServer
を選択します。 - メニュー オプションから [コンパイル] を選択し、 [はい] をクリックします
- [構成] ビューに、キューに格納されている新しいコンパイル ジョブが表示されます。 ジョブが正常に完了すると、次の手順に進むことができます。 失敗した場合は、コンパイル ジョブをクリックして詳細を確認できます。
ノード構成を割り当てる
コンパイルしたノード構成は、DSC ノードに割り当てることができます。 割り当てによって構成がマシンに適用され、その構成から外れている点が監視または自動修正されます。
- Automation アカウントの左ペインで [状態の構成 (DSC)] を選択し、 [ノード] タブをクリックします。
- 構成の割り当て先となるノードを選択します。
- [ノード構成の割り当て] をクリックします
- ノードの構成
LAMPServer.localhost
を選択し、 [OK] をクリックします。 コンパイルされた構成が State Configuration によってノードに割り当てられ、ノードの状態がPending
に変わります。 次回の定期的なチェックで、ノードは構成を取得して適用し、状態をレポートします。
ノードの設定に応じて、ノードが構成を取得するまでに最大 30 分かかることがあります。
ノードの状態を表示する
State Configuration によって管理されるすべてのノードの状態は、Automation アカウントで確認できます。 [状態の構成 (DSC)] を選択し、 [ノード] タブをクリックすると情報が表示されます。状態、ノード構成、または名前の検索で表示を絞り込むことができます。
次のステップ
このクイックスタートでは、Azure VM で State Configuration を有効にし、LAMP スタックの構成を作成して VM にデプロイしました。 Azure Automation State Configuration を使用して継続的デプロイを有効にする方法については、次の記事を参照してください。