다음 절차에서는 AWS Systems Manager 콘솔 또는 AWS Command Line Interface(AWS CLI)를 사용하여 Run Command 태스크를 유지 관리 기간에 등록하는 방법을 보여줍니다. Run Command는 AWS Systems Manager의 도구입니다. 이 절차에서는 상태 알림을 반환하도록 Run Command 작업을 구성하는 방법에 대해서도 설명합니다.
시작하기 전 준비 사항
유지 관리 기간을 생성하거나 대상을 등록하지 않은 경우, 콘솔을 사용하여 유지 관리 기간 생성 또는 선택에서 유지 관리 기간을 생성하고 대상을 등록하는 방법에 대한 단계를 참조하십시오.
Amazon Simple Notification Service(Amazon SNS) 서비스에서 알림을 수신하려면 등록된 태스크에 지정된 Maintenance Windows 서비스 역할에 iam:PassRole
정책을 연결합니다. Maintenance Windows 서비스 역할에 iam:PassRole
권한을 추가하지 않은 경우 작업 5: 유지 관리 기간 역할에 iam:PassRole 정책 연결 섹션을 참조하세요.
알림을 반환하는 유지 관리 기간에 Run Command 작업 등록(콘솔)
Systems Manager 콘솔을 사용하여 유지 관리 기간에 상태 알림을 반환하도록 구성된 Run Command 태스크를 등록하려면 다음 절차를 사용합니다.
알림을 반환하는 유지 관리 기간에 Run Command 작업을 등록하려면(콘솔)
AWS Systems Manager 콘솔(https://console.aws.amazon.com/systems-manager/
)을 엽니다. 탐색 창에서 Maintenance Windows를 선택합니다.
-
Amazon Simple Notification Service(Amazon SNS) 알림을 보내도록 구성된 Run Command 태스크를 등록할 유지 관리 기간을 선택합니다.
-
[작업(Actions)], [Run command 태스크 등록(Register Run command task)]을 차례로 선택합니다.
-
(옵션) [이름(Name)] 필드에 태스크의 이름을 입력합니다.
-
(옵션) [설명(Description)]에 설명을 입력합니다.
-
명령 문서(Command document)에서 명령 문서를 선택합니다.
-
작업 우선순위에서 이 작업의 우선순위를 지정합니다. 가장 높은 우선순위는
0
입니다. Maintenance Window의 작업은 우선순위에 따라 예약됩니다. 우선순위가 같은 작업은 동시에 일정이 수립됩니다. -
[대상(Targets)] 섹션에서 등록된 대상 그룹을 선택하거나 등록되지 않은 대상을 선택합니다.
Rate control(속도 제어)에서
-
Concurrency(동시성)에서 명령을 동시에 실행할 관리형 노드의 백분율 또는 개수를 지정합니다.
참고
관리형 노드에 적용할 태그를 지정하거나, AWS 리소스 그룹을 지정하여 대상을 선택하였지만 대상으로 지정할 관리형 노드 수를 잘 모를 경우에는 백분율을 지정하여 동시에 문서를 실행할 수 있는 대상 수를 제한합니다.
-
Error threshold(오류 임계값)에서, 명령이 노드의 개수 또는 백분율에서 실패한 후 다른 관리형 노드에서 해당 명령의 실행을 중지할 시간을 지정합니다. 예를 들어 세 오류를 지정하면 네 번째 오류를 받았을 때 Systems Manager가 명령 전송을 중지합니다. 여전히 명령을 처리 중인 관리형 노드도 오류를 전송할 수 있습니다.
-
-
[IAM 서비스 역할(IAM service role)] 영역에서 SNS 역할에 대한
iam:PassRole
권한이 있는 Maintenance Windows 서비스 역할을 선택합니다.참고
Systems Manager가 SNS 역할을 Amazon SNS에 전달할 수 있도록 Maintenance Windows 역할에
iam:PassRole
권한을 추가합니다.iam:PassRole
권한을 추가하지 않은 경우에는 Amazon SNS 알림을 사용하여 Systems Manager 상태 변경 모니터링 주제의 작업 5를 참조하십시오. (선택 사항) 출력 옵션에서 명령 출력을 파일에 저장하려면 S3 버킷에 쓰기 활성화 옆의 상자를 선택합니다. 상자에 버킷 및 접두사(폴더) 이름을 입력합니다.
참고
데이터를 S3 버킷에 쓰는 기능을 부여하는 S3 권한은 이 작업을 수행하는 IAM 사용자의 권한이 아닌 관리형 노드에 할당된 인스턴스 프로파일의 권한입니다. 자세한 내용은 Systems Manager에 필요한 인스턴스 권한 구성이나 하이브리드 환경을 위한 IAM 서비스 역할 생성을 참조하세요. 또한 지정된 S3 버킷이 다른 AWS 계정에 있는 경우 관리형 노드와 연결된 인스턴스 프로파일 또는 IAM 서비스 역할은 해당 버킷에 쓸 수 있는 권한이 있어야 합니다.
-
[SNS 알림(SNS notifications)] 섹션에서 다음을 수행합니다.
-
[SNS 알림 선택(Enable SNS Notifications)]을 선택합니다.
-
[IAM 역할(IAM role)]에서 Amazon SNS 알림을 사용하여 Systems Manager 상태 변경 모니터링의 태스크 3에서 생성한 Amazon SNS IAM 역할 Amazon 리소스 이름(ARN)을 선택하여 Amazon SNS를 시작합니다.
-
[SNS 주제(SNS topic)]에 사용할 Amazon SNS 주제 ARN을 입력합니다.
-
[이벤트 유형(Event type)] 섹션에서 알림을 받을 이벤트를 선택합니다.
-
알림 유형(Notification type)에서 여러 노드로 보낸 명령의 각 사본(호출)에 대해 알림을 받을 것인지 아니면 명령 요약에 대해 알림을 받을 것인지 선택합니다.
-
-
[파라미터(Parameters)] 섹션에 선택한 Command 문서를 기반으로 필요한 파라미터를 입력합니다.
-
[Run command 태스크 등록(Register Run command task)]을 선택합니다.
-
다음에 유지 관리 기간이 실행되면 이메일에서 Amazon SNS의 메시지를 확인하고 이메일 메시지를 엽니다. Amazon SNS에서 이메일 메시지를 보내는 데 몇 분 정도 걸릴 수 있습니다.
알림을 반환하는 유지 관리 기간에 Run Command 작업 등록(CLI)
AWS CLI를 사용하여 유지 관리 기간에 상태 알림을 반환하도록 구성된 Run Command 작업을 등록하려면 다음 절차를 사용하십시오.
알림을 반환하는 유지 관리 기간으로 Run Command 작업을 등록하려면(CLI)
참고
이 절차는 작업 옵션을 보다 잘 관리하기 위해 --cli-input-json
명령 옵션을 사용하며 옵션 값은 JSON 파일에 저장됩니다.
-
로컬 시스템에
RunCommandTask.json
이라는 파일을 생성하십시오. -
다음 내용을 파일에 붙여 넣습니다.
{ "Name": "
Name
", "Description": "Description
", "WindowId": "mw-0c50858d01EXAMPLE
", "ServiceRoleArn": "arn:aws:iam::account-id
:role/MaintenanceWindowIAMRole
", "MaxConcurrency": "1
", "MaxErrors": "1
", "Priority":3
, "Targets": [ { "Key": "WindowTargetIds", "Values": [ "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE
" ] } ], "TaskType": "RUN_COMMAND", "TaskArn": "CommandDocumentName
", "TaskInvocationParameters": { "RunCommand": { "Comment": "Comment
", "TimeoutSeconds":3600
, "NotificationConfig": { "NotificationArn": "arn:aws:sns:region
:account-id
:SNSTopicName
", "NotificationEvents": [ "All
" ], "NotificationType": "Command
" }, "ServiceRoleArn": "arn:aws:iam::account-id
:role/SNSIAMRole
" } } } -
예제 값을 고유한 리소스에 대한 정보로 바꾸십시오.
이 예제에서 생략한 옵션을 사용하려는 경우 복원할 수도 있습니다. 예를 들어 명령 출력을 S3 버킷에 저장할 수 있습니다.
자세한 정보는 AWS CLI 명령 참조의 register-task-with-maintenance-window 섹션을 참조하세요.
-
파일을 저장합니다.
-
파일을 저장한 로컬 시스템 디렉터리에서 다음 명령을 실행합니다.
aws ssm register-task-with-maintenance-window --cli-input-json file://RunCommandTask.json
중요
파일 이름 앞에
file://
를 포함해야 합니다. 이 명령에 필수적입니다.명령이 제대로 실행되면 다음과 비슷한 정보를 반환합니다.
{ "WindowTaskId": "j2l8d5b5c-mw66-tk4d-r3g9-1d4d1EXAMPLE" }
-
유지 관리 기간의 다음 실행 후 이메일에서 Amazon SNS의 메시지를 확인하고 이메일 메시지를 엽니다. Amazon SNS에서 이메일 메시지를 보내는 데 몇 분 정도 걸릴 수 있습니다.
명령줄에서 유지 관리 기간에 태스크 등록에 대한 자세한 내용은 유지 관리 기간에 태스크 등록을 참조하세요.