Systems Manager Incident Manager 자동화 런북 사용 - Incident Manager

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

Systems Manager Incident Manager 자동화 런북 사용

AWS Systems Manager의 기능인 AWS Systems Manager Automation의 런북을 사용하여 AWS 클라우드 환경의 일반적인 애플리케이션 및 인프라 작업을 자동화할 수 있습니다.

각 런북은 런북 워크플로를 정의하며, 런북 워크플로는 Systems Manager가 관리형 노드 또는 기타 AWS 리소스 유형에서 수행하는 작업으로 구성됩니다. 런북을 사용하여 AWS 리소스의 유지 관리, 배포 및 문제 해결을 자동화할 수 있습니다.

Incident Manager에서는 런북이 인시던트 대응 및 완화를 주도하므로 대응 계획의 일부로 사용할 런북을 지정합니다.

대응 계획에서 일반적으로 자동화된 작업을 위해 미리 구성된 수십 개의 런북 중에서 선택하거나 사용자 지정 런북을 만들 수 있습니다. 대응 계획 정의에 런북을 지정하면 인시던트가 시작될 때 시스템에서 Runbook을 자동으로 시작할 수 있습니다.

중요

크로스 리전 장애 조치로 생성된 인시던트는 대응 계획에 지정된 런북을 호출하지 않습니다.

Systems Manager Automation, 런북 및 Incident Manager를 통한 런북 사용에 대한 자세한 내용은 다음 주제를 참조하세요.

런북 워크플로를 시작하고 실행하는 데 필요한 IAM 권한

Incident Manager에는 인시던트 대응의 일환으로 런북을 실행할 권한이 필요합니다. 이러한 권한을 제공하려면 AWS Identity and Access Management(IAM) 역할, 런북 서비스 역할자동화 AssumeRole을 사용합니다.

런북 서비스 역할은 필수 서비스 역할입니다. 이 역할은 Incident Manager에게 런북에 대한 워크플로에 액세스하고 시작하는 데 필요한 권한을 제공합니다.

자동화 AssumeRole은 런북에 지정된 개별 명령을 실행하는 데 필요한 권한을 제공합니다.

참고

AssumeRole을 지정하지 않으면 Systems Manager Automation은 개별 명령에 대해 런북 서비스 역할을 사용하려고 시도합니다. AssumeRole을 지정하지 않는 경우 런북 서비스 역할에 필요한 권한을 추가해야 합니다. 그렇지 않으면 런북이 해당 명령을 실행하지 못합니다.

하지만 최상의 보안을 위해 별도의 AssumeRole을 사용하는 것이 좋습니다. 별도의 AssumeRole을 사용하면 각 역할에 추가해야 하는 필수 권한을 제한할 수 있습니다.

자동화 AssumeRole에 대한 자세한 내용은 AWS Systems Manager 사용 설명서의 자동화를 위한 서비스 역할 (역할 수임) 액세스 구성을 참조하세요.

IAM 콘솔에서 두 가지 유형의 역할 중 하나를 직접 만들 수 있습니다. 대응 계획을 만들거나 업데이트할 때 Incident Manager에서 둘 중 하나를 대신 생성하도록 할 수도 있습니다.

런북 서비스 역할 권한

런북 서비스 역할 권한은 다음과 유사한 정책을 통해 제공됩니다.

첫 번째 명령문을 사용하면 Incident Manager가 Systems Manager StartAutomationExecution 작업을 시작할 수 있습니다. 그런 다음 이 작업은 세 가지 Amazon 리소스 이름(ARN) 형식으로 표시되는 리소스에 대해 실행됩니다.

두 번째 명령문은 해당 런북이 영향을 받는 계정에서 실행될 때 런북 서비스 역할이 다른 계정에서 역할을 맡도록 허용합니다. 자세한 내용은 AWS Systems Manager 사용 설명서여러 AWS 리전 및 계정에서 자동화 실행을 참조하세요.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ssm:StartAutomationExecution", "Resource": [ "arn:aws:ssm:*:{{DocumentAccountId}}:automation-definition/{{DocumentName}}:*", "arn:aws:ssm:*:{{DocumentAccountId}}:document/{{DocumentName}}:*", "arn:aws:ssm:*::automation-definition/{{DocumentName}}:*" ] }, { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::*:role/AWS-SystemsManager-AutomationExecutionRole", "Condition": { "StringEquals": { "aws:CalledViaLast": "ssm.amazonaws.com" } } } ] }
Automation AssumeRole 권한

대응 계획을 만들거나 업데이트할 때 여러 AWS 관리형 정책 중에서 선택하여 Incident Manager가 생성한 AssumeRole에 연결할 수 있습니다. 이러한 정책은 Incident Manager 런북 시나리오에서 사용되는 여러 가지 일반적인 작업을 실행할 수 있는 권한을 제공합니다. 이러한 관리형 정책 중 하나 이상을 선택하여 AssumeRole 정책에 대한 권한을 제공할 수 있습니다. 다음 표에는 Incident Manager 콘솔에서 AssumeRole을 생성할 때 선택할 수 있는 정책이 설명되어 있습니다.

AWS IAM 관리형 정책 이름 정책 설명
AmazonSSMAutomationRole Systems Manager Automation 서비스에 런북 내에 정의된 활동을 실행할 수 있는 권한을 부여합니다. 관리자 및 신뢰할 수 있는 고급 사용자에게 이 정책을 할당합니다.
AWSIncidentManagerResolverAccess

사용자에게 인시던트를 시작하고, 보고, 업데이트할 수 있는 권한을 부여합니다. 또한 이를 사용하여 인시던트 대시보드에서 고객 타임라인 이벤트 및 관련 항목을 만들 수 있습니다.

이러한 관리형 정책을 사용하여 여러 일반적인 인시던트 대응 시나리오에 대한 권한을 부여할 수 있습니다. 하지만 특정 작업에 필요한 권한은 다를 수 있습니다. 이러한 경우에는 사용자의 AssumeRole을 위한 추가 정책 권한을 제공해야 합니다. 자세한 내용은 AWS Systems Manager Automation 런북 참조를 참조하세요.

런북 파라미터 작업

대응 계획에 런북을 추가할 때 런북이 런타임에 사용해야 하는 파라미터를 지정할 수 있습니다. 대응 계획은 정적 값과 동적 값이 모두 있는 파라미터를 지원합니다. 정적 값의 경우 대응 계획에서 파라미터를 정의할 때 값을 입력합니다. 동적 값의 경우 시스템은 인시던트에서 정보를 수집하여 올바른 파라미터 값을 결정합니다. Incident Manager는 다음과 같은 동적 파라미터를 지원합니다.

Incident ARN

Incident Manager가 인시던트를 생성할 때 시스템은 해당 인시던트 레코드의 Amazon 리소스 이름(ARN)을 캡처하고 런북의 이 파라미터에 대해 입력합니다.

참고

이 값은 String 유형의 파라미터에만 할당할 수 있습니다. 다른 유형의 파라미터에 할당하면 런북이 실행되지 않습니다.

Involved resources

Incident Manager가 인시던트를 생성하면 시스템은 인시던트와 관련된 리소스의 ARN을 캡처합니다. 그런 다음 이러한 리소스 ARN은 런북의 이 파라미터에 할당됩니다.

관련 리소스 정보

Incident Manager는 CloudWatch 경보, EventBridge 이벤트 및 수동으로 생성한 인시던트에 지정된 AWS 리소스의 ARN으로 런북 파라미터 값을 채울 수 있습니다. 이 섹션에서는 Incident Manager가 이 파라미터를 채울 때 ARN을 캡처할 수 있는 다양한 유형의 리소스에 대해 설명합니다.

CloudWatch 경보

CloudWatch 경보 작업에서 인시던트가 생성되면 Incident Manager는 관련 지표에서 다음 유형의 리소스를 자동으로 추출합니다. 그런 다음 선택한 파라미터를 다음과 같은 관련 리소스로 채웁니다.

AWS 서비스 리소스 유형

Amazon DynamoDB

글로벌 보조 인덱스

스트림

테이블

Amazon EC2

이미지

인스턴스

AWS Lambda

함수 별칭

함수 버전

함수

Amazon Relational Database Service(RDS)

클러스터

데이터베이스 인스턴스

Amazon Simple Storage Service(S3)

버킷

EventBridge 규칙

시스템이 EventBridge 이벤트에서 인시던트를 생성하면 Incident Manager는 선택한 파라미터를 이벤트의 Resources 속성으로 채웁니다. 자세한 내용은 Amazon EventBridge 사용 설명서Amazon EventBridge 이벤트를 참조하세요.

수동으로 생성된 인시던트

StartIncient API 작업을 사용하여 인시던트를 생성하면 Incident Manager가 API 직접 호출의 정보를 사용하여 선택한 파라미터를 채웁니다. 특히, relatedItems 파라미터에 전달된 INVOLVED_RESOURCE 유형의 항목을 사용하여 파라미터를 채웁니다.

참고

INVOLVED_RESOURCES 값은 StringList 유형의 파라미터에만 할당할 수 있습니다. 다른 유형의 파라미터에 할당하면 런북이 실행되지 않습니다.

런북 정의

런북을 생성할 때 여기에 제공된 단계를 따르거나 Systems Manager 사용 설명서의 런북 작업 섹션에 제공된 자세한 안내서를 따를 수 있습니다. 다중 계정, 다중 리전 런북을 만드는 경우 Systems Manager 사용 설명서다중 AWS 리전 및 계정에서 자동화 실행을 참조하세요.

런북 정의
  1. https://console.aws.amazon.com/systems-manager/에서 시스템 관리자 콘솔을 엽니다.

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

  3. Create automation(자동화 생성)을 선택합니다.

  4. 고유하고 식별 가능한 런북 이름을 입력합니다.

  5. 작업에 대한 설명을 입력합니다.

  6. 자동화 문서가 수행할 IAM 역할을 제공합니다. 이렇게 하면 런북에서 명령을 자동으로 실행할 수 있습니다. 자세한 내용은 자동화 워크플로를 위한 서비스 역할 액세스 구성을 참조하세요.

  7. (선택 사항) 런북에서 시작하는 입력 파라미터를 모두 추가합니다. 런북을 시작할 때 동적 또는 정적 파라미터를 사용할 수 있습니다. 동적 파라미터는 런북이 시작된 인시던트의 값을 사용합니다. 정적 파라미터는 사용자가 제공한 값을 사용합니다.

  8. (선택 사항) 대상 유형을 추가합니다.

  9. (선택 사항) 태그를 추가합니다.

  10. 런북이 실행될 때 수행할 단계를 입력합니다. 각 단계에는 다음이 필요합니다.

    • 이름.

    • 단계의 용도에 대한 설명.

    • 단계 중에 실행할 작업. 런북은 일시 중지 작업 유형을 사용하여 수동 단계를 설명합니다.

    • (선택 사항) 명령 속성.

  11. 필요한 모든 런북 단계를 추가한 후 자동화 생성을 선택합니다.

크로스 계정 기능을 활성화하려면 관리 계정의 런북을 인시던트 중에 해당 런북을 사용하는 모든 애플리케이션 계정과 공유하십시오.

런북 공유
  1. https://console.aws.amazon.com/systems-manager/에서 시스템 관리자 콘솔을 엽니다.

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

  3. 문서 목록에서 공유하고자 하는 문서를 선택한 후 세부 정보 보기를 선택합니다. [권한(Permissions)] 탭에서 자신이 문서의 소유자인지 확인합니다. 문서 소유자만이 문서를 공유할 수 있습니다.

  4. 편집(Edit)을 선택합니다.

  5. 명령을 공개적으로 공유하려면 퍼블릭을 선택한 후, 저장을 선택합니다. 명령을 사적으로 공유하려면 [프라이빗(Private)]을 선택하고 AWS 계정 ID를 입력하고 [권한 추가(Add permission)]를 선택한 후 [저장(Save)]을 선택합니다.

Incident Manager 런북 템플릿

Incident Manager는 팀이 Systems Manager 자동화에서 런북 작성을 시작하는 데 도움이 되는 다음과 같은 런북 템플릿을 제공합니다. 이 템플릿을 그대로 사용하거나 애플리케이션 및 리소스에 대한 세부 정보를 포함하도록 편집할 수 있습니다.

Incident Manager 런북 템플릿을 찾아보세요.
  1. https://console.aws.amazon.com/systems-manager/에서 시스템 관리자 콘솔을 엽니다.

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

  3. 문서 영역에서 검색 필드에 AWSIncidents-를 입력하여 모든 Incident Manager 런북을 표시합니다.

    작은 정보

    문서 이름 접두사 필터 옵션을 사용하는 대신 AWSIncidents-를 자유 텍스트로 입력하십시오.

템플릿 사용
  1. https://console.aws.amazon.com/systems-manager/에서 시스템 관리자 콘솔을 엽니다.

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

  3. 문서 목록에서 업데이트하려는 템플릿을 선택합니다.

  4. 내용 탭을 선택한 다음 문서의 내용을 복사합니다.

  5. 탐색 창에서 Documents를 선택합니다.

  6. Create automation(자동화 생성)을 선택합니다.

  7. 고유하고 식별 가능한 이름을 입력합니다.

  8. 편집기 탭을 선택합니다.

  9. 편집(Edit)을 선택합니다.

  10. 복사한 세부 정보를 문서 편집기 영역에 붙여넣거나 입력합니다.

  11. Create automation(자동화 생성)을 선택합니다.

AWSIncidents-CriticalIncidentRunbookTemplate

AWSIncidents-CriticalIncidentRunbookTemplate은 Incident Manager 인시던트 라이프사이클을 수동 단계로 제공하는 템플릿입니다. 이러한 단계는 대부분의 애플리케이션에서 사용할 수 있을 정도로 일반적이지만 대응 담당자가 인시던트 해결을 시작할 수 있을 만큼 상세합니다.