명령 상태 이해 - AWS Systems Manager

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

명령 상태 이해

Run Command의 기능을 실행하려면AWS Systems Manager에서는 어떤 명령을 처리하는 동안과 명령을 처리한 각 인스턴스에 대해 그 명령이 거치게 되는 다양한 상태에 대한 자세한 상태 정보를 보고합니다. 다음 방법을 사용하여 명령 상태를 모니터링할 수 있습니다.

  • 선택 사항새로 고침아이콘 (명령 실행Amazon Elastic Compute Cloud (Amazon EC2) 콘솔의 페이지를 참조하십시오.

  • 전화명령 나열또는목록 명령 호출사용AWS Command Line Interface(AWS CLI). 또는 전화SSM명령 Get-명령또는Get-SSM 명령를 사용하는AWS Tools for Windows PowerShell.

  • 상태 또는 상태 변경에 응답하도록 Amazon EventBridge 를 구성합니다.

  • Amazon Simple Notification Service (Amazon SNS) 를 구성하여 모든 상태 변경 또는 FailTimedOut 등 특정 상태에 대해 알림을 보내도록 를 구성합니다.

Run Command 상태

Run Command는 플러그인, 호출, 전체 명령 상태라는 세 가지 영역에 대한 자세한 상태 정보를 보고합니다. A시작하기는 명령의 SSM 문서에 정의된 코드 실행 블록입니다. 플러그인에 대한 자세한 정보는 Systems Manager 명령 문서 플러그인 참조 단원을 참조하십시오.

동시에 여러 인스턴스에 명령을 보내는 경우, 각 인스턴스를 대상으로 하는 명령 사본 각각을 명령 호출이라고 합니다. 예를 들어, 를 사용하는 경우AWS-RunShellScript문서를 열고ifconfig명령을 20 개의 Linux 인스턴스로 변환하면 해당 명령에는 20 개의 호출이 있습니다. 각 명령 호출은 개별적으로 상태를 보고합니다. 지정된 명령 호출에 대한 플러그인 역시 상태를 개별적으로 보고합니다.

마지막으로, Run Command에는 모든 플러그인과 호출에 대한 총체적인 명령 상태가 포함되어 있습니다. 다음 표에 나와 있는 것처럼, 총체적인 명령 상태는 플러그인이나 호출에서 보고되는 상태와 다를 수 있습니다.

참고

max-concurrency 또는 max-errors 파라미터를 사용하여 많은 수의 인스턴스에 명령을 실행할 경우 다음 표의 설명과 같이 명령 상태는 해당 파라미터에 따른 제한을 반영합니다. 이런 파라미터에 대한 자세한 내용은 대상 및 비율 제어를 사용하여 플릿에 명령 전송 단원을 참조하십시오.

명령 플러그인 및 호출의 세부 상태
상태 세부 정보
대기 중 명령이 아직 인스턴스로 전송되지 않았거나SSM Agent. 시간이 경과하기 전에 에이전트에서 명령이 수신되지 않는 경우시간 초과(초)파라미터 및실행 시간 초과파라미터의 경우 상태는Delivery Timed Out.
진행 중 Systems Manager 인스턴스로 명령을 전송하려고 시도하거나SSM Agent인스턴스에서 실행되기 시작했습니다. 모든 명령 플러그인의 결과에 따라 상태는 로 변경됩니다.Success,Failed,Delivery Timed Out또는Execution Timed Out. 예외: 에이전트가 인스턴스에서 실행 중이거나 사용 가능한 경우 명령 상태는In Progress에이전트를 다시 사용할 수 있을 때까지 또는 실행 시간 초과 제한에 도달할 때까지. 그런 다음 상태는 종료 상태로 변경됩니다.
Delayed 시스템에서 인스턴스로 명령 전송을 시도했지만 성공하지 못했습니다. 시스템이 다시 시도됩니다.
성공 명령이 인스턴스의 SSM Agent에 수신되었고 종료 코드 0을 반환했습니다. 이 상태는 인스턴스에서 명령이 처리되었다는 뜻은 아닙니다. 이것은 종료 상태입니다.
참고

오류를 해결하거나 명령 실행에 대한 자세한 정보를 얻으려면 적절한 종료 코드(명령 실패에 대한 0 이외의 종료 코드)를 반환해 오류나 예외를 처리하는 명령을 전송합니다.

Delivery Timed Out 배달 제한 시간 만료 전까지 명령이 인스턴스로 전달되지 않았습니다. 배달 시간 초과는 부모 명령의max-errors제한에 영향을 미치지만, 상위 명령 상태를Success,Incomplete또는Delivery Timed Out. 이것은 종료 상태입니다.
Execution Timed Out 인스턴스에서 명령 실행이 시작되었지만, 실행 제한 시간 만료 전까지 실행이 완료되지 않았습니다. 실행 시간 초과는 상위 명령의 max-errors 제한에 계산됩니다. 이것은 종료 상태입니다. 제한 시간에 도달하면 Systems Manager 명령 실행을 멈춥니다.
실패

인스턴스에서 명령 실행에 성공하지 못했습니다. 플러그인의 경우 이는 결과 코드가 0이 아니었음을 나타냅니다. 명령 호출의 경우 이는 하나 이상의 플러그인에 대한 결과 코드가 0이 아니었음을 나타냅니다. 호출 실패는 상위 명령의 max-errors 제한에 계산됩니다. 이것은 종료 상태입니다.

취소됨 명령이 완료되기 전에 취소되었습니다. 이것은 종료 상태입니다.
Undeliverable 인스턴스로 명령을 전달할 수 없습니다. 해당 인스턴스가 없거나 응답하지 않는 것일 수 있습니다. 전달할 수없는 호출은 부모 명령의max-errors제한에 영향을 미치지만, 상위 명령 상태를Success또는Incomplete. 예를 들어 명령의 모든 호출이 상태인 경우Undeliverable인 경우 반환 된 명령 상태는Failed. 그러나 명령에 다섯 개의 호출이있는 경우 그 중 네 개는 상태Undeliverable를 반환하고 그 중 하나는 상태를 반환합니다.Success인 경우 부모 명령의 상태는Success. 이것은 종료 상태입니다.
Terminated 상위 명령이 max-errors 제한을 초과해 시스템에서 이후의 명령 호출을 취소했습니다. 이것은 종료 상태입니다.
잘못된 플랫폼 선택한 문서에서 지정한 필수 플랫폼과 일치하지 않은 인스턴스로 명령이 전송되었습니다.Invalid Platform상위 명령의 최대 오류 제한에 계산되지는 않지만, 상위 명령 상태를 성공 또는 실패 여부에 영향을 미치지도 않습니다. 예를 들어 명령의 모든 호출이 상태인 경우Invalid Platform인 경우 반환 된 명령 상태는Failed. 그러나 명령에 다섯 개의 호출이있는 경우 그 중 네 개는 상태Invalid Platform를 반환하고 그 중 하나는 상태를 반환합니다.Success인 경우 부모 명령의 상태는Success. 이것은 종료 상태입니다.
액세스 거부됨 이AWS Identity and Access Management(IAM) 사용자 또는 역할은 대상 관리형 인스턴스에 액세스할 수 없습니다.Access Denied는 부모 명령의max-errors제한에 기여하지만 부모 명령 상태가Success또는Failed. 예를 들어 명령의 모든 호출이 상태인 경우Access Denied인 경우 반환 된 명령 상태는Failed. 그러나 명령에 다섯 개의 호출이있는 경우 그 중 네 개는 상태Access Denied를 반환하고 그 중 하나는 상태를 반환합니다.Success인 경우 부모 명령의 상태는Success. 이것은 종료 상태입니다.
명령의 세부 상태
상태 세부 정보
대기 중 어떤 인스턴스에서도 에이전트가 아직 명령을 받지 않았습니다.
진행 중 한 개 이상의 인스턴스로 명령을 전송했지만 모든 인스턴스에서 최종 상태에 도달하지는 못했습니다.
Delayed 시스템에서 인스턴스로 명령 전송을 시도했지만 성공하지 못했습니다. 시스템이 다시 시도됩니다.
성공 지정되었거나 대상이 된 모든 인스턴스의 SSM Agent에 명령이 수신되었고 종료 코드 0을 반환했습니다. 모든 명령 호출이 터미널 상태에 도달했고max-errors에 도달하지 못했습니다. 이 상태가 지정되었거나 대상이 된 모든 인스턴스에서 명령이 성공적으로 처리되었다는 뜻은 아닙니다. 이것은 종료 상태입니다.
참고

오류를 해결하거나 명령 실행에 대한 자세한 정보를 얻으려면 적절한 종료 코드(명령 실패에 대한 0 이외의 종료 코드)를 반환해 오류나 예외를 처리하는 명령을 전송합니다.

Delivery Timed Out 배달 제한 시간 만료 전까지 명령이 인스턴스로 전달되지 않았습니다. max-errors 이상의 명령 호출 값이 Delivery Timed Out 상태를 표시합니다. 이것은 종료 상태입니다.
Execution Timed Out 인스턴스에서 명령 실행이 시작되었지만, 실행 제한 시간 만료 전까지 실행이 완료되지 않았습니다. max-errors 이상의 명령 호출 값이 Execution Timed Out 상태를 표시합니다. 이것은 종료 상태입니다.
실패

인스턴스에서 명령 실행에 성공하지 못했습니다. max-errors 이상의 명령 호출 값이 Failed 상태를 표시합니다. 이것은 종료 상태입니다.

불완전 모든 인스턴스에서 명령을 시도했고 값이 가 아닌 호출이 한 개 이상입니다.Success. 하지만 Failed 상태가 될 정도로 많은 호출에 실패한 것은 아닙니다. 이것은 종료 상태입니다.
취소됨 명령이 완료되기 전에 취소되었습니다. 이것은 종료 상태입니다.
Rate Exceeded 명령의 대상이 되는 인스턴스 수가 보류 중인 호출에 대한 계정 제한을 초과했습니다. 시스템에서 이 명령을 어떤 인스턴스에서 실행하기 전에 취소했습니다. 이것은 종료 상태입니다.
액세스 거부됨 명령을 시작하는 IAM 사용자 또는 역할은 대상 리소스 그룹에 액세스할 수 없습니다.AccessDenied는 부모 명령의max-errors제한에 기여하지만 부모 명령 상태가Success또는Failed. (예를 들어 명령의 모든 호출이 상태 인 경우AccessDenied인 경우 반환 된 명령 상태는Failed. 그러나 명령에 5개 호출이 있는 경우 그 중 4개가 상태를 반환합니다.AccessDenied를 반환하고 그 중 1은 상태를 반환합니다.Success인 경우 부모 명령의 상태는Success.) 이것은 종료 상태입니다.
태그에 인스턴스 없음 명령으로 대상 지정된 태그 키 페어 또는 리소스 그룹은 관리형 인스턴스와 일치하지 않습니다. 이것은 종료 상태입니다.

명령 제한 시간 값 이해

Systems Manager 명령을 실행할 때 다음 제한 시간 값을 적용합니다.

배달 제한 시간

Systems Manager 콘솔에서 배달 제한 시간 값을 지정하면시간 초과(초)필드. 명령이 전송된 후Run Command는 명령이 만료되었는지 여부를 확인합니다. 명령이 명령 만료 제한 (총 시간 초과) 에 도달하면 상태가DeliveryTimedOut상태가있는 모든 호출에 대해InProgress,Pending또는Delayed.


                    이시간 초과(초)Systems Manager 콘솔의 필드

보다 기술적 인 수준에서 배달 시간 초과 (시간 초과(초)) 는 다음과 같이 두 시간 초과 값의 조합입니다.

Delivery timeout = "Timeout(seconds)" from the console + "timeoutSeconds": "{{ executionTimeout }}" from your SSM document

예를 들어 기본값은시간 초과(초)600초에 Systems Manager 콘솔을 엽니다. 사용 하 여 명령을 실행 하는 경우AWS-RunShellScriptSSM 문서, 기본값인“timeoutSeconds”: “{{실행 시간 초과}}”는 다음 문서 샘플에 표시된 대로 3600초입니다.

"executionTimeout": { "type": "String", "default": "3600", "runtimeConfig": { "aws:runShellScript": { "properties": [ { "timeoutSeconds": "{{ executionTimeout }}"

즉, 시스템이 배달 시간 제한을 반환하기 전에 명령이 4,200초 (70분) 동안 실행됩니다.

실행 제한 시간

Systems Manager 콘솔에서 실행 제한 시간 값을 지정하면실행 제한 시간필드입니다 (사용 가능한 경우). 일부 SSM 문서에 실행 제한 시간을 지정해야 하는 것은 아닙니다. 지정된 경우 이 시간 내에 명령이 완료되어야 합니다.

참고

Run Command에 의존하는SSM Agent문서 터미널 응답을 사용하여 명령이 에이전트에 전달되었는지 여부를 확인합니다.SSM Agent를 보내야 합니다.ExecutionTimedOut로 표시 할 호출 또는 명령에 대한 신호ExecutionTimedOut.


                    이실행 제한 시간Systems Manager 콘솔의 필드

기본 실행 제한 시간

SSM 문서에서 실행 제한 시간 값을 명시적으로 지정할 필요가 없는 경우 Systems Manager 는 하드 코딩된 기본 실행 제한 시간을 적용합니다.

총 제한 시간

총 제한 시간은 delivery timeoutexecution timeout을 더한 값입니다. 다음의 경우,execution timeout가 SSM 문서에 필요하지 않은 경우total timeout의 값과 같습니다.delivery timeout플러스default execution timeout.

Systems Manager 시간 제한을 보고하는 방법

Systems Manager 수신하는 경우execution timeout에서 회신SSM Agent를 대상으로 지정한 경우 Systems Manager 명령 호출을 으로 표시합니다.executionTimeout.

다음의 경우,Run Command에서 문서 터미널 응답을받지 못합니다.SSM Agent인 경우 명령 호출은deliveryTimeout.

타겟에서 시간 초과 상태를 확인하려면SSM Agent모든 파라미터와 SSM 문서의 콘텐츠를 결합하여 을 계산합니다.executionTimeout. SSM Agent에서 명령이 시간 초과되었다고 판단하면 executionTimeout을 서비스로 전송합니다.

기본값은 입니다.시간 초과(초)는 3600초입니다. 기본값은 입니다.실행 제한 시간또한 3600 초입니다. 따라서 명령의 총 기본 시간 초과는 7200초입니다.

참고

SSM Agent프로세스executionTimeout는 SSM 문서 유형 및 문서 버전에 따라 을 다르게 처리합니다.