유지 관리 기간 문제 해결 - AWS Systems Manager

유지 관리 기간 문제 해결

다음 정보를 사용하면 유지 관리 기간 관련 문제를 해결하는 데 도움이 됩니다.

태스크 편집 오류: 유지 관리 기간 태스크 편집 페이지에서 IAM 역할 목록이 다음 오류 메시지를 반환합니다. "이 태스크에 지정된 IAM 유지 관리 기간 역할을 찾을 수 없습니다. 삭제되었거나 아직 생성되지 않았을 수 있습니다."

문제 1: 태스크 생성 후 원래 지정한 AWS Identity and Access Management(IAM) 유지 관리 기간 역할이 삭제되었습니다.

수정 방법: 1) 계정에 IAM 유지 관리 기간 역할이 하나 있으면 다른 해당 역할을 선택합니다. 아니면 새로 생성하고 작업을 위해 해당 역할을 선택합니다.

문제 2: AWS Command Line Interface(AWS CLI), AWS Tools for Windows PowerShell 또는 AWS SDK를 사용하여 태스크가 생성된 경우 존재하지 않는 IAM 유지 관리 기간 역할 이름이 지정되었을 수 있습니다. 예를 들어 태스크 생성 전에 IAM 유지 관리 기간 역할이 삭제되었거나, 역할 이름이 my-role 대신 myrole로 잘못 입력되었을 수 있습니다.

수정 방법: 사용할 IAM 유지 관리 기간 역할의 올바른 이름을 선택하거나, 새로 하나 생성하여 작업에 지정합니다.

모든 유지 관리 기간 대상이 업데이트되지는 않습니다.

문제: 유지 관리 기간의 대상이 되는 모든 리소스에서 유지 관리 기간 태스크가 실행되지 않았습니다. 예를 들어, 유지 관리 기간 실행 결과에서 해당 리소스에 대한 태스크가 실패 또는 시간 초과로 표시됩니다.

해결 방법: 대상 리소스에서 유지 관리 기간 태스크가 실행되지 않는 가장 일반적인 이유는 연결 및 가용성과 관련이 있습니다. 예:

  • Systems Manager에서 유지 관리 기간 작업 전이나 중에 리소스에 대한 연결이 끊어졌습니다.

  • 유지 관리 기간 동안 리소스가 오프라인 상태이거나 중지되었습니다.

리소스에 대한 태스크를 실행하기 위해 예약된 다음 유지 관리 기간을 기다릴 수 있습니다. 사용할 수 없거나 오프라인 상태였던 리소스에 대해 유지 관리 기간 태스크를 수동으로 실행할 수 있습니다.

태스크 호출 상태가 “제공된 역할에 올바른 SSM 권한이 없습니다(The provided role does not contain the correct SSM permissions).”와 함께 태스크가 실패합니다.

문제: 태스크에 대한 유지 관리 기간 서비스 역할을 지정했지만 태스크가 성공적으로 실행되지 않으며, 태스크 호출 상태가 “제공된 역할에 올바른 SSM 권한이 없습니다(The provided role does not contain the correct SSM permissions).”라고 보고됩니다.

  • 해결 방법: 작업 1: 사용자 지정 유지 관리 기간 서비스 역할에 대한 정책 생성에서 사용자 지정 유지 관리 기간 서비스 역할에 연결할 수 있는 기본 정책을 제공합니다. 해당 정책에는 많은 태스크 시나리오에 필요한 권한이 포함되어 있습니다. 그러나 실행할 수 있는 태스크가 매우 다양하기 때문에 유지 관리 기간 역할에 대한 정책에서 추가 권한을 제공해야 할 수 있습니다.

    예를 들어 일부 자동화 작업은 AWS CloudFormation 스택과 함께 작동합니다. 따라서 유지 관리 기간 서비스 역할에 대한 정책에 추가 권한으로 cloudformation:CreateStack, cloudformation:DescribeStacks, 및 cloudformation:DeleteStack을 추가해야 할 수 있습니다.

    다른 예를 들어 Automation 실행서 AWS-CopySnapshot의 경우 Amazon Elastic Block Store(Amazon EBS) 스냅샷을 생성할 수 있는 권한이 필요합니다. 따라서 ec2:CreateSnapshot 권한을 추가해야 할 수 있습니다.

    AWS 관리형 Automation 런북을 사용하는 데 필요한 역할 권한에 대한 자세한 내용은 AWS Systems Manager Automation 런북 참조의 런북 설명을 참조하세요.

    AWS 관리형 SSM 문서에 따라 요구되는 역할 권한에 대한 자세한 내용은 Systems Manager 콘솔의 문서 섹션에서 문서 콘텐츠를 참조하세요.

    Step Functions 태스크, Lambda 태스크, 사용자 지정 Automation 런북 및 SSM 문서에 따라 요구되는 역할 권한에 대한 자세한 내용은 해당 리소스 작성자에게 문의하여 권한 요구 사항을 확인하세요.

“단계 입력 검증 및 확인 시 단계 실패(Step fails when it is validating and resolving the step inputs)”라는 오류 메시지와 함께 태스크가 실패합니다.

문제: 태스크에서 사용 중인 Automation 실행서 또는 Systems Manager Command 문서에 InstanceId 또는 SnapshotId와 같은 입력을 지정해야 하지만 값이 제공되지 않거나 제대로 제공되지 않습니다.

  • 해결 방법 1: 태스크가 단일 노드 또는 단일 스냅샷과 같은 단일 리소스를 대상으로 하는 경우 태스크의 입력 파라미터에 해당 ID를 입력합니다.

  • 해결 방법 2: 실행서 AWS-CreateImage를 사용할 때 여러 노드에서 이미지를 만드는 등 태스크가 여러 리소스를 대상으로 하는 경우 유지 관리 기간 태스크에 지원되는 의사 파라미터 중 하나를 입력 파라미터에 사용하여 명령에서 노드 ID를 지정할 수 있습니다.

    다음 명령은 AWS CLI를 사용하여 유지 관리 기간에 Systems Manager Automation 태스크를 등록합니다. --targets 값은 유지 관리 기간 대상 ID를 나타냅니다. 또한 --targets 파라미터가 기간 대상 ID를 지정하더라도 Automation 실행서의 파라미터는 노드 ID를 제공해야 합니다. 이 경우 명령은 의사 파라미터 {{RESOURCE_ID}}InstanceId 값으로 사용합니다.

    AWS CLI 명령:

    Linux & macOS

    다음 예제의 명령은 ID가 e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE인 유지 관리 기간 대상 그룹에 속한 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스를 다시 시작합니다.

    aws ssm register-task-with-maintenance-window \ --window-id "mw-0c50858d01EXAMPLE" \ --targets Key=WindowTargetIds,Values=e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE \ --task-arn "AWS-RestartEC2Instance" \ --service-role-arn arn:aws:iam::123456789012:role/MyMaintenanceWindowServiceRole \ --task-type AUTOMATION \ --task-invocation-parameters "Automation={DocumentVersion=5,Parameters={InstanceId='{{RESOURCE_ID}}'}}" \ --priority 0 --max-concurrency 10 --max-errors 5 --name "My-Restart-EC2-Instances-Automation-Task" \ --description "Automation task to restart EC2 instances"
    Windows
    aws ssm register-task-with-maintenance-window ^ --window-id "mw-0c50858d01EXAMPLE" ^ --targets Key=WindowTargetIds,Values=e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE ^ --task-arn "AWS-RestartEC2Instance" ^ --service-role-arn arn:aws:iam::123456789012:role/MyMaintenanceWindowServiceRole ^ --task-type AUTOMATION ^ --task-invocation-parameters "Automation={DocumentVersion=5,Parameters={InstanceId='{{RESOURCE_ID}}'}}" ^ --priority 0 --max-concurrency 10 --max-errors 5 --name "My-Restart-EC2-Instances-Automation-Task" ^ --description "Automation task to restart EC2 instances"

    유지 관리 기간 태스크를 위한 의사 파라미터 작업에 대한 자세한 내용은 유지 관리 기간 작업 등록 시 의사 파라미터 사용작업 등록 예제 섹션을 참조하세요.

오류 메시지: “대상이 없는 유지 관리 기간 태스크는 MaxConcurrency 값을 지원하지 않음(Maintenance window tasks without targets don't support MaxConcurrency values)” 및 “대상이 없는 유지 관리 기간 태스크는 MaxErrors 값을 지원하지 않음(Maintenance window tasks without targets don't support MaxErrors values)”

문제: Run Command 유형 태스크를 등록할 때 태스크를 실행할 대상을 하나 이상 지정해야 합니다. 다른 태스크 유형(Automation, AWS Lambda 및 AWS Step Functions)의 경우 태스크의 특성에 따라 대상은 옵션입니다. 옵션 MaxConcurrency(태스크를 동시에 실행할 리소스 수) 및 MaxErrors(태스크가 실패하기 전에 대상 리소스에서 태스크 실행 실패 횟수)는 대상을 지정하지 않는 유지 관리 기간 태스크에 필요하지 않거나 지원되지 않습니다. 태스크 대상이 지정되지 않은 경우 이러한 옵션 중 하나에 값이 지정된 경우 시스템에서 이러한 오류 메시지를 생성합니다.

해결 방법: 이러한 오류 중 하나가 발생하면 유지 관리 기간 태스크를 계속 등록하거나 업데이트하기 전에 동시성 및 오류 임계값에 대한 값을 제거합니다.

대상을 지정하지 않는 태스크 실행에 대한 자세한 내용은 AWS Systems Manager 사용 설명서대상 없이 유지 관리 기간 태스크 등록 섹션을 참조하세요.