Systems Manager Run Command 오류를 해결하려면 어떻게 해야 하나요?

3분 분량
0

AWS System Manager Run Command를 사용하여 관리형 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 SSM 문서를 실행했습니다. 그런데 시간 제한 오류의 발생으로 프로세스가 실패했습니다.

간략한 설명

Run Command 시간 제한 상태 세부 정보에는 다음이 포함됩니다.

  • 실행 시간 제한: 명령이 실패로 간주되기 전 완료에 걸리는 시간(초)입니다. 기본값은 3600(1시간)입니다. 최대값은 172800(48시간)입니다.
  • 전달 시간 제한: 총 시간 제한이 만료되기 전에 명령이 관리 노드에 전달되지 않았습니다.
  • 총 시간 제한: 전달 시간 제한에 실행 제한 시간을 더한 값입니다. SSM 문서에 실행 시간 제한이 필요하지 않다면, 총 시간 제한은 전송 시간 제한에 기본 실행 시간 제한을 더한 값과 같습니다.

자세한 내용은 명령 상태 이해를 참조합니다.

해결 방법

Run Command 상태 세부 정보 검토

  1. 시스템 관리자 콘솔을 엽니다.
  2. 탐색 창에서 명령 실행을 선택합니다.
  3. 하이퍼링크된 명령 ID를 선택하여 명령 상태 페이지를 엽니다.
  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 Agent 로그 검토

오류에 대한 자세한 내용은 SSM Agent 로그를 검토합니다.

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 Agent 로그가 오류 해결에 필요한 정보를 제공하지 않는다면 디버그 로깅을 허용하여 문제를 재현합니다.

시간 제한 문제 해결

  • Run Command SSM 문서의 총 완료 시간이 timeoutSeconds 속성보다 작은지 확인하고, 작업을 완료하는 데 필요한 총 시간이 timeoutSeconds 파라미터보다 작은지 확인합니다. 기본 timeoutSeconds 속성 값은 3600초(1시간)입니다. TimeoutSeconds 속성 값 지정에 대한 자세한 내용은 런북의 시간 제한을 참조합니다.

  • EC2 인스턴스가 관리형 노드로 표시되고, SSM 에이전트 핑 상태는 온라인이어야 합니다. EC2 인스턴스가 관리형 노드로 표시되지 않거나, SSM 에이전트 핑 상태가 온라인이 아니라면 추가 문제 해결이 필요합니다. 자세한 내용은 Systems Manager에서 EC2 인스턴스가 관리되는 노드로 표시되지 않거나 "연결 끊김" 상태가 표시되는 이유는 무엇인가요?를 참조합니다.

  • Run Command가 관리 대상 노드를 재부팅하는 스크립트를 실행한다면, 노드 연결이 끊어져 시간 제한 문제가 발생할 수 있습니다. 올바른 종료 코드를 사용하고 있는지 확인합니다. 자세한 내용은 명령 실행 시 재부팅 처리를 참조합니다.

  • SSM 에이전트 버전이 2.0.913 이상이라면 최대 실행 시간 제한 값은 172800초(48시간)입니다. 인스턴스가 최신 버전의 SSM Agent 에이전트를 사용하고 있는지 확인합니다.

  • 유지 관리 기간 동안 또는 State Manager가 이 명령을 실행하고 있는 동안 명령이 실행 중인지 확인합니다. AWS CloudTrail을 사용하여 SendCommand 응답을 검토함으로써 이를 확인합니다.

관련 정보

AWS Systems Manager 문서

AWS Systems Manager 설정

Systems Manager Run Command 오류를 해결하려면 어떻게 해야 하나요?

AWS 공식
AWS 공식업데이트됨 10달 전