InvalidResourceReference エラー コードのトラブルシューティング

まとめ

この記事では、操作を正常に完了できるように、Azure Kubernetes Service (AKS) クラスターを作成、デプロイ、または更新するときの InvalidResourceReference エラーのトラブルシューティングを行います。

現象 1

AKS クラスターを作成しようとすると、次のエラー メッセージが表示されます。

Code="無効なリソース参照"

Message="リソース"
/subscriptions/<subscription-id-guid>/resourceGroups/MyResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet-otcom/subnets/Subnet-AKS
リソースによって参照される
/subscriptions/<subscription-id-guid>/resourceGroups/MC_MyResourceGroup_MyCluster-AKS_JAPANEAST/providers/Microsoft.Compute/virtualMachineScaleSets/aks-nodepool-vmss
該当するものが見つかりませんでした。 参照先のリソースが存在し、両方のリソースが同じリージョンにあることを確認してください。

詳細=[]

原因 1

この問題の考えられる原因を次に示します。

  • 異なるリージョン内のリソース間に不一致が存在します。

    現象 1 の例は、仮想ネットワークと仮想マシン スケール セットが同じリージョンにないことを示しています。 リソースは異なるリージョンにあるため、スケール セット インスタンスを作成することはできません。

  • 参照先のリソースを手動で変更または削除しました。

解決策 1

異なるリージョン内のリソース間に不一致が存在する場合は、リソースを確認して、それらが同じリージョンにあることを確認します。 この例では、AKS クラスターを構築するリージョンを変更するか、同じリージョンに新しい仮想ネットワークを作成します。

参照先のリソースを手動で変更または削除すると、MC_ リソース グループ内の基になる IaaS リソースの手動変更がプロセスでサポートされていないため、この問題の解決に問題 が 発生する可能性があります。 この問題を解決するには、削除されたリソースを再作成し、VMSS と再関連付けしてから、AKS クラスターで更新をトリガーします。 ただし、このソリューションはサポートされていないため、成功は保証されません。

現象 2

AKS クラスターを更新しようとすると、次のエラー メッセージが表示されます。

Code="無効なリソース参照"
Message="リソース"
/subscriptions/<subscription-id-guid>/resourceGroups/MC_MyResourceGroup/providers/Microsoft.Network/loadBalancers/kubernetes/frontendIPConfigurations/<frontendIP_ID> が、リソース /subscriptions/<subscription-id-guid>/resourceGroups/MC_MyResourceGroup/providers/Microsoft.Network/loadBalancers/kubernetes/loadBalancingRules/<frontend_IP_rule> によって参照されましたが、見つかりませんでした。 参照されているリソースが存在し、両方のリソースが同じリージョンにあることを確認してください。
Message="リソース"

詳細=[]

原因 2

この問題は、ロード バランサーの既定の送信規則 aksOutboundRule を手動で変更する場合に発生します。 この予期しない変更は、通常、 load-balancer-outbound-ips パラメーターを指定せずにクラスターを更新する場合に送信 IP を更新するときに発生します。

解決策 2

クラスターを更新するには、az aks update パラメーターを指定して load-balancer-outbound-ips コマンドを再実行します。 パラメーター値としてパブリック IP のリソース ID を使用します。 詳細については、「 独自の送信パブリック IP を使用してクラスターを更新する」を参照してください。

現象 3

ノード プールを作成、スケーリング、アップグレード、または更新すると、次の例のような InvalidResourceReference エラー メッセージが表示され、操作が失敗します。

Code="無効なリソース参照"
Message="VMSS の作成または更新
/subscriptions/<subscription-id-guid>/resourceGroups/MC_MyResourceGroup_MyCluster/providers/Microsoft.Compute/virtualMachineScaleSets/aks-nodepool-vmss
できませんでした。 資源
/subscriptions/<subscription-id-guid>/resourceGroups/<vnet-resource-group>/providers/Microsoft.Network/virtualNetworks/<vnet-name>
リソースによって参照される
/subscriptions/<subscription-id-guid>/resourceGroups/MC_MyResourceGroup_MyCluster/providers/Microsoft.Compute/virtualMachineScaleSets/aks-nodepool-vmss
が見つかりませんでした。

原因3

この問題は、クラスターの作成時に AKS クラスターに関連付けられた仮想ネットワークを別のリソース グループまたはサブスクリプションに移動するときに発生します。 AKS と基になる仮想マシン スケール セット (VMSS) は、元の仮想ネットワーク リソース ID を引き続き参照します。 その結果、仮想ネットワークが元のリソース パスで見つからないため、VMSS の更新を必要とするノード プール操作は失敗します。

AKS クラスターの仮想ネットワークの移動はサポートされていません。 ネットワーク リソースの移動操作のサポートに関する記事に記載されているように、AKS クラスターの仮想ネットワークを移動すると、AKS クラスターは動作を停止します。

解決策 3

移動後に仮想ネットワークを参照するように既存の AKS クラスターを更新する方法はサポートされていません。 Microsoft サポートと AKS 製品グループは、クラスターの基になるネットワーク参照を変更できません。

この問題を解決するには、現在の場所にある仮想ネットワークを参照する新しい AKS クラスターを作成し、ワークロードを新しいクラスターに移行してから、影響を受けるクラスターの使用を停止します。

現象 4

AKS マネージド Bastion 操作が失敗し、パブリック IP アドレスを識別する InvalidResourceReference エラーが発生します。

エラー メッセージの例を次に示します。

Code="無効なリソース参照"

Message="指定されたパブリック IP アドレス参照 '<public-ip-resource-id>' が無効です。

原因 4

パブリック IP 参照に無効なリソース ID またはリソースの種類が含まれているか、パブリック IP がサブスクリプション、リージョン、SKU、IP バージョン、またはプロビジョニング状態の要件を満たしていません。

解決策 4

Azure ポータルで、参照されているパブリック IP のプロパティを確認します。

Azure CLIを使用して、パブリック IP のプロパティを確認することもできます。

次のコマンドを実行します。

az network public-ip show --ids "<public-ip-resource-id>" --query "{id:id,location:location,sku:sku.name,version:publicIPAddressVersion,allocation:publicIPAllocationMethod,state:provisioningState,ipConfiguration:ipConfiguration.id}" --output json

有効な Microsoft.Network/publicIPAddresses リソース ID は、クラスターのネットワーク リソースと同じサブスクリプションとクラスターと同じリージョンで使用します。 パブリック IP は Standard SKU と IPv4 を使用する必要があり、カスタマー マネージドパブリック IP は Succeededのプロビジョニング状態である必要があります。

新しい有効化操作の場合は、修正された ID を az aks bastion enable に渡します。 マネージド Bastion がクラスターで使用可能であり、インストールされている aks-preview 拡張機能でコマンドがサポートされていることを確認します。

Azure CLIで、次のコマンドを実行します。

az aks bastion enable --subscription "<cluster-subscription-id>" --resource-group "<cluster-resource-group>" --name "<cluster-name>" --bastion-public-ip "<public-ip-resource-id>"

az aks bastion update コマンドは、既存のパブリック IP バインディングの置き換えをサポートしていません。 Bastion が存在する間、またはクリーンアップが不完全な間に IP を変更すると、 UpdateNotAllowedが返される可能性があります。 既存のバインディングを置き換える必要がある場合は、Microsoft サポートにお問い合わせください。

割り当てと使用の要件については、パブリック IP 要件Azure Bastion参照してください。

References

AKS クラスターの作成に関する問題の一般的なトラブルシューティング