Azure Resource Manager テンプレート (ARM テンプレート) または Bicep ファイルを使用して Azure リソースのデプロイが失敗すると、エラー コードを受け取ります。 この記事では、問題のトラブルシューティングを行うためにエラー コードを見つける方法について説明します。 エラーコードの詳細については、「 一般的なデプロイエラー」を参照してください。
エラーの種類
デプロイに関するエラーには 3 種類あります。
-
検証エラー は、デプロイが開始される前に発生し、ファイル内の構文エラーが原因で発生します。 これらのエラーは、Visual Studio Code などのコード エディターで特定できます。
-
プレフライト検証エラー は、デプロイ コマンドが実行されていてもリソースがデプロイされていない場合に発生します。 これらのエラーは、デプロイを開始しなくても検出されます。 たとえば、パラメーターの値が正しくない場合は、プレフライト検証でエラーが検出されます。
-
デプロイ エラー はデプロイ プロセス中に発生し、Azure 環境でのデプロイの進行状況を評価することによってのみ見つけることができます。
どの種類のエラーでも、デプロイのトラブルシューティングに使用できるエラー コードが出力されます。 検証とプレフライトのエラーはアクティビティ ログに表示されますが、デプロイ履歴には表示されません。 構文エラーがある Bicep ファイルは JSON にコンパイルされず、アクティビティ ログに表示されません。
構文エラーを特定するには、 Visual Studio Code と最新の Bicep 拡張機能 または Azure Resource Manager Tools 拡張機能を使用できます。
検証エラー
テンプレートはデプロイメントプロセス中に検証され、エラーコードが表示されます。 デプロイを実行する前に、Azure PowerShell または Azure CLI で検証テストを実行することで、検証エラーとプリフライト エラーを特定できます。
ARM テンプレートは、ポータルからデプロイできます。 テンプレートに構文エラーがある場合は、デプロイを実行しようとすると検証エラーが表示されます。 ポータルのデプロイの詳細については、「 カスタム テンプレートからのリソースのデプロイ」を参照してください。
次の例では、ストレージ アカウントのデプロイを試み、検証エラーが発生します。
詳細については、メッセージを選択します。 テンプレートに、エラーコード ( InvalidTemplate
) の構文エラーがあります。
[概要] には、式に閉じ括弧がないことが示されています。
デプロイ前に ARM テンプレートを検証するには、 Test-AzResourceGroupDeployment を実行します。
Test-AzResourceGroupDeployment `
-ResourceGroupName examplegroup `
-TemplateFile azuredeploy.json
出力には、テンプレートのトラブルシューティングと修正に使用できる InvalidTemplateDeployment
や AccountNameInvalid
などのエラーコードが表示されます。
Bicep ファイルの場合、構文検証の問題の出力にパラメーター エラーが表示されます。
Test-AzResourceGroupDeployment: Cannot retrieve the dynamic parameters for the cmdlet.
Cannot find path '/tmp/11111111-1111-1111-1111-111111111111/main.json' because it does not exist.
トラブルシューティングの詳細については、Bicep ビルド コマンドを使用します。 出力には、各エラーの行番号と列番号が括弧内に表示され、エラーメッセージが表示されます。
bicep build main.bicep
/azuredeploy.bicep(22,51) : Error BCP064: Found unexpected tokens in interpolated expression.
/azuredeploy.bicep(22,51) : Error BCP004: The string at this ___location is not terminated due to an
unexpected new line character.
その他のスコープ
サブスクリプション、管理グループ、テナントのスコープのデプロイ テンプレートを検証するための Azure PowerShell コマンドレットがあります。
デプロイ前に ARM テンプレートを検証するには、 az deployment group validate を実行します。
az deployment group validate \
--resource-group examplegroup \
--template-file azuredeploy.json
出力には、テンプレートのトラブルシューティングと修正に使用できる InvalidTemplateDeployment
や AccountNameInvalid
などのエラーコードが表示されます。
Bicep ファイルの場合、出力には各エラーの行番号と列番号がかっこで囲まれ、エラー メッセージが表示されます。
az deployment group validate \
--resource-group examplegroup \
--template-file main.bicep
/azuredeploy.bicep(22,51) : Error BCP064: Found unexpected tokens in interpolated expression.
/azuredeploy.bicep(22,51) : Error BCP004: The string at this ___location is not terminated due to an
unexpected new line character.
その他のスコープ
サブスクリプション、管理グループ、テナントのスコープのデプロイ テンプレートを検証するための Azure CLI コマンドがあります。
配置エラー
Azure リソースをデプロイするために、いくつかの操作が処理されます。 デプロイメント・エラーは、操作が検証に合格したが、デプロイメント中に失敗した場合に発生します。 リソース・グループの各デプロイメント操作および各デプロイメントに関するメッセージを表示できます。
デプロイの操作に関するメッセージを表示するには、リソース グループの アクティビティ ログを使用します。
Azure ポータルにサインインします。
[リソース グループ] に移動し、デプロイのリソース グループ名を選択します。
[アクティビティ ログ] を選択します。
フィルターを使用して、操作のエラーログを検索します。
エラーログを選択して、操作の詳細を表示します。
デプロイメントの結果を表示するには:
リソース グループに移動します。
[設定] >[デプロイ] を選択します。
デプロイの [エラーの詳細 ] を選択します。
エラーメッセージとエラーコード NoRegisteredProviderFound
が表示されます。
PowerShell を使用してデプロイの操作メッセージを表示するには、 Get-AzResourceGroupDeploymentOperation を使用します。
デプロイメントのすべての操作を表示するには、次のようにします。
Get-AzResourceGroupDeploymentOperation `
-DeploymentName exampledeployment `
-ResourceGroupName examplegroup
特定のプロパティタイプを指定するには:
(Get-AzResourceGroupDeploymentOperation `
-DeploymentName exampledeployment `
-ResourceGroupName examplegroup).StatusCode
デプロイの結果を取得するには、 Get-AzResourceGroupDeployment を使用します。
Get-AzResourceGroupDeployment `
-DeploymentName exampledeployment `
-ResourceGroupName examplegroup
その他のスコープ
サブスクリプション、管理グループ、テナント スコープのデプロイ情報を取得するための Azure PowerShell コマンドレットがあります。
Azure CLI でデプロイの操作メッセージを表示するには、 az deployment operation group list を使用します。
デプロイメントのすべての操作を表示するには、次のようにします。
az deployment operation group list \
--name exampledeployment \
--resource-group examplegroup \
--query "[*].properties"
特定のプロパティタイプを指定するには:
az deployment operation group list \
--name exampledeployment \
--resource-group examplegroup \
--query "[*].properties.statusCode"
デプロイの結果を取得するには、 az deployment group show を使用します。
az deployment group show \
--resource-group examplegroup \
--name exampledeployment
その他のスコープ
サブスクリプション、管理グループ、テナント スコープのデプロイ情報を取得するための Azure CLI コマンドがあります。
次のステップ