승인이 필요한 자동화 실행 - AWS Systems Manager

승인이 필요한 자동화 실행

다음 절차에서는 단순 실행 모드에서 승인자를 사용하여 자동화를 실행하도록 AWS Systems Manager 콘솔과 AWS Command Line Interface(AWS CLI)를 사용하는 방법을 설명합니다. 자동화는 지정된 보안 주체가 작업을 승인 또는 거부할 때까지 자동화를 일시 중지하는 자동화 작업 aws:approve를 사용합니다. 자동화는 현재 사용자의 컨텍스트에서 실행됩니다. 이는 런북과 그 런북에 의해 호출되는 모든 작업을 사용할 권한이 있는 한 추가 IAM 권한을 구성할 필요가 없음을 뜻합니다. IAM에서 관리자 권한이 있는 경우 이 런북을 사용할 권한이 이미 있습니다.

시작하기 전 준비 사항

실행서에 요구되는 표준 입력 이외에 aws:approve 작업에는 다음 두 파라미터가 필요합니다.

  • 승인자 목록. 승인자 목록은 사용자 이름 또는 사용자 ARN 형식의 승인자를 하나 이상 포함해야 합니다. 여러 승인자를 제공하는 경우 런북 내에 해당하는 최소 승인 횟수도 지정해야 합니다.

  • Amazon Simple Notification Service(Amazon SNS) 주제 ARN Amazon SNS 주제 이름은 Automation으로 시작해야 합니다.

이 절차에서는 승인 요청을 전송하는 데 필요한 Amazon SNS 주제를 이미 생성한 것으로 가정합니다. 자세한 내용은 Amazon Simple Notification Service Developer GuideCreate a Topic을 참조하세요.

승인자를 사용하여 자동화 실행(콘솔)

승인자를 사용하여 자동화를 실행하려면

다음 절차에서는 Systems Manager 콘솔에서 승인자를 사용하여 자동화를 실행하는 방법을 설명합니다.

  1. AWS Systems Manager 콘솔https://console.aws.amazon.com/systems-manager/을 엽니다.

  2. 탐색 창에서 Automation(자동화)을 선택한 후 Execute automation(자동화 실행)을 선택합니다.

  3. [Automation 문서(Automation document)] 목록에서 실행서를 선택합니다. 문서 카테고리 창에서 옵션을 1개 이상 선택하여 SSM 문서를 목적에 따라 필터링합니다. 자신이 소유한 실행서를 보려면 [내 소유(Owned by me)] 탭을 선택합니다. 자신의 계정과 공유하고 있는 실행서를 보려면 [나와 공유됨(Shared with me)] 탭을 선택합니다. 모든 실행서를 보려면 [모든 문서(All documents)] 탭을 선택합니다.

    참고

    실행서 이름을 선택하여 실행서에 대한 정보를 볼 수 있습니다.

  4. 문서 세부 정보 섹션에서 문서 버전이 실행할 버전으로 설정되었는지 확인합니다. 이 시스템에는 다음 버전 옵션이 포함되어 있습니다.

    • 런타임 시 기본 버전 - Automation 런북이 정기적으로 업데이트되며 새 기본 버전이 할당된 경우 이 옵션을 선택합니다.

    • 런타임 시 최신 버전 - Automation 런북이 정기적으로 업데이트되며 최근에 업데이트된 버전을 실행하려는 경우 이 옵션을 선택합니다.

    • 1(기본값) - 문서의 최초 버전을 실행하려면 이 옵션을 선택합니다(기본값).

  5. 다음을 선택합니다.

  6. Execute automation document(자동화 문서 실행) 페이지에서 Simple execution(단순 실행)을 선택합니다.

  7. 입력 파라미터 섹션에서 필요한 입력 파라미터를 지정합니다.

    예를 들어 AWS-StartEC2InstanceWithApproval 런북을 선택한 경우 InstanceId 파라미터에 대해 인스턴스 ID를 지정하거나 선택해야 합니다.

  8. 승인자 섹션에서 자동화 작업 승인자의 IAM 사용자 또는 사용자 ARN을 지정합니다.

  9. SNSTopicARN 섹션에서 승인 알림을 전송하는 데 사용할 SNS 주제 ARN을 지정합니다. SNS 주제 이름은 Automation으로 시작해야 합니다.

  10. 필요에 따라 [AutomationAssumeRole] 목록에서 IAM 서비스 역할을 선택합니다. 100개가 넘는 계정 및 리전을 대상으로 지정하는 경우 AWS-SystemsManager-AutomationAdministrationRole을 지정해야 합니다.

  11. 자동화 실행(Execute automation)을 선택합니다.

지정된 승인자는 자동화를 승인 또는 거부하기 위한 세부 정보가 표함된 Amazon SNS 알림을 받습니다. 이 승인 작업은 발행 날짜로부터 7일간 유효하고 Systems Manager 콘솔 또는 AWS Command Line Interface(AWS CLI)를 사용하여 발행할 수 있습니다.

자동화를 승인하기로 결정하면 자동화가 지정된 실행서에 포함된 단계를 실행합니다. 콘솔에 자동화 상태가 표시됩니다. 자동화가 실행되지 않는 경우 Systems Manager Automation 문제 해결 섹션을 참조하세요.

자동화를 승인 또는 거부하려면
  1. AWS Systems Manager 콘솔(https://console.aws.amazon.com/systems-manager/)을 엽니다.

  2. 탐색 창에서 [자동화(Automation)]를 선택하고 이전 절차에서 실행한 자동화를 선택합니다.

  3. 작업을 선택하고 Approve/Deny(승인/거부)를 선택합니다.

  4. 승인 또는 거부를 선택하고 선택적으로 설명을 입력합니다.

  5. 제출을 선택합니다.

승인자를 사용하여 자동화 실행(명령줄)

다음 절차에서는 AWS CLI(Linux 또는 Windows) 또는 AWS Tools for PowerShell에서 승인자를 사용하여 자동화를 실행하는 방법을 설명합니다.

승인자를 사용하여 자동화를 실행하려면
  1. 아직 하지 않은 경우 AWS CLI 또는 AWS Tools for PowerShell을 설치하고 구성합니다.

    자세한 내용은 최신 버전의 AWS CLI 설치 또는 업데이트AWS Tools for PowerShell 설치를 참조하세요.

  2. 승인자를 사용하여 자동화를 실행하려면 다음 명령을 실행합니다. 각 example resource placeholder를 사용자의 정보로 바꿉니다. 문서 이름 섹션에 aws:approve 자동화 작업을 포함하는 런북을 지정합니다.

    Approvers에서 작업 승인자의 사용자 이름 또는 사용자 ARN을 지정합니다. SNSTopic에서 승인 알림을 전송하는 데 사용할 SNS 주제 ARN을 지정합니다. Amazon SNS 주제 이름은 Automation으로 시작해야 합니다.

    참고

    승인자 및 SNS 주제의 파라미터 값은 선택한 실행서에 지정된 값에 따라 특정한 이름이 다릅니다.

    Linux & macOS
    aws ssm start-automation-execution \ --document-name "AWS-StartEC2InstanceWithApproval" \ --parameters "InstanceId=i-02573cafcfEXAMPLE,Approvers=arn:aws:iam::123456789012:role/Administrator,SNSTopicArn=arn:aws:sns:region:123456789012:AutomationApproval"
    Windows
    aws ssm start-automation-execution ^ --document-name "AWS-StartEC2InstanceWithApproval" ^ --parameters "InstanceId=i-02573cafcfEXAMPLE,Approvers=arn:aws:iam::123456789012:role/Administrator,SNSTopicArn=arn:aws:sns:region:123456789012:AutomationApproval"
    PowerShell
    Start-SSMAutomationExecution ` -DocumentName AWS-StartEC2InstanceWithApproval ` -Parameters @{ "InstanceId"="i-02573cafcfEXAMPLE" "Approvers"="arn:aws:iam::123456789012:role/Administrator" "SNSTopicArn"="arn:aws:sns:region:123456789012:AutomationApproval" }

    시스템은 다음과 같은 정보를 반환합니다.

    Linux & macOS
    {
        "AutomationExecutionId": "df325c6d-b1b1-4aa0-8003-6cb7338213c6"
    }
    Windows
    {
        "AutomationExecutionId": "df325c6d-b1b1-4aa0-8003-6cb7338213c6"
    }
    PowerShell
    df325c6d-b1b1-4aa0-8003-6cb7338213c6
자동화를 승인하려면
  • 자동화를 승인하려면 다음 명령을 실행합니다. 각 example resource placeholder를 사용자의 정보로 바꿉니다.

    Linux & macOS
    aws ssm send-automation-signal \ --automation-execution-id "df325c6d-b1b1-4aa0-8003-6cb7338213c6" \ --signal-type "Approve" \ --payload "Comment=your comments"
    Windows
    aws ssm send-automation-signal ^ --automation-execution-id "df325c6d-b1b1-4aa0-8003-6cb7338213c6" ^ --signal-type "Approve" ^ --payload "Comment=your comments"
    PowerShell
    Send-SSMAutomationSignal ` -AutomationExecutionId df325c6d-b1b1-4aa0-8003-6cb7338213c6 ` -SignalType Approve ` -Payload @{"Comment"="your comments"}

    명령이 성공해도 출력은 없습니다.

자동화를 거부하려면
  • 자동화를 거부하려면 다음 명령을 실행합니다. 각 example resource placeholder를 사용자의 정보로 바꿉니다.

    Linux & macOS
    aws ssm send-automation-signal \ --automation-execution-id "df325c6d-b1b1-4aa0-8003-6cb7338213c6" \ --signal-type "Deny" \ --payload "Comment=your comments"
    Windows
    aws ssm send-automation-signal ^ --automation-execution-id "df325c6d-b1b1-4aa0-8003-6cb7338213c6" ^ --signal-type "Deny" ^ --payload "Comment=your comments"
    PowerShell
    Send-SSMAutomationSignal ` -AutomationExecutionId df325c6d-b1b1-4aa0-8003-6cb7338213c6 ` -SignalType Deny ` -Payload @{"Comment"="your comments"}

    명령이 성공해도 출력은 없습니다.