針對 Azure Connected Machine Agent 連線問題進行疑難排解 (機器翻譯)
本文針對設定適用於 Windows 或 Linux 的 Azure Connected Machine 代理程式時可能發生的問題,提供相關的疑難排解資訊。 其中包含設定與服務的連線時所使用的互動式和大規模安裝方法。 如需一般資訊,請參閱已啟用 Azure Arc 的伺服器概觀。
代理程式錯誤碼
使用下表透過列印至主控台或指令碼輸出的 AZCM0000
("0000" 可以是任意四位數) 錯誤碼,來識別並解決設定 Azure Connected Machine 代理程式時發生的問題。
錯誤碼 | 可能的原因 | 建議的補救措施 |
---|---|---|
AZCM0000 | 動作已順利完成 | N/A |
AZCM0001 | 發生未知的錯誤 | 請連絡 Microsoft 支援服務以取得協助。 |
AZCM0011 | 使用者已取消動作 (CTRL+C) | 重試上一個命令。 |
AZCM0012 | 存取權杖無效 | 如果透過存取權杖進行驗證,請取得新的權杖,然後再試一次。 如果透過服務主體或裝置登入進行驗證,請連絡 Microsoft 支援服務以取得協助。 |
AZCM0016 | 遺漏必要參數 | 請檢閱輸出中的錯誤訊息,以識別遺漏了哪些參數。 如需命令的完整語法,請執行 azcmagent <command> --help 。 |
AZCM0018 | 命令是在沒有系統管理權限的情況下執行 | 請在提升權限的使用者內容 (管理員/根) 中重試命令。 |
AZCM0019 | 設定檔的路徑不正確 | 請確定設定檔的路徑正確無誤,然後再試一次。 |
AZCM0023 | 為參數 (引數) 提供的值無效 | 請檢閱錯誤訊息以取得特定資訊。 請參閱命令 (azcmagent <command> --help ) 的語法,以取得有效值或預期的引數格式。 |
AZCM0026 | 網路設定發生錯誤,或某些重要服務暫時無法使用 | 請檢查是否可以連線到必要端點 (例如,可解析主機名稱、未封鎖端點)。 如果網路已設定「私人連結範圍」,則必須使用 --private-link-scope 參數提供用於上線的「私人連結範圍」資源識別碼。 |
AZCM0041 | 提供的認證無效 | 若為裝置登入,請驗證指定的使用者帳戶是否可以存取將在其中建立伺服器資源的租用戶和訂用帳戶。 若為服務主體登入,請檢查用戶端識別碼和祕密是否正確、祕密的到期日,以及服務主體是否來自將在其中建立伺服器資源的同一租用戶。 |
AZCM0042 | 建立已啟用 Azure Arc 的伺服器資源失敗 | 請檢閱輸出中的錯誤訊息,以識別建立資源失敗的原因和建議的補救方法。 如需詳細資訊,請參閱 Connected Machine 代理程式必要條件 - 所需權限。 |
AZCM0043 | 刪除已啟用 Azure Arc 的伺服器資源失敗 | 請驗證指定的使用者/服務主體是否有權刪除指定群組中已啟用 Azure Arc 的伺服器/資源。 如需詳細資訊,請參閱 Connected Machine 代理程式必要條件 - 所需權限。 如果資源已不存在於 Azure 中,請使用 --force-local-only 旗標繼續執行。 |
AZCM0044 | 已經存在相同名稱的資源 | 為 --resource-name 參數指定不同的名稱,或刪除 Azure 中已啟用 Azure Arc 的現有伺服器,然後再試一次。 |
AZCM0062 | 連接到伺服器時發生錯誤 | 請檢閱輸出中的錯誤訊息以取得特定資訊。 如果在建立 Azure 資源之後發生此錯誤,請在重試之前刪除此資源。 |
AZCM0063 | 中斷伺服器連線時發生錯誤 | 請檢閱輸出中的錯誤訊息以取得特定資訊。 如果此錯誤持續發生,請刪除 Azure 中的資源,然後在伺服器上執行 azcmagent disconnect --force-local-only 。 |
AZCM0067 | 電腦已連線到 Azure | 執行 azcmagent disconnect 以移除目前的連線,然後再試一次。 |
AZCM0068 | 已提供訂用帳戶名稱,並在查閱對應的訂用帳戶 GUID 時發生錯誤。 | 請使用訂用帳戶 GUID 而非訂用帳戶名稱重試命令。 |
AZCM0061 AZCM0064 AZCM0065 AZCM0066 AZCM0070 |
代理程式服務未回應或無法使用 | 請確認命令是在提升權限的使用者內容 (管理員/根) 中執行。 請確定 HIMDS 服務正在執行 (視需要啟動或重新啟動 HIMDS),然後重試命令。 |
AZCM0081 | 下載 Microsoft Entra 受控識別憑證時發生錯誤 | 如果在嘗試將伺服器連線到 Azure 時出現此訊息,代理程式將無法與 Azure Arc 服務通訊。 刪除 Azure 中的資源,然後重試連線。 |
AZCM0101 | 未成功剖析命令 | 執行 azcmagent <command> --help 以檢閱命令語法。 |
AZCM0102 | 擷取電腦主機名稱時發生錯誤 | 重試命令並指定資源名稱 (使用參數 --resource-name 或 –n)。 僅使用英數字元、連字號和/或底線;請注意,資源名稱不能以連字號或底線結尾。 |
AZCM0103 | 產生 RSA 金鑰時發生錯誤 | 請連絡 Microsoft 支援服務以取得協助。 |
AZCM0105 | 下載 Microsoft Entra ID 受控識別憑證時發生錯誤 | 刪除在 Azure 中建立的資源,然後再試一次。 |
AZCM0147- AZCM0152 |
在 Windows 上安裝 Azcmagent 時發生錯誤 | 請檢閱輸出中的錯誤訊息以取得特定資訊。 |
AZCM0127- AZCM0146 |
在 Linux 上安裝 Azcmagent 時發生錯誤 | 請檢閱輸出中的錯誤訊息以取得特定資訊。 |
AZCM0150 | 安裝期間出現一般失敗 | 請提交支援票證來取得協助。 |
AZCM0153 | 不支援系統平台 | 請檢閱必要條件以取得支援的平台 |
AZCM0154 | 系統上安裝的 PowerShell 版本太舊 | 請升級至 PowerShell 4 或更新版本,然後再試一次。 |
AZCM0155 | 執行安裝指令碼的使用者沒有管理員權限 | 請以管理員身分重新執行指令碼。 |
AZCM0156 | 代理程式安裝失敗 | 請確認機器未在 Azure 上執行。 您可以在 %TEMP%\installationlog.txt 的安裝記錄中找到詳細的錯誤。 |
AZCM0157 | 無法下載 Microsoft Linux 軟體存放庫的存放庫中繼資料 | 請檢查是否有防火牆正在封鎖對 packages.microsoft.com 的存取,然後再試一次。 |
代理程式詳細資訊記錄
遵循本文稍後所述的疑難排解步驟之前,您所需要的最低資訊是詳細資訊記錄檔。 使用詳細資料 (-v) 引數時,其中會包含 azcmagent 工具命令的輸出。 若為 Windows,記錄檔會寫入 %ProgramData%\AzureConnectedMachineAgent\Log\azcmagent.log
,若為 Linux 則寫入 /var/opt/azcmagent/log/azcmagent.log
。
Windows
以下是在執行互動式安裝時,啟用適用於 Windows 的 Connected Machine 代理程式詳細資訊記錄的命令範例。
& "$env:ProgramFiles\AzureConnectedMachineAgent\azcmagent.exe" connect --resource-group "resourceGroupName" --tenant-id "tenantID" --location "regionName" --subscription-id "subscriptionID" --verbose
以下是在使用服務主體執行大規模安裝時,啟用適用於 Windows 的 Connected Machine 代理程式詳細資訊記錄的命令範例。
& "$env:ProgramFiles\AzureConnectedMachineAgent\azcmagent.exe" connect `
--service-principal-id "{serviceprincipalAppID}" `
--service-principal-secret "{serviceprincipalPassword}" `
--resource-group "{ResourceGroupName}" `
--tenant-id "{tenantID}" `
--location "{resourceLocation}" `
--subscription-id "{subscriptionID}"
--verbose
Linux
以下是在執行互動式安裝時,啟用適用於 Linux 的 Connected Machine 代理程式詳細資訊記錄的命令範例。
注意
您必須擁有 Linux 電腦根存取權限,才能執行 azcmagent。
azcmagent connect --resource-group "resourceGroupName" --tenant-id "tenantID" --location "regionName" --subscription-id "subscriptionID" --verbose
以下是在使用服務主體執行大規模安裝時,啟用適用於 Linux 的 Connected Machine 代理程式詳細資訊記錄的命令範例。
azcmagent connect \
--service-principal-id "{serviceprincipalAppID}" \
--service-principal-secret "{serviceprincipalPassword}" \
--resource-group "{ResourceGroupName}" \
--tenant-id "{tenantID}" \
--location "{resourceLocation}" \
--subscription-id "{subscriptionID}"
--verbose
服務的代理程式連線問題
下表會列出一些已知的錯誤,以及有關如何針對這些錯誤進行疑難排解並加以解決的建議。
訊息 | 錯誤 | 可能的原因 | 解決方案 |
---|---|---|---|
無法取得授權權杖裝置流程 | Error occurred while sending request for Device Authorization Code: Post https://login.windows.net/fb84ce97-b875-4d12-b031-ef5e7edf9c8e/oauth2/devicecode?api-version=1.0: dial tcp 40.126.9.7:443: connect: network is unreachable. |
無法連線到 login.windows.net 端點 |
請執行 azcmagent check,以查看防火牆是否正在封鎖對 Microsoft Entra ID 的存取。 |
無法取得授權權杖裝置流程 | Error occurred while sending request for Device Authorization Code: Post https://login.windows.net/fb84ce97-b875-4d12-b031-ef5e7edf9c8e/oauth2/devicecode?api-version=1.0: dial tcp 40.126.9.7:443: connect: network is Forbidden . |
Proxy 或防火牆封鎖了對 login.windows.net 端點的存取。 |
請執行 azcmagent check,以查看防火牆是否正在封鎖對 Microsoft Entra ID 的存取。 |
無法從 SPN 取得授權權杖 | Failed to execute the refresh request. Error = 'Post https://login.windows.net/fb84ce97-b875-4d12-b031-ef5e7edf9c8e/oauth2/token?api-version=1.0: Forbidden' |
Proxy 或防火牆封鎖了對 login.windows.net 端點的存取。 |
請執行 azcmagent check,以查看防火牆是否正在封鎖對 Microsoft Entra ID 的存取。 |
無法從 SPN 取得授權權杖 | Invalid client secret is provided |
服務主體祕密錯誤或無效。 | 請確認服務主體祕密。 |
無法從 SPN 取得授權權杖 | Application with identifier 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' wasn't found in the directory 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'. This can happen if the application has not been installed by the administrator of the tenant or consented to by any user in the tenant |
服務主體和/或租用戶識別碼不正確。 | 請確認服務主體和/或租用戶識別碼。 |
取得 ARM 資源回應 | The client 'username@domain.com' with object id 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' does not have authorization to perform action 'Microsoft.HybridCompute/machines/read' over scope '/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/MSJC01' or the scope is invalid. If access was recently granted, please refresh your credentials."}}" Status Code=403 |
認證和/或權限錯誤 | 請確認您或服務主體是 Azure Connected Machine 上線角色的成員。 |
無法取得 AzcmagentConnect ARM 資源 | The subscription isn't registered to use namespace 'Microsoft.HybridCompute' |
Azure 資源提供者未註冊。 | 請註冊資源提供者。 |
無法取得 AzcmagentConnect ARM 資源 | Get https://management.azure.com/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/MSJC01?api-version=2019-03-18-preview: Forbidden |
Proxy 伺服器或防火牆封鎖了對 management.azure.com 端點的存取。 |
請執行 azcmagent check,以查看防火牆是否正在封鎖對 Azure Resource Manager 的存取。 |
下一步
如果在這裡沒看到您的問題,或無法解決問題,請嘗試下列其中一個管道以獲得更多支援:
透過 Microsoft Q&A 取得 Azure 專家提供的解答。
連線至 @AzureSupport,這是用來改善客戶體驗的官方 Microsoft Azure 帳戶。 Azure 支援會將 Azure 社群連線到解答、支援及專家。
提出 Azure 支援事件。 前往 Azure 支援網站,然後選取 [取得支援]。