Azure Automation State Configuration の問題のトラブルシューティング
Note
Azure Automation State Configuration は 2027 年 9 月 30 日に廃止されます。その日までに Azure Machine Configuration に切り替えてください。 詳細については、ブログ記事のお知らせを参照してください。 Azure マシンの構成サービスでは、DSC 拡張機能と Azure Automation State Configuration の機能のほか、顧客のフィードバックで最も一般的に要求されている機能が組み合わされています。 Azure マシンの構成には、Arc 対応サーバーによるハイブリッド マシンのサポートも含まれています。
注意事項
Azure Automation DSC for Linux は、2023 年 9 月 30 日に廃止されました。 詳しくは、お知らせをご覧ください。
この記事では、Azure Automation State Configuration で構成のコンパイルまたはデプロイを行っているときに発生する問題のトラブルシューティングと解決方法について説明します。 State Configuration の機能の一般的な情報については、Azure Automation State Configuration の概要に関するページをご覧ください。
問題の診断
構成に対してコンパイル エラーまたはデプロイ エラーが発生した場合は、次の手順に従って問題を診断してください。
1.ローカル コンピューター上で構成が正常にコンパイルされていることを確認する
Azure Automation State Configuration は、PowerShell Desired State Configuration (DSC) に基づいて構築されています。 DSC の言語と構文については、PowerShell DSC のドキュメントを参照してください。
ご利用のローカル コンピューター上で DSC の構成をコンパイルすると、次のような一般的なエラーを検出して解決できます。
- モジュールの不足。
- 構文エラー。
- 論理エラー。
2.ノード上で DSC ログを表示する
構成のコンパイルは正常に行われても、ノードに適用されるときに失敗する場合は、DSC ログで詳細情報を確認できます。 これらのログを探す場所については、「DSC イベント ログの場所」を参照してください。
xDscDiagnostics モジュールは、DSC ログからの詳細情報を解析するのに役立つ可能性があります。 サポートに問い合わせる場合、ご自分の問題を診断するために、これらのログが必要になります。
安定バージョンのモジュールのインストールに関するページにある手順に従って、ローカル コンピューター上に xDscDiagnostics
モジュールをインストールできます。
ご利用の Azure のコンピューター上に xDscDiagnostics
モジュールをインストールするには、Invoke-AzVMRunCommand を使用します。 また、「実行コマンドを使用して Windows VM で PowerShell スクリプトを実行する」の手順に従って、Azure portal で [実行コマンド] オプションを使用することもできます。
xDscDiagnostics の使用方法については、「xDscDiagnostics を使用した DSC ログの分析」を参照してください。 また、xDscDiagnostics コマンドレットに関するページも参照してください。
3.ノードと Automation ワークスペースに必要なモジュールがあることを確認する
DSC は、ノード上にインストールされているモジュールに依存します。 Azure Automation State Configuration を使用するときは、「モジュールのインポート」の手順に従って、必要なモジュールを Automation アカウントにインポートします。 構成が特定のバージョンのモジュールに依存することもあります。 詳細については、モジュールのトラブルシューティングに関するページを参照してください。
シナリオ: 特殊文字が使われている構成をポータルから削除できない
問題
ポータルから DSC 構成を削除しようとすると、次のエラーが表示されます。
An error occurred while deleting the DSC configuration '<name>'. Error-details: The argument
configurationName with the value <name> is not valid. Valid configuration names can contain only
letters, numbers, and underscores. The name must start with a letter. The length of the name must be
between 1 and 64 characters.
原因
このエラーは一時的な問題です。 後でもう一度試してみてください。
解決方法
Remove-AzAutomationDscConfiguration コマンドレットを使用して、構成を削除します。
シナリオ: DSC エージェントを登録できなかった
問題点
Set-DscLocalConfigurationManager または他の DSC コマンドレットを使用すると、エラーが発生します。
Registration of the Dsc Agent with the server
https://<location>-agentservice-prod-1.azure-automation.net/accounts/00000000-0000-0000-0000-000000000000
failed. The underlying error is: Failed to register Dsc Agent with AgentId
00000000-0000-0000-0000-000000000000 with the server
https://<location>-agentservice-prod-1.azure-automation.net/accounts/00000000-0000-0000-0000-000000000000/Nodes(AgentId='00000000-0000-0000-0000-000000000000').
+ CategoryInfo : InvalidResult: (root/Microsoft/...gurationManager:String) [], CimException
+ FullyQualifiedErrorId : RegisterDscAgentCommandFailed,Microsoft.PowerShell.DesiredStateConfiguration.Commands.RegisterDscAgentCommand
+ PSComputerName : <computerName>
原因
ネットワークの問題が原因でこのエラーが発生することがあります。 ファイアウォールの設定を確認するか、マシンがプロキシ サーバーの背後にあるかどうかを確認します。
解決方法
DSC の適切なエンドポイントへのアクセス権がご利用のマシンにあることを確認し、もう一度やり直してください。 必要なポートとアドレスの一覧については、ネットワークの計画に関するページを参照してください。
シナリオ: 状態レポートから応答コード "承認されていません" が返される
問題
Azure Automation State Configuration にノードを登録すると、次のいずれかのエラー メッセージが表示されます。
The attempt to send status report to the server https://{your Automation account
URL}/accounts/xxxxxxxxxxxxxxxxxxxxxx/Nodes(AgentId='xxxxxxxxxxxxxxxxxxxxxxxxx')/SendReport returned
unexpected response code Unauthorized.
VM has reported a failure when processing extension 'Microsoft.Powershell.DSC / Registration of the
Dsc Agent with the server failed.
原因
次の原因が考えられます。
無効な証明書または期限切れの証明書。 「ノードを再登録する」を参照してください。
*.azure-automation.net
へのアクセスを許可していないプロキシ構成。 詳細については、「プライベート ネットワークの構成」を参照してください。Azure Automation でローカル認証を無効にする場合。 「ローカル認証の無効化」を参照してください。 修正するには、「ローカル認証を再び有効にする」を参照してください。
クライアント コンピューターの時間は、実際の時刻より何分も不正確です。 次のコマンドを使用して時刻を確認します:
w32tm /stripchart /computer:time.windows.com /samples:6
。
解決方法
失敗した DSC ノードを再登録するには、次の手順に従います。
手順 1: ノードの登録を解除します
- Azure portal で、[ホーム]>[Automation アカウント]> (自分の Automation アカウント) >[状態の構成 (DSC)] の順に移動します。
- [ノード] を選択し、問題が発生しているノードを選択します。
- ノードの登録を解除するために、[登録解除] を選択します。
手順 2: ノードから DSC 拡張機能をアンインストールします
- Azure portal で、[ホーム]>[仮想マシン]> (失敗したノード) >[拡張機能] の順に移動します。
- PowerShell DSC 拡張機能である [Microsoft.Powershell.DSC] を選択します。
- 拡張機能をアンインストールするために、[アンインストール] を選択します。
手順 3: 正しくないまたは期限切れになっている証明書をすべて、ノードから削除します
管理者特権の PowerShell プロンプトから、失敗したノード上で次のコマンドを実行します。
$certs = @()
$certs += dir cert:\localmachine\my | ?{$_.FriendlyName -like "DSC"}
$certs += dir cert:\localmachine\my | ?{$_.FriendlyName -like "DSC-OaaS Client Authentication"}
$certs += dir cert:\localmachine\CA | ?{$_.subject -like "CN=AzureDSCExtension*"}
"";"== DSC Certificates found: " + $certs.Count
$certs | FL ThumbPrint,FriendlyName,Subject
If (($certs.Count) -gt 0)
{
ForEach ($Cert in $certs)
{
RD -LiteralPath ($Cert.Pspath)
}
}
手順 4: 失敗したノードを再登録します
- Azure portal で、[ホーム]>[Automation アカウント]> (自分の Automation アカウント) >[状態の構成 (DSC)] の順に移動します。
- [ノード] を選択します。
- [追加] を選択します。
- 失敗したノードを選択します。
- [接続] を選択し、必要なオプションを選択します。
シナリオ: ノードが失敗状態になり、「見つかりません」というエラーが表示される
問題
ノードに失敗状態のレポートがあり、次のエラーが含まれています。
The attempt to get the action from server
https://<url>//accounts/<account-id>/Nodes(AgentId=<agent-id>)/GetDscAction failed because a valid
configuration <guid> cannot be found.
原因
通常、このエラーは、ノードがノード構成 (MOF ファイル) の名前 (ABC.WebServer など) ではなく構成名 (ABC など) に割り当てられている場合に発生します。
解決方法
- ノードに構成名ではなく、ノード構成名が割り当てられていることを確認してください。
- ノード構成は、Azure portal または PowerShell コマンドレットを使用してノードに割り当てることができます。
- Azure portal で、[ホーム]>[Automation アカウント]> (自分の Automation アカウント) >[状態の構成 (DSC)] の順に移動します。 次に、ノードを選択し、[ノード構成の割り当て] を選択します。
- Set-AzAutomationDscNode コマンドレットを使用します。
シナリオ: 構成のコンパイルを実行したが、ノード構成 (MOF ファイル) が生成されなかった
問題
DSC コンパイル ジョブが次のエラーで中断します。
Compilation completed successfully, but no node configuration **.mof** files were generated.
原因
DSC 構成の Node
キーワードに続く式の評価結果が $null
の場合、ノード構成は生成されません。
解決方法
問題を解決するには、次のいずれかの解決策を使用します。
- 構成定義内の
Node
キーワードに続く式の評価結果が Null になっていないことを確認します。 - 構成のコンパイル時に ConfigurationData を渡す場合は、構成のために必要な構成データの値を渡すようにしてください。
シナリオ: DSC ノードのレポートが "処理中" の状態で停止する
問題
DSC エージェントによって次のように出力されます。
No instance found with given property values
原因
この問題は、ノード上の Windows Management Instrumentation (WMI) が破損している場合に発生する可能性があります。
解決方法
DSC の既知の問題と制限事項に関するページに示された手順に従ってください。
シナリオ: DSC 構成で資格情報が使用できない
問題
DSC コンパイル ジョブが次のエラーで中断されました。
System.InvalidOperationException error processing property 'Credential' of type <some resource
name>: Converting and storing an encrypted password as plaintext is allowed only if
PSDscAllowPlainTextPassword is set to true.
原因
この問題は、構成で資格情報を使用したにもかかわらず、各ノードの構成で PSDscAllowPlainTextPassword
を true に設定するための適切な ConfigurationData
を指定していない場合に発生する可能性があります。
解決方法
必ず適切な ConfigurationData
を渡し、各ノード構成で PSDscAllowPlainTextPassword
を true に設定します。 Azure Automation State Configuration での DSC 構成のコンパイルに関するページを参照してください。
シナリオ: DSC 拡張機能からマシンを有効にする時に "拡張機能の処理エラー" というエラーが発生する
問題
DSC 拡張機能を使用してマシンを有効にするときに、次のエラーを含む障害が発生します。
VM has reported a failure when processing extension 'Microsoft.Powershell.DSC'. Error message: \"DSC
COnfiguration 'RegistrationMetaConfigV2' completed with error(s). Following are the first few:
Registration of the Dsc Agent with the server <url> failed. The underlying error is: The attempt to
register Dsc Agent with Agent Id <ID> with the server <url> return unexpected response code
BadRequest. .\".
原因
通常、このエラーは、サービスに存在しないノード構成名がノードに割り当てられたときに発生します。
解決方法
ノード名がサービス内の名前と完全に一致していることを確認します。または、ノード構成名を含めないでください。 こうすることで、ノードは有効になりますが、ノード構成は割り当てられません。
シナリオ: PowerShell を使用してノードを登録すると "1 つ以上のエラーが発生しました" というエラーが発生する
問題
Register-AzAutomationDSCNode または Register-AzureRMAutomationDSCNode を使用してノードを登録すると、次のエラーが表示されます。
One or more errors occurred.
原因
このエラーは、Automation アカウントで使用されているものとは異なるサブスクリプションにノードを登録しようとすると発生します。
解決方法
クロスサブスクリプション ノードを、別のクラウドまたはオンプレミス用に定義されたノードとして扱います。 マシンを有効化するための次のいずれかのオプションを使用してノードを登録します。
- Windows: オンプレミス、または Azure/AWS 以外のクラウド内の物理/仮想 Windows マシン。
- Linux: オンプレミス、または Azure 以外のクラウド内の物理/仮想 Linux マシン。
シナリオ: "プロビジョニングに失敗しました" というエラー メッセージ
問題
ノードの登録時に、以下のエラーが表示されます。
Provisioning has failed
原因
ノードと Azure 間の接続に問題がある場合、このメッセージが表示されます。
解決方法
ご利用のノードが仮想プライベート ネットワーク (VPN) 内にあるのか、または Azure への接続に関する他の問題を抱えているかを判断します。 「機能のデプロイに関する問題のトラブルシューティング」を参照してください。
シナリオ: Linux で構成を適用するときに、一般的なエラーで障害が発生する
問題
Linux で構成を適用するときに、次のエラーを含む障害が発生します。
This event indicates that failure happens when LCM is processing the configuration. ErrorId is 1.
ErrorDetail is The SendConfigurationApply function did not succeed.. ResourceId is [resource]name
and SourceInfo is ::nnn::n::resource. ErrorMessage is A general error occurred, not covered by a
more specific error code..
原因
/tmp の場所が noexec
に設定されていると、現在のバージョンの DSC は構成の適用に失敗します。
解決方法
/tmp の場所から noexec
オプションを削除します。
シナリオ: 重複するノード構成名のために正しくないリリースになる可能性がある
問題
1 つの構成スクリプトを使用して複数のノード構成を作成する場合、一部のノード構成名が他の名前の一部である場合、コンパイル サービスによって最終的に正しくない構成が割り当てられる場合があります。 この問題は、1 つのスクリプトを使用してノードごとに構成データがある構成を生成する場合に限られ、しかも名前の重複が文字列の先頭にある場合にのみ発生します。 たとえば、コマンドレットを使用し、ハッシュテーブルとして渡されたノード データに基づいて構成を生成するために 1 つの構成スクリプトを使用した場合、およびノード データに server と 1server という名前のサーバーが含まれる場合です。
原因
これはコンパイル サービスにおける既知の問題です。
解決方法
最善の回避策としては、ローカルで、または CI/CD パイプラインでコンパイルを行い、サービスにノード構成 MOF ファイルを直接アップロードします。 サービス内でコンパイルを行うことが必須である場合、最善の回避策として次に推奨されるのは、名前が重複しないように、コンパイル ジョブを分割することです。
シナリオ: DSC 構成のアップロードでゲートウェイ タイムアウト エラーが発生した
問題
DSC 構成をアップロードするときに、GatewayTimeout
エラーが発生します。
原因
コンパイルに長い時間がかかる DSC 構成では、このエラーが発生する可能性があります。
解決方法
任意の Import-DSCResource 呼び出しに対して ModuleName
パラメーターを明示的に含めることで、DSC 構成をより速く解析することができます。
シナリオ: マシンのオンボード中にエラーが発生した
問題
マシンをオンボードするときに agent has a problem
というエラーが発生します。
原因
これは既知の問題です。 ノードが保留中の状態になっているときに同じ構成を再度割り当てることはできません。
解決方法
この問題を回避するには、別のテスト構成を適用し、元の構成をもう一度試行します。
次のステップ
該当する問題がここにない場合、または問題を解決できない場合は、次のサポート チャネルのいずれかをお試しください。
- Azure フォーラムを通じて Azure エキスパートから回答を得ることができます。
- @AzureSupport (カスタマー エクスペリエンスを向上させるための Microsoft Azure の公式アカウント) に連絡する。 Azure サポートにより、Azure コミュニティの回答、サポート、エキスパートと結び付けられます。
- Azure サポート インシデントを送信する。 Azure サポートのサイトに移動して、[サポートの要求] を選択します。