Systems Manager Run Command 실패 문제를 해결하려면 어떻게 해야 합니까?
최종 업데이트 날짜: 2021년 3월 24일
AWS Systems Manager Run Command를 사용하여 관리형 인스턴스에서 명령 문서를 실행하려고 하지만 프로세스가 실패합니다. 이 문제를 해결하려면 어떻게 해야 합니까?
해결 방법
사전 조건
AWS Systems Manager Run Command를 사용하면 일반적인 관리 작업을 자동화하고 일회성 구성 변경을 대규모로 수행할 수 있습니다. Run Command를 사용하여 인스턴스를 관리하려면 먼저 AWS Identity and Access Management(IAM) 사용자 정책을 구성해야 합니다. 사용자 정책은 명령을 실행할 모든 사용자에게 필요합니다.
- Systems Manager에 대한 IAM 인스턴스 프로파일 역할이 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 연결되어 있는지 확인합니다. 자세한 내용은 Systems Manager의 IAM 인스턴스 프로파일 생성을 참조하세요.
- 역할 또는 사용자에 대해 생성된 IAM 정책을 검토합니다. 명령을 보내고 받는 데 엔드포인가 필요하므로 정책에 ec2messages API 호출 권한이 포함되어 있어야 합니다.
Run Command 실패 문제 해결
Systems Manager 콘솔에서 해당 인스턴스가 [관리형 인스턴스(Managed instances)]에 나열되어 있고 [SSM 에이전트 ping 상태(SSM Agent ping status)]가 [온라인(Online)]이어야 합니다.
- [관리형 인스턴스(Managed instances)]에 해당 인스턴스가 표시되지 않을 경우 EC2 인스턴스가 Systems Manager 콘솔의 [Managed Instances(관리형 인스턴스)] 아래에 나타나지 않는 이유는 무엇입니까?를 참조하세요.
- [SSM 에이전트 ping 상태(SSM Agent ping status)]가 [연결 끊김(Connection Lost)]인 경우 연결 끊김 상태인 Systems Manager 관리형 인스턴스의 문제를 해결하려면 어떻게 해야 합니까?를 참조하세요.
Run Command 상태 세부 정보 검토
- Run Command 상태 세부 정보를 검토합니다.
- Systems Manager 콘솔을 열고 탐색 창에서 [Run Command]를 선택합니다.
- 하이퍼링크로 표시되는 명령 ID을 선택하여 [명령 상태(Command status)] 페이지를 엽니다.
- [대상 및 출력(Targets and outputs)] 섹션에서 하이퍼링크로 표시되는 인스턴스 ID를 클릭한 다음 출력을 검토합니다.
출력이 잘리면 SSH를 사용하여 EC2 인스턴스에 연결한 후, 다음 디렉터리로 이동하여 전체 오류 세부 정보를 확인합니다. 종료 상태 코드를 기록한 다음 Systems Manager Run Command 문제 해결에서 추가 문제 해결 단계를 참조합니다.
Linux 및 macOS의 경우:
- /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 에이전트 로그를 검토하세요.
Linux 및 macOS의 경우 다음 디렉터리에서 로그를 찾습니다.
- /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