연습: SSM Agent를 자동으로 업데이트할 유지 관리 기간 생성(콘솔) - AWS Systems Manager

연습: SSM Agent를 자동으로 업데이트할 유지 관리 기간 생성(콘솔)

다음 시연에서는 AWS Systems Manager 콘솔을 사용하여 유지 관리 기간을 생성하는 방법을 설명합니다. 또한 이 시연에서 관리형 노드를 대상으로 등록하고 SSM Agent를 업데이트할 Systems Manager Run Command 태스크를 등록하는 방법을 설명합니다.

시작하기 전 준비 사항

다음 절차를 수행하기 전에 구성할 노드에 대한 관리자 권한이 있거나 AWS Identity and Access Management(IAM)에서 적절한 권한을 부여받아야 합니다. Systems Manager용으로 구성된 관리형 노드가 하이브리드 및 멀티클라우드 환경의 Linux 또는 Windows Server에서 하나 이상 실행되는지도 확인하세요. 자세한 내용은 AWS Systems Manager 설정 단원을 참조하십시오.

1단계: 유지 관리 기간 생성(콘솔)

유지 관리 기간을 생성하려면(콘솔)
  1. AWS Systems Manager 콘솔(https://console.aws.amazon.com/systems-manager/)을 엽니다.

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

  3. 유지 관리 기간 생성을 선택합니다.

  4. 이름(Name)에 이 유지 관리 기간을 식별하는 데 유용한 설명 이름을 입력합니다.

  5. (선택 사항) 설명에 설명을 입력합니다.

  6. 관리형 노드가 대상으로 등록되어 있지 않은 경우에도 관리형 노드에 대해 유지 관리 기간 태스크를 실행하도록 허용하려면 등록되지 않은 대상 허용(Allow unregistered targets)을 선택합니다. 이 옵션을 선택한 경우 작업을 유지 관리 기간에 등록할 때 등록되지 않은 노드를 노드 ID를 사용하여 선택할 수 있습니다.

    이 옵션을 선택하지 않은 경우 작업을 유지 관리 기간에 등록할 때 이전에 등록된 대상을 선택해야 합니다.

  7. 세 가지 예약 옵션 중 하나를 사용하여 유지 관리 기간에 대한 일정을 지정합니다.

    cron/rate 표현식 작성에 대한 자세한 내용은 참조: Systems Manager용 Cron 및 Rate 표현식 섹션을 참조하세요.

  8. 기간에 유지 관리 기간이 실행되어야 하는 시간을 입력합니다.

  9. 작업 개시 중지에 유지 관리 기간 종료 이전에 시스템에서 실행할 새 작업 예약을 중지해야 하는 시간을 입력합니다.

  10. (옵션) [기간 시작일 - 옵션(Window start date - optional)]에 유지 관리 기간을 활성화하려는 날짜 및 시간을 ISO-8601 확장 형식으로 지정합니다. 이를 사용하면 향후 지정한 날짜까지 유지 관리 기간의 정품 인증을 지연시킬 수 있습니다.

    참고

    과거의 시작 날짜 및 시간을 지정할 수 없습니다.

  11. (옵션) [기간 종료일 - 옵션(Window end date - optional)]에 유지 관리 기간을 비활성화하려는 날짜 및 시간을 ISO-8601 확장 형식으로 지정합니다. 이를 사용하면 유지 관리 기간이 더 이상 실행되지 않는 미래의 날짜 및 시간을 설정할 수 있습니다.

  12. (옵션) [예약 시간대 - 옵션(Schedule time zone - optional)]에 예약된 유지 관리 기간 실행의 기준이 될 시간대를 IANA(Internet Assigned Numbers Authority) 형식으로 지정합니다. 예를 들어 "America/Los_Angeles", "etc/UTC" 또는 "Asia/Seoul"입니다.

    올바른 형식에 대한 자세한 내용은 IANA 웹 사이트에서 표준 시간대 데이터베이스를 참조하십시오.

  13. (선택 사항) 태그 관리 영역에서 하나 이상의 태그 키 이름/값 페어를 유지 관리 기간에 적용합니다.

    태그는 리소스에 할당하는 선택적 메타데이터입니다. 태그를 사용하면 용도, 소유자 또는 환경을 기준으로 하는 등 리소스를 다양한 방식으로 분류할 수 있습니다. 예를 들어 유지 관리 기간에 태그를 지정하여 이 기간이 실행하는 작업 유형, 대상 유형, 이 기간이 실행되는 환경을 식별하려는 경우 다음 키 이름/값 페어를 지정할 수 있습니다.

    • Key=TaskType,Value=AgentUpdate

    • Key=OS,Value=Windows

    • Key=Environment,Value=Production

  14. 유지 관리 기간 생성을 선택합니다. 그러면 유지 관리 기간 페이지로 돌아갑니다. 방금 생성한 유지 관리 기간은 [(사용)Enabled] 상태입니다.

2단계: 유지 관리 기간 대상 등록(콘솔)

다음 절차를 사용하여 1단계에서 생성한 유지 관리 기간에 대상을 등록합니다. 대상을 등록한다는 것은 업데이트할 노드를 지정하는 것입니다.

유지 관리 기간에 대상을 할당하려면(콘솔)
  1. 유지 관리 기간 목록에서 방금 생성한 유지 관리 기간을 선택합니다.

  2. 작업, 대상 등록을 차례로 선택합니다.

  3. (옵션) [대상 이름(Target name)]에 대상의 이름을 입력합니다.

  4. (선택 사항) 설명에 설명을 입력합니다.

  5. (선택 사항) 소유자 정보에 이름 또는 작업 별칭을 지정합니다. 소유자 정보는 이 유지 관리 기간 내에 이러한 대상에 대해 태스크를 실행하는 동안 발생한 모든 Amazon EventBridge 이벤트에 포함됩니다.

    EventBridge를 사용하여 Systems Manager 이벤트 모니터링에 대한 자세한 내용은 Amazon EventBridge로 Systems Manager 이벤트 모니터링 섹션을 참조하세요.

  6. 대상 영역에서 아래 표에 나열된 옵션 중 하나를 선택합니다.

    옵션 설명

    인스턴스 태그 지정

    인스턴스 태그 지정(Specify instance tags)에 태그 키 1개 이상과 계정의 관리형 노드에 추가했거나 앞으로 추가할 태그 값(옵션)을 지정합니다. 유지 관리 기간이 실행되면 태그가 추가된 모든 관리형 노드에서 작업을 실행하려고 합니다.

    두 개 이상의 태그 키를 지정하는 경우, 대상 그룹에 포함되도록 지정한 모든 태그 키 및 값으로 노드에 태그를 지정해야 합니다.

    수동으로 노드 선택

    목록에서 유지 관리 기간 대상에 추가할 노드마다 확인란을 선택합니다.

    계정에서 Systems Manager와 함께 사용하도록 구성된 노드가 모두 목록에 포함됩니다.

    예상한 관리형 노드가 목록에 없으면 관리형 노드 가용성 문제 해결에서 문제 해결 팁을 참조하세요.

    엣지 디바이스, 온프레미스 서버 및 가상 머신에 대한 자세한 내용은 하이브리드 및 멀티클라우드 환경에서 Systems Manager 사용하기 섹션을 참조하세요.

    리소스 그룹 선택

    리소스 그룹(Resource group)에 있는 목록에서 계정의 기존 리소스 그룹 이름을 선택합니다.

    리소스 그룹 생성 및 작업에 대한 자세한 내용은 다음 주제를 참조하십시오.

    리소스 유형(Resource types)에서 사용 가능한 리소스 유형을 최대 5개까지 선택하거나, 모든 리소스 유형을 선택합니다.

    유지 관리 기간에 할당할 태스크가 대상에 추가한 리소스 유형 중 하나에서 유효하지 않을 경우에는 시스템이 오류를 보고할 수 있습니다. 이러한 오류가 발생하더라도 리소스 유형이 지원되는 작업은 계속해서 실행됩니다.

    예를 들어 다음과 같은 리소스 유형을 대상에 추가한다고 가정하겠습니다.

    • AWS::S3::Bucket

    • AWS::DynamoDB::Table

    • AWS::EC2::Instance

    하지만 나중에 작업을 유지 관리 기간에 추가하면서 패치 기준을 적용하거나 노드를 다시 부팅하는 등 추가하려는 작업을 노드 관련 작업으로 제한하려고 합니다. 그러면 유지 관리 기간 로그에서 Amazon Simple Storage Service(Amazon S3) 버킷 또는 Amazon DynamoDB 테이블을 찾을 수 없다는 오류가 보고될 수 있습니다. 하지만 유지 관리 기간에서는 리소스 그룹의 노드에 대한 작업이 계속해서 실행됩니다.

  7. 대상 등록을 선택합니다.

3단계: SSM Agent를 업데이트하도록 유지 관리 기간에 대한 Run Command 작업 등록(콘솔)

다음 절차를 사용하여 1단계에서 생성한 유지 관리 기간에 대한 Run Command 작업을 등록합니다. Run Command 작업은 등록된 대상에서 SSM Agent를 업데이트합니다.

유지 관리 기간에 작업을 할당하려면(콘솔)
  1. 유지 관리 기간 목록에서 방금 생성한 유지 관리 기간을 선택합니다.

  2. 작업(Actions), Run command 태스크 등록(Register Run command task)을 차례로 선택합니다.

  3. (옵션) [이름(Name)]에 태스크의 이름을 입력합니다(예: UpdateSSMAgent).

  4. (선택 사항) 설명에 설명을 입력합니다.

  5. [Command 문서(Command document)] 영역에서 SSM Command 문서 AWS-UpdateSSMAgent를 선택합니다.

    참고

    이전 단계에서 등록한 대상이 Windows Server 2012 R2 이하인 경우 AWS-UpdateEC2Config 문서를 사용해야 합니다.

  6. 문서 버전에서 사용할 문서 버전을 선택합니다.

  7. 작업 우선순위에서 이 작업의 우선순위를 지정합니다. 가장 높은 우선순위는 0입니다. 유지 관리 기간의 작업은 우선순위에 따라 예약되며, 같은 우선순위의 작업은 동시에 예약됩니다.

  8. 대상(Targets) 섹션에서 등록된 대상 그룹 선택(Selecting registered target groups) 또는 등록되지 않은 대상 선택(Selecting unregistered targets)을 선택하여 이 작업을 실행할 노드를 식별합니다.

  9. Rate control(속도 제어)에서

    • Concurrency(동시성)에서 명령을 동시에 실행할 관리형 노드의 백분율 또는 개수를 지정합니다.

      참고

      관리형 노드에 적용할 태그를 지정하거나, AWS 리소스 그룹을 지정하여 대상을 선택하였지만 대상으로 지정할 관리형 노드 수를 잘 모를 경우에는 백분율을 지정하여 동시에 문서를 실행할 수 있는 대상 수를 제한합니다.

    • Error threshold(오류 임계값)에서, 명령이 노드의 개수 또는 백분율에서 실패한 후 다른 관리형 노드에서 해당 명령의 실행을 중지할 시간을 지정합니다. 예를 들어 세 오류를 지정하면 네 번째 오류를 받았을 때 Systems Manager가 명령 전송을 중지합니다. 여전히 명령을 처리 중인 관리형 노드도 오류를 전송할 수 있습니다.

  10. (선택 사항) IAM 서비스 역할의 경우 유지 관리 기간 작업을 실행할 때 Systems Manager에서 수임할 수 있는 권한을 제공할 역할을 선택합니다.

    서비스 역할 ARN을 지정하지 않으면 Systems Manager에서 계정의 서비스 연결 역할을 사용합니다. Systems Manager에 대한 적절한 서비스 연결 역할이 계정에 없는 경우 작업이 등록될 때 해당 역할이 생성됩니다.

    참고

    보안 태세를 개선하려면 유지 관리 기간 작업을 실행하기 위한 사용자 지정 정책 및 사용자 지정 서비스 역할을 생성하는 것이 좋습니다. 특정 유지 관리 기간 작업에 필요한 권한만 제공하도록 정책을 작성할 수 있습니다. 자세한 내용은 콘솔을 사용하여 유지 관리 기간에 대한 권한 구성 단원을 참조하십시오.

  11. (선택 사항) 출력 옵션(Output options)에서 다음 중 하나를 수행합니다.

    • S3에 쓰기 사용(Enable writing to S3) 확인란을 선택하여 파일에 명령 출력을 저장합니다. 상자에 버킷 및 접두사(폴더) 이름을 입력합니다.

      참고

      데이터를 S3 버킷에 쓰는 기능을 부여하는 S3 권한은 이 태스크를 수행하는 사용자의 권한이 아닌 노드에 할당된 인스턴스 프로파일의 권한입니다. 자세한 내용은 Systems Manager에 필요한 인스턴스 권한 구성을 참조하세요. 또한 지정된 S3 버킷이 다른 AWS 계정에 있는 경우 노드와 연결된 인스턴스 프로파일은 해당 버킷에 쓸 수 있는 권한이 있어야 합니다.

    • CloudWatch 출력(CloudWatch output) 확인란을 선택하여 Amazon CloudWatch Logs에 전체 출력을 씁니다. CloudWatch Logs 로그 그룹의 이름을 입력합니다.

  12. [SNS 알림(SNS notifications)] 섹션에서 Systems Manager에서 Amazon Simple Notification Service(Amazon SNS)를 사용하여 명령 상태에 대한 알림을 보내도록 허용할 수 있습니다. 이 옵션을 설정하는 경우 다음을 지정해야 합니다.

    1. Amazon SNS 알림을 시작하는 IAM 역할입니다.

    2. 사용할 Amazon SNS 주제입니다.

    3. 알림을 받을 특정 이벤트 유형

    4. 명령 상태가 변경될 때 받을 알림 유형 여러 노드로 전송된 명령의 경우 각 호출 상태가 변경될 때 호출(노드 당)을 기준으로 알림을 받을 호출(Invocation)을 선택합니다.

  13. 파라미터(Parameters) 섹션에서 선택적으로 설치할 SSM Agent의 특정 버전을 지정하거나 SSM Agent 서비스를 이전 버전으로 다운그레이드할 수 있습니다. 하지만 이 연습에서 특정 버전을 제공하지는 않습니다. 그러므로 SSM Agent가 최신 버전으로 업데이트됩니다.

  14. [Run command 태스크 등록(Register Run command task)]을 선택합니다.