跳至內容

如何對 Systems Manager Run Command 失敗進行疑難排解?

2 分的閱讀內容
0

當我使用 AWS Systems Manager Run Command 在受管 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上執行命令時,該程序會失敗。

解決方法

先決條件

您必須先設定 AWS Identity and Access Management (IAM) 政策,然後才能使用 Run Command 管理 EC2 執行個體。任何執行命令的使用者都需要使用者政策。若要確認您的設定,請依照下列步驟操作:

  1. 確認 Systems Manager 的 IAM 執行個體設定檔角色是否已附加到您的 EC2 執行個體。如需詳細資訊,請參閱設定 Systems Manager 的執行個體權限
  2. 查看為角色或使用者建立的 IAM 政策。該政策必須包含 ec2messages API 呼叫的權限,因為端點需要傳送和接收命令。

**注意:**當您設定預設主機管理組態時,Systems Manager 會自動管理沒有 IAM 執行個體設定檔的 EC2 執行個體。所有關聯的 EC2 執行個體必須使用執行個體中繼資料服務版本 2 (IMDSv2)。預設主機管理組態可在 AWS Systems Manager Agent (SSM Agent) 版本 3.2.582.0 或更新版本中使用。在附加到 IAM 角色的政策中設定ec2messages API 呼叫的權限,因為您需要一個端點來傳送和接收命令。將 AWSSystemsManagerDefaultEC2InstanceManagementRole 設定為預設 IAM 角色。此角色包含使用 Systems Manager 管理 EC2 執行個體所需的最小權限集。

對 Run Command 失敗進行疑難排解

在 Systems Manager 中的 Fleet Manager (機群管理器) 下,EC2 執行個體必須列在 Managed nodes (受管節點) 下,且 SSM 代理程式 ping 狀態必須為線上。如果 Run Command 失敗,請嘗試下列疑難排解選項:

查看 Run Command 狀態詳細資訊

  1. 查看 Run Command 狀態詳細資訊
  2. 開啟 Systems Manager 主控台,然後從導覽窗格中選擇 Run Command
  3. 選擇超連結的命令 ID,以開啟 Command status (命令狀態) 頁面。
  4. 目標和輸出區段中,選擇超連結的執行個體 ID,然後檢閱輸出。

若輸出遭到截斷,請使用 SSH 連線至 EC2 執行個體,然後瀏覽至下列目錄,以查看完整的錯誤詳細資訊。記下結束狀態碼,然後參閱對 Systems Manager Run Command 進行疑難排解,以了解更多疑難排解步驟。

若是 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 代理日誌未提供解決錯誤所需的資訊,請允許偵錯日誌來重現問題。

相關資訊

AWS Systems Manager 文件

設定 AWS Systems Manager

AWS 官方已更新 3 年前