변경 요청 생성 - AWS Systems Manager

변경 요청 생성

AWS Systems Manager의 기능인 Change Manager으로 변경 요청을 생성할 때 선택하는 변경 템플릿은 일반적으로 다음을 수행합니다.

  • 변경 요청에 대한 승인자를 지정하거나 필요한 승인 수를 지정합니다.

  • 승인자에게 변경 요청에 대해 알리는 데 사용할 Amazon Simple Notification Service(Amazon SNS) 주제를 지정합니다.

  • 변경 요청에 대한 실행서 워크플로를 모니터링하도록 Amazon CloudWatch 경보를 지정합니다.

  • 요청된 변경을 수행하기 위해 선택할 수 있는 Automation 실행서를 식별합니다.

경우에 따라 사용할 Automation 실행서를 지정하고 요청을 검토 및 승인해야 하는 사용자를 지정하도록 변경 템플릿을 구성할 수 있습니다.

중요

조직 전체에서 Change Manager를 사용하는 경우 항상 위임된 관리자 계정에서 변경하는 것이 좋습니다. 조직의 다른 계정에서 변경할 수 있지만 이러한 변경 사항은 위임된 관리자 계정에서 보고되거나 볼 수 없습니다.

변경 요청 승인 정보

변경 템플릿에 지정된 요구 사항에 따라 변경 요청을 생성하는 경우 요청에 대한 런북 워크플로가 발생하기 전에 최대 5단계의 승인이 필요할 수 있습니다. 이러한 각 수준에 대해 템플릿 작성자는 최대 5명의 잠재적 승인자를 지정할 수 있습니다. 승인자는 단일 사용자로 제한되지 않습니다. 이러한 의미에서 승인자는 IAM 그룹 또는 IAM 역할일 수도 있습니다. IAM 그룹 및 IAM 역할의 경우 그룹 또는 역할에 속한 한 명 이상의 사용자가 변경 요청에 필요한 총 승인 수를 받기 위한 승인을 제공할 수 있습니다. 템플릿 작성자는 변경 템플릿에 필요한 것보다 더 많은 승인자를 지정할 수도 있습니다.

원본 승인 워크플로 및 업데이트 및/또는 승인

2023년 1월 23일 이전에 작성된 변경 템플릿을 사용하여 해당 수준에서 변경 요청 승인을 받으려면 지정된 각 승인자로부터 승인을 받아야 합니다. 예를 들어, 다음 이미지에 표시된 승인 수준 설정에서 4명의 승인자가 지정되어 있습니다. 지정된 승인자에는 2명의 사용자(John Stiles 및 Ana Carolina Silva), 3명의 멤버로 구성된 사용자 그룹(GroupOfThree) 및 10명의 사용자를 나타내는 사용자 역할(RoleOfTen)이 포함됩니다.

4명의 필수 라인별 승인자를 보여주는 승인 수준.

이 수준에서 변경 요청이 승인되려면 John Stiles, Ana Carolina Silva, GroupOfThree 그룹의 멤버 1명 및 RoleOfTen 역할의 멤버 1명의 승인을 받아야 합니다.

템플릿 작성자는 2023년 1월 23일 이후에 생성된 변경 템플릿을 사용하여 각 승인 수준에 대해 전체 필수 승인 수를 지정할 수 있습니다. 승인자로 지정된 임의의 사용자, 그룹 및 역할 조합으로부터 이러한 승인을 받을 수 있습니다. 변경 템플릿은 한 수준에 대해 단 하나의 승인만 필요로 할 수 있지만, 2명의 개별 사용자, 2개의 그룹 및 1개의 역할 등을 잠재적 승인자로 지정할 수 있습니다.

예를 들어, 다음 이미지에 표시된 승인 수준 영역에서는 3건의 승인이 필요합니다. 템플릿 지정 승인자에는 2명의 사용자(John Stiles 및 Ana Carolina Silva), 3명의 멤버로 구성된 사용자 그룹(GroupOfThree) 및 10명의 사용자를 나타내는 사용자 역할(RoleOfTen)이 포함됩니다.

3건의 승인 필요 및 4명의 지정된 승인자를 보여주는 승인 수준.

GroupOfThree 그룹의 세 사용자 모두 변경 요청을 승인하면 해당 수준에 대해 승인됩니다. 각 사용자, 그룹 또는 역할에서 승인을 받을 필요는 없습니다. 임의의 잠재적 승인자 조합으로부터 최소 수의 승인을 받을 수 있습니다.

변경 요청이 생성되면 해당 수준에서 승인 알림에 대해 지정된 Amazon SNS 주제의 구독자에게 알림이 전송됩니다. 변경 템플릿 작성자가 사용해야 하는 알림 주제를 지정했거나 사용자가 지정하도록 허용했을 수 있습니다.

한 수준에서 필요한 최소 승인 수가 수신되면 다음 수준에 대한 Amazon SNS 주제를 구독하는 승인자에게 알림이 전송됩니다.

지정된 승인 수준 및 승인자 수에 관계없이 해당 요청에 대한 런북 워크플로가 발생하지 않도록 하려면 변경 요청에 대한 거부가 한 번만 필요합니다.

변경 요청 생성(콘솔)

다음 절차에서는 Systems Manager 콘솔을 사용하여 변경 요청을 생성하는 방법을 설명합니다.

변경 요청을 생성하려면(콘솔)
  1. AWS Systems Manager 콘솔(https://console.aws.amazon.com/systems-manager/)을 엽니다.

  2. 탐색 창에서 Change Manager를 선택합니다.

  3. [요청 생성(Create request)]을 선택합니다.

  4. 이 변경 요청에 사용할 변경 템플릿을 검색하고 선택합니다.

  5. Next(다음)를 선택합니다.

  6. [이름(Name)]에 용도를 쉽게 식별할 수 있도록 변경 요청의 이름을 입력합니다(예: UpdateEC2LinuxAMI-us-east-2).

  7. [실행서(Runbook)]에서 요청된 변경을 수행하는 데 사용할 실행서를 선택합니다.

    참고

    실행서를 선택하는 옵션을 사용할 수 없는 경우 변경 템플릿 작성자가 사용해야 하는 실행서를 지정한 것입니다.

  8. [변경 요청 정보(Change request information)]에서 검토자가 변경 요청을 승인할지 거부할지 결정하는 데 도움이 되도록 Markdown을 사용하여 변경 요청에 대한 추가 정보를 제공합니다. 사용 중인 템플릿의 작성자가 답변할 지침이나 질문을 제공했을 수 있습니다.

    참고

    Markdown은 문서와 문서 내의 개별 단계에 wiki 스타일의 설명을 추가할 수 있는 마크업 언어입니다. Markdown 사용에 대한 자세한 내용은 AWS에서 Markdown 사용을 참조하세요.

  9. [워크플로 시작 시간(Workflow start time)] 섹션에서 다음 중 하나를 선택합니다.

    • [예약된 시간에 작업 실행(Run the operation at a scheduled time)] - [요청된 시작 시간(Requested start time)]에 이 요청에 대한 실행서 워크플로 실행을 위한 제안 날짜와 시간을 입력합니다. [예상 종료 시간(Estimated end time)]에 실행서 워크플로가 완료될 것으로 예상되는 날짜와 시간을 입력합니다. (이 시간은 검토자에게 제공하는 추정치일 뿐입니다.)

      작은 정보

      [변경 일정 보기(View Change Calendar)]를 선택하여 지정한 시간에 차단 이벤트가 있는지 확인합니다.

    • [승인 후 최대한 빨리 작업 실행(Run the operation as soon as possible after approval)] – 변경 요청이 승인되면 변경을 수행할 수 있는 무제한 기간이 되는 즉시 실행서 워크플로가 실행됩니다.

  10. [변경 요청 승인(Change request approvals)] 섹션에서 다음을 수행합니다.

    1. [승인 유형(Approval type)] 옵션이 표시되면 다음 중 하나를 선택합니다.

      • [자동 승인(Automatic approval)] – 선택한 변경 템플릿이 승인자의 검토 없이 변경 요청이 자동으로 실행되도록 구성되었습니다. 계속해서 11단계를 진행합니다.

        참고

        Systems Manager 사용을 제어하는 IAM 정책에 지정된 권한이 자동 승인 변경 요청 제출을 제한하지 않아야 요청이 자동으로 실행됩니다.

      • [승인자 지정(Specify approvers)] - 이 변경 요청을 검토하고 승인하려면 하나 이상의 사용자, 그룹 또는 IAM 역할을 추가해야 합니다.

        참고

        Systems Manager 사용을 제어하는 IAM 정책에 지정된 권한으로 자동 승인 변경 요청을 실행할 수 있는 경우에도 검토자를 지정하도록 선택할 수 있습니다.

    2. [승인자 추가(Add approver)]를 선택한 다음 사용 가능한 검토자 목록에서 하나 이상의 사용자, 그룹 또는 AWS Identity and Access Management(IAM) 역할을 선택합니다.

      참고

      하나 이상의 승인자가 이미 지정되었을 수 있습니다. 즉, 선택한 변경 템플릿에 필수 승인자가 이미 지정되어 있습니다. 요청에서 이러한 승인자를 제거할 수 없습니다. 승인자 추가 버튼을 사용할 수 없으면 선택한 템플릿에서 요청에 검토자 추가를 허용하지 않는 것입니다.

      변경 요청 승인에 대한 자세한 내용은 변경 요청 승인 정보 섹션을 참조하세요.

    3. [승인자에게 알릴 SNS 주제(SNS topic to notify approvers)]에서 다음 중 하나를 선택하여 이 변경 요청에 추가하려는 승인자에게 알림을 보내는 데 사용할 계정의 Amazon SNS 주제를 지정합니다.

      참고

      Amazon SNS 주제를 지정하는 옵션을 사용할 수 없는 경우 선택한 변경 템플릿이 사용할 Amazon SNS 주제를 이미 지정하고 있는 것입니다.

      • [SNS Amazon 리소스 이름(ARN) 입력(Enter an SNS Amazon Resource Name (ARN))] - [주제 ARN(Topic ARN)]에 기존 Amazon SNS 주제의 ARN을 입력합니다. 이 주제는 조직의 모든 계정에 있을 수 있습니다.

      • [기존 SNS 주제 선택(Select an existing SNS topic)] - [대상 알림 주제(Target notification topic)]에서 현재 계정의 기존 Amazon SNS 주제의 ARN을 선택합니다. (현재 AWS 계정 및 AWS 리전에서 Amazon SNS 주제를 아직 생성하지 않은 경우 이 옵션을 사용할 수 없습니다.)

      참고

      선택한 Amazon SNS 주제는 전송되는 알림과 알림이 전송되는 구독자를 지정하도록 구성되어야 합니다. Change Manager에서 알림을 보낼 수 있도록 액세스 정책도 Systems Manager에 권한을 부여해야 합니다. 자세한 내용은 Change Manager 알림에 대한 Amazon SNS 주제 구성 섹션을 참조하세요.

    4. 알림 추가를 선택합니다.

  11. Next(다음)를 선택합니다.

  12. [IAM 역할(IAM role)]에서 이 변경 요청에 대해 지정된 실행서를 을 실행하는 데 필요한 권한이 있는 현재 계정의 IAM 역할을 선택합니다.

    이 역할을 Automation의 서비스 역할 또는 수임 역할이라고도 합니다. 이에 대한 자세한 내용은 Automation 설정 섹션을 참조하세요.

  13. [배포 위치(Deployment location)] 섹션에서 다음 중 하나를 선택합니다.

    참고

    Change Manager를 단일 AWS 계정에만 사용하고 AWS Organizations에 설정된 조직에는 사용하지 않는 경우 배포 위치를 지정할 필요가 없습니다.

    • [이 계정에 변경 사항 적용(Apply change to this account)] - 실행서 워크플로가 현재 계정에서만 실행됩니다. 조직의 경우 이는 위임된 관리자 계정을 의미합니다.

    • [여러 조직 단위(OU) 에 변경 사항 적용(Apply change to multiple organizational units (OUs))] - 다음을 수행합니다.

      1. [계정 및 조직 단위(OU)(Accounts and organizational units (OUs))]에 조직의 멤버 계정 ID를 123456789012 형식으로 입력하거나 조직 단위의 ID를 o-o96EXAMPLE 형식으로 입력합니다.

      2. (옵션) [실행 역할 이름(Execution role name)]에 이 변경 요청에 대해 지정된 실행서를 실행하는 데 필요한 권한이 있는 대상 계정 또는 OU의 IAM 역할 이름을 입력합니다. 지정하는 OU의 모든 계정이 이 역할에 대해 동일한 이름을 사용해야 합니다.

      3. (옵션) 지정하려는 각 추가 계정 또는 OU에 대해 [다른 대상 위치 추가(Add another target location)]를 선택하고 단계 a와 b를 반복합니다.

      4. 대상 AWS 리전에서 변경할 리전을 선택합니다. 예를 들어 미국 동부(오하이오) 리전의 경우 Ohio (us-east-2)을 선택합니다.

      5. [속도 제어(Rate control)]를 확장합니다.

        [동시성(Concurrency)]에서 숫자를 입력한 다음 목록에서 이것이 실행서 워크플로를 동시에 실행할 수 있는 계정의 수를 나타내는지 아니면 백분율을 나타내는지 선택합니다.

        [오류 임계값(Error threshold)]에 숫자를 입력한 다음 목록에서 이것이 작업이 중지되기 전에 실행서 워크플로가 실패할 수 있는 계정의 수를 나타내는지 아니면 백분율을 나타내는지 선택합니다.

  14. [배포 대상(Deployment targets)] 섹션에서 다음을 수행합니다.

    1. 다음 중 하나를 선택합니다.

      • [단일 리소스(Single resource)] - 한 리소스에 대해서만 변경이 수행됩니다. 예를 들어 이 변경 요청에 대한 런북에 정의된 작업에 따라 단일 노드 또는 단일 Amazon Machine Image(AMI)입니다.

      • [여러 리소스(Multiple resources)] - [파라미터(Parameter)]에서 이 변경 요청에 대한 실행서에서 사용 가능한 파라미터 중에서 선택합니다. 이 선택은 업데이트 중인 리소스의 유형을 반영합니다.

        예를 들어 이 변경 요청에 대한 실행서가 AWS-RetartEC2Instance이면 InstanceId를 선택한 후 다음 중에서 선택하여 업데이트할 인스턴스를 정의할 수 있습니다.

        • [태그 지정(Specify tags)] - 업데이트할 모든 리소스에 태그가 지정되는 키-값 페어를 입력합니다.

        • [리소스 그룹 선택(Choose a resource group)] - 업데이트할 모든 리소스가 속한 리소스 그룹의 이름을 선택합니다.

        • [파라미터 값 지정(Specify parameter values)] - [실행서 파라미터(Runbook parameters)] 섹션에서 업데이트할 리소스를 식별합니다.

        • 모든 인스턴스 대상(Target all instances) - 대상 위치의 모든 관리형 노드를 변경합니다.

    2. [여러 리소스(Multiple resources)]를 선택한 경우 [속도 제어(Rate control)]를 확장합니다.

      [동시성(Concurrency)]에서 숫자를 입력한 다음 목록에서 이것이 실행서 워크플로가 동시에 업데이트할 수 있는 대상의 수를 나타내는지 아니면 백분율을 나타내는지 선택합니다.

      [오류 임계값(Error threshold)]에 숫자를 입력한 다음 목록에서 이것이 작업이 중지되기 전에 업데이트가 실패할 수 있는 대상의 수를 나타내는지 아니면 백분율을 나타내는지 선택합니다.

  15. 이전 단계에서 여러 리소스를 업데이트하기 위해 [파라미터 값 지정(Specify parameter values)]을 선택한 경우 [실행서 파라미터(Runbook parameters)] 섹션에서 필수 입력 파라미터의 값을 지정합니다. 제공해야 하는 파라미터 값은 선택한 변경 템플릿과 연결된 Automation 실행서의 내용을 기반으로 합니다.

    예를 들어 변경 템플릿이 AWS-RetartEC2Instance 실행서를 사용하는 경우 InstanceId 파라미터에 대해 하나 이상의 인스턴스 ID를 입력해야 합니다. 또는 [대화형 인스턴스 선택기 표시(Show interactive instance picker)]를 선택하고 사용 가능한 인스턴스를 하나씩 선택합니다.

  16. Next(다음)를 선택합니다.

  17. [검토 후 제출(Review and submit)] 페이지에서 이 변경 요청에 대해 지정한 리소스와 옵션을 다시 확인합니다.

    변경하려는 섹션에 대해 [편집(Edit)] 버튼을 선택합니다.

    변경 요청 세부 정보에 만족하면 [승인을 위해 제출(Submit for approval)]을 선택합니다.

요청에 대해 선택한 변경 템플릿에 Amazon SNS 주제가 지정된 경우 요청이 거부되거나 승인되면 알림이 전송됩니다. 요청에 대한 알림을 받지 못한 경우 Change Manager로 돌아가 요청 상태를 확인할 수 있습니다.

변경 요청 생성(AWS CLI)

AWS Command Line Interface(AWS CLI)를 사용하여 JSON 파일에 변경 요청에 대한 옵션 및 파라미터를 지정하고, 이를 명령에 포함시키는 --cli-input-json 옵션을 사용하여 변경 요청을 생성할 수 있습니다.

변경 요청을 생성하려면(AWS CLI)
  1. 아직 하지 않은 경우 AWS CLI 또는 AWS Tools for PowerShell을 설치하고 구성합니다.

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

  2. 로컬 시스템에서 MyChangeRequest.json이라는 JSON 파일을 생성한 다음 이 파일에 다음 내용을 붙여넣습니다.

    자리 표시자를 변경 요청에 대한 값으로 바꿉니다.

    참고

    이 샘플 JSON은 AWS-HelloWorldChangeTemplate 변경 요청 및 AWS-HelloWorld 실행서를 사용하여 변경 요청을 생성합니다. 이 샘플을 본인의 변경 요청에 맞게 조정하려면 AWS Systems Manager API 참조의 StartChangeRequestExecution에서 사용 가능한 모든 파라미터에 대한 정보를 참조하세요.

    변경 요청 승인에 대한 자세한 내용은 변경 요청 승인 정보 섹션을 참조하세요.

    { "ChangeRequestName": "MyChangeRequest", "DocumentName": "AWS-HelloWorldChangeTemplate", "DocumentVersion": "$DEFAULT", "ScheduledTime": "2021-12-30T03:00:00", "ScheduledEndTime": "2021-12-30T03:05:00", "Tags": [ { "Key": "Purpose", "Value": "Testing" } ], "Parameters": { "Approver": [ "JohnDoe" ], "ApproverType": [ "IamUser" ], "ApproverSnsTopicArn": [ "arn:aws:sns:us-east-2:123456789012:MyNotificationTopic" ] }, "Runbooks": [ { "DocumentName": "AWS-HelloWorld", "DocumentVersion": "1", "MaxConcurrency": "1", "MaxErrors": "1", "Parameters": { "AutomationAssumeRole": [ "arn:aws:iam::123456789012:role/MyChangeManagerAssumeRole" ] } } ], "ChangeDetails": "### Document Name: HelloWorldChangeTemplate\n\n## What does this document do?\nThis change template demonstrates the feature set available for creating change templates for Change Manager. This template starts a Runbook workflow for the Automation document called AWS-HelloWorld.\n\n## Input Parameters\n* ApproverSnsTopicArn: (Required) Amazon Simple Notification Service ARN for approvers.\n* Approver: (Required) The name of the approver to send this request to.\n* ApproverType: (Required) The type of reviewer.\n * Allowed Values: IamUser, IamGroup, IamRole, SSOGroup, SSOUser\n\n## Output Parameters\nThis document has no outputs \n" }
  3. JSON 파일을 생성한 디렉터리에서 다음 명령을 실행합니다.

    aws ssm start-change-request-execution --cli-input-json file://MyChangeRequest.json

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

    {
        "AutomationExecutionId": "b3c1357a-5756-4839-8617-2d2a4EXAMPLE"
    }