Run Command을 사용하여 상태 알림을 반환하는 명령 전송 - AWS Systems Manager

Run Command을 사용하여 상태 알림을 반환하는 명령 전송

다음 절차에서는 상태 경보를 반환하도록 구성된 AWS Systems Manager의 도구인 Run Command를 통해 AWS Command Line Interface(AWS CLI) 또는 AWS Systems Manager 콘솔을 사용하여 명령을 보내는 방법을 보여줍니다.

알림을 반환하는 Run Command 전송(콘솔)

Systems Manager 콘솔을 사용하여 상태 알림을 반환하도록 구성된 Run Command를 통해 명령을 보내려면 다음 절차를 사용합니다.

알림을 반환하는 명령을 전송하려면(콘솔)
  1. AWS Systems Manager 콘솔(https://console.aws.amazon.com/systems-manager/)을 엽니다.

  2. 탐색 창에서 Run Command를 선택합니다.

  3. Run command(Run 명령)를 선택합니다.

  4. Command 문서(Command document) 목록에서 Systems Manager 문서를 선택합니다.

  5. 명령 파라미터 섹션에서 필요한 파라미터의 값을 지정합니다.

  6. Targets(대상) 섹션에서, 태그를 지정하거나, 수동으로 인스턴스나 엣지 디바이스를 선택하거나, 리소스 그룹을 지정하여 이 작업을 실행할 관리형 노드를 식별합니다.

    작은 정보

    예상한 관리형 노드가 목록에 없으면 관리형 노드 가용성 문제 해결에서 문제 해결 팁을 참조하세요.

  7. Other parameters(다른 파라미터):

    • Comment(설명)에 명령에 대한 정보를 입력합니다.

    • 제한 시간(초)에서 전체 명령 실행이 실패할 때까지 시스템이 기다리는 시간을 초 단위로 지정합니다.

  8. Rate control(속도 제어)에서

    • Concurrency(동시성)에서 명령을 동시에 실행할 관리형 노드의 백분율 또는 개수를 지정합니다.

      참고

      관리형 노드에 적용할 태그를 지정하거나, AWS 리소스 그룹을 지정하여 대상을 선택하였지만 대상으로 지정할 관리형 노드 수를 잘 모를 경우에는 백분율을 지정하여 동시에 문서를 실행할 수 있는 대상 수를 제한합니다.

    • Error threshold(오류 임계값)에서, 명령이 노드의 개수 또는 백분율에서 실패한 후 다른 관리형 노드에서 해당 명령의 실행을 중지할 시간을 지정합니다. 예를 들어 세 오류를 지정하면 네 번째 오류를 받았을 때 Systems Manager가 명령 전송을 중지합니다. 여전히 명령을 처리 중인 관리형 노드도 오류를 전송할 수 있습니다.

  9. (선택 사항) Output options(출력 옵션)에서 명령 출력을 파일에 저장하려면 Write command output to an S3 bucket(S3 버킷에 명령 출력 쓰기) 상자를 선택합니다. 상자에 버킷 및 접두사(폴더) 이름을 입력합니다.

    참고

    데이터를 S3 버킷에 쓰는 기능을 부여하는 S3 권한은 이 작업을 수행하는 IAM 사용자의 권한이 아니라 인스턴스에 할당된 인스턴스 프로파일(EC2 인스턴스용) 또는 IAM 서비스 역할(하이브리드 정품 인증 시스템)의 권한입니다. 자세한 내용은 Systems Manager에 필요한 인스턴스 권한 구성이나 하이브리드 환경을 위한 IAM 서비스 역할 생성을 참조하세요. 또한 지정된 S3 버킷이 다른 AWS 계정에 있는 경우 관리형 노드와 연결된 인스턴스 프로파일 또는 IAM 서비스 역할은 해당 버킷에 쓸 수 있는 권한이 있어야 합니다.

  10. SNS 알림 섹션에서 SNS 알림 활성화를 선택합니다.

  11. IAM 역할(IAM role)에서 Amazon SNS 알림을 사용하여 Systems Manager 상태 변경 모니터링의 작업 3에서 생성한 Amazon SNS IAM 역할 ARN을 선택합니다.

  12. [SNS 주제(SNS topic)]에 사용할 Amazon SNS 주제 ARN을 입력합니다.

  13. [이벤트 알림(Event notifications)]에서 알림을 받을 이벤트를 선택합니다.

  14. 변경 사항 알림(Change notifications)에서 명령 요약에 대한 알림만 수신하거나(명령 상태 변경(Command status changes)) 또는 여러 노드로 전송된 명령 사본마다 알림을 수신하도록 선택합니다(각 인스턴스 변경에 대한 명령 상태(Command status on each instance changes)).

  15. Run(실행)을 선택합니다.

  16. 이메일에서 Amazon SNS의 메시지를 확인하고 이메일 메시지를 엽니다. Amazon SNS에서 이메일 메시지를 보내는 데 몇 분 정도 걸릴 수 있습니다.

알림을 반환하는 Run Command 보내기(CLI)

AWS CLI를 사용하여 상태 알림을 반환하도록 구성된 Run Command 을 통해 명령을 보내려면 다음 절차를 사용하십시오.

상태 알림을 반환하는 명령 보내기(CLI)
  1. AWS CLI을 엽니다.

  2. 관리형 노드 ID를 기반으로 대상을 지정하려면 다음 명령에서 파라미터를 지정합니다.

    aws ssm send-command --instance-ids "ID-1, ID-2" --document-name "Name" --parameters '{"commands":["input"]}' --service-role "SNSRoleARN" --notification-config '{"NotificationArn":"SNSTopicName","NotificationEvents":["All"],"NotificationType":"Command"}'

    다음은 한 예입니다.

    aws ssm send-command --instance-ids "i-02573cafcfEXAMPLE, i-0471e04240EXAMPLE" --document-name "AWS-RunPowerShellScript" --parameters '{"commands":["Get-Process"]}' --service-role "arn:aws:iam::111122223333:role/SNS_Role" --notification-config '{"NotificationArn":"arn:aws:sns:us-east-1:111122223333:SNSTopic","NotificationEvents":["All"],"NotificationType":"Command"}'
    다른 명령

    태그를 사용하여 관리형 인스턴스를 대상으로 지정하려면 다음 명령에서 파라미터를 지정합니다.

    aws ssm send-command --targets "Key=tag:TagName,Values=TagKey" --document-name "Name" --parameters '{"commands":["input"]}' --service-role "SNSRoleARN" --notification-config '{"NotificationArn":"SNSTopicName","NotificationEvents":["All"],"NotificationType":"Command"}'

    다음은 한 예입니다.

    aws ssm send-command --targets "Key=tag:Environment,Values=Dev" --document-name "AWS-RunPowerShellScript" --parameters '{"commands":["Get-Process"]}' --service-role "arn:aws:iam::111122223333:role/SNS_Role" --notification-config '{"NotificationArn":"arn:aws:sns:us-east-1:111122223333:SNSTopic","NotificationEvents":["All"],"NotificationType":"Command"}'
  3. Enter를 누릅니다.

  4. 이메일에서 Amazon SNS의 메시지를 확인하고 이메일 메시지를 엽니다. Amazon SNS에서 이메일 메시지를 보내는 데 몇 분 정도 걸릴 수 있습니다.

자세한 내용은 AWS CLI 명령 레퍼런스send-command 섹션을 참조하세요.