如何疑難排解 Systems Manager 執行命令逾時問題?

1 分的閱讀內容
0

我使用了 AWS System Manager 執行命令在受管理的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上執行 SSM 檔案。但是,該程序失敗並出現超時錯誤。

簡短說明

執行命令逾時狀態詳細資料包括下列項目:

  • **執行逾時:**在指令被視為失敗之前完成命令的時間 (以秒為單位)。預設值為 3600 (1 小時)。最大值為 172800 (48 小時)。
  • **傳送逾時:**在總逾時到期之前,該命令未傳遞到受管理的節點。
  • **總逾時:**傳送逾時值加上執行逾時。如果 SSM 文件不需要執行逾時,則總逾時等於傳送逾時加上預設執行逾時。

若要取得更多資訊,請參閱瞭解指令狀態

解決方法

檢閱執行命令狀態詳細資料

  1. 開啟 Systems Manager 主控台
  2. 在導覽窗格中,選擇執行命令
  3. 選擇超連結的命令 ID 以開啟命令狀態頁面。
  4. 目標和輸出區段中,選擇超連結的執行個體 ID,然後檢閱輸出。

若輸出遭到截斷,請使用 SSH 連線至 EC2 執行個體,然後瀏覽至下列目錄,以查看完整的錯誤詳細資訊。請注意結束狀態碼,然後參閱疑難排解 Systems Manager 執行命令,以獲得其他疑難排解步驟。

LinuxmacOS 中:

/var/lib/amazon/ssm/<instance-id>/document/orchestration/<command-id>/<Plugin-name>/<Step-name>/stdout
/var/lib/amazon/ssm/<instance-id>/document/orchestration/<command-id>/<Plugin-name>/<Step-name>/stderr

Windows 中:

%ProgramData%\Amazon\SSM\InstanceData\<ManagedInstance-ID>\document\orchestration\<Command-ID>\<plug-in>\<step_number.plug-in>\stdout
%ProgramData%\Amazon\SSM\InstanceData\<ManagedInstance-ID>\document\orchestration\<Command-ID>\<plug-in>\<step_number.plug-in>\stderr

檢閱 SSM 代理程式日誌

如需有關失敗的詳細資訊,請檢閱 SSM 代理程式日誌。

如果是 LinuxmacOS,請在下列目錄中找出日誌:

/var/log/amazon/ssm/amazon-ssm-agent.log
/var/log/amazon/ssm/errors.log
/var/log/amazon/ssm/audits/amazon-ssm-agent-audit-YYYY-MM-DD

如果是 Windows,請在下列目錄中找出日誌:

%PROGRAMDATA%\Amazon\SSM\Logs\amazon-ssm-agent.log
%PROGRAMDATA%\Amazon\SSM\Logs\errors.log
%PROGRAMDATA%\Amazon\SSM\Logs\audits\amazon-ssm-agent-audit-YYYY-MM-DD

如果 SSM 代理日誌未提供解決錯誤所需的資訊,請允許偵錯日誌重現問題。

疑難排解逾時問題

  • 請確定您的執行命令 SSM 文件要完成的總時間小於 timeoutSeconds 屬性,並確認完成它們所需的總時間小於 timeoutSeconds 參數。預設的 timeoutSeconds 屬性值為 3600 秒 (1 小時)。如需有關指定 timeoutSeconds 屬性值的詳細資訊,請參閱處理執行手冊中的逾時
  • EC2 執行個體必須顯示為受管節點,且 SSM 代理程式偵測狀態必須為線上。如果您的 EC2 執行個體未顯示為受管節點,或者 SSM 代理程式偵測狀態不是線上,則需要進行額外的疑難排解。如需詳細資訊,請參閱為什麼我的 EC2 執行個體未顯示為受管節點或在 Systems Manager 中顯示「連線中斷」狀態?
  • 如果您的執行命令正在執行重新啟動受管節點的指令碼,節點可能會中斷連線,造成逾時問題。請確認您是使用正確的結束代碼。如需詳細資訊,請參閱執行命令時處理重新啟動
  • 如果您的 SSM 代理程式版本為 2.0.913 或更高版本,則執行逾時值上限為 172800 秒 (48 小時)。確認執行個體正在使用最新版的 SSM 代理程式
  • 當維護時段或狀態管理員執行命令時,請確認命令正在執行。若要確認,請使用 AWS CloudTrail 檢閱 SendCommand 回應。

相關資訊

AWS Systems Manager 文件

設定 AWS Systems Manager

如何疑難排解 Systems Manager 執行命令失敗?

AWS 官方
AWS 官方已更新 1 年前