AWS System Manager 의 Patch Manager 기능을 알아보고 사용해보자

2022.04.30

안녕하세요, 임채정입니다.
저는 요즘에 AWS System Manager 에 어떤 기능들이 있는지 알아보고 블로그로 정리하고 있습니다.
이번에는 기능 중에서 Patch Manager 에 대해 알아보고 실제로 사용하는 걸 정리해서 기재하려고 합니다.

아젠다

  1. Patch Manager 란
  2. 실제로 사용해보기

1. Patch Manager 란

  • Patch Manager는 보안 관련 및 기타 유형의 업데이트로 관리형 노드를 패치하는 프로세스를 자동화
  • 인스턴스를 스캔하여 누락된 패치 보고서만 보거나, 혹은 스캔 후 누락된 패치를 모두 자동으로 설치 가능
  • 운영 체제와 애플리케이션 모두 패치 가능
  • 이하의 운영 체제 유형의 플릿을 패치
    • Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스
    • 엣지 디바이스
    • 온프레미스 서버
    • 가상 머신(VM)
  • 지원되는 버전
    • Amazon Linux
    • Amazon Linux 2
    • CentOS
    • Debian Server
    • macOS
    • Oracle Linux
    • Raspberry Pi OS(이전 Raspbian)
    • Red Hat Enterprise Linux(RHEL)
    • SUSE Linux Enterprise Server(SLES)
    • Ubuntu Server
    • Windows Server

2. 실제로 사용해보기

이번에는 실제로 사용을 해보겠습니다.

2-1. 사전 정의된 패치 기준

Patch Manager (패치 관리자) 페이지에서 [패치 기준] 태그를 보면 AWS에서 기본으로 사용하고 있는 패치의 기준을 살펴볼 수 있습니다.

Amazon Linux 2Windows 등의 OS 별로 패치가 정리되어 있습니다.

이번 블로그에서는 Amazon Linux 2 에 대한 새로운 커스텀 패치 기준을 정의해보겠습니다.

2-2. 커스텀 패치 생성

Amazon Linux 2 에 대한 커스텀 패치 기준을 생성하겠습니다.
새로운 패치기준을 생성합니다.

이름을 임의로 입력합니다.
(블로그에서는 CustomAmazonLinux2Baseline 로 했습니다.)
운영체제는 Amazon Linux 2,
기본 패치 기준을 체크해줍니다.

제품, 심각도, 분류 모두 All을 선택합니다.
그 외의 설정은 기본으로 두고 그대로 패치 기준을 생성합니다.

그러면 다음과 같이 새로운 패치 기준이 생성되었습니다.
기본 패치 기준을 체크해줬기 때문에 새로운 커스텀 패치 기준에 가 표시되어있습니다.

그리고 반대로 기존 패치 기준은 아니오로 변경되어 있는 것을 확인 할 수 있습니다.

2-3. 유지 관리 기간 (Maintenance Window) 생성

다음으로는 유지 관리 기간을 생성하겠습니다.

이름을 임의로 입력합니다.
(블로그에서는 MaintenanceWindowTest 로 했습니다.)

기간: 1시간
작업 개시 중지: 0시간
설정을 하고 생성합니다.

그러면 이렇게 유지 관리 기간이 생성되었습니다.

2-3. 타겟 인스턴스 생성

생성한 유지 관리 기간 페이지에 들어가서 [대상] 태그로 이동합니다.

대상은 타겟으로 등록하고 싶은 인스턴스를 선택하고 생성해줍니다.

그러면 다음과 같이 대상이 작성되었습니다.

2-4. 명령 실행 (Run Command) 로 패치 명령 실행

이번에는 등록한 타겟으로 명령 실행을 한 번에 실행하겠습니다.
[작업] -> [명령 실행 작업 등록] 을 클릭합니다.

명령 문서에 AWS-RunPatchBaseline을 검색해서 체크합니다.
AWS-RunPatchBaseline는 리눅스, 윈도우 또는 MacOS 운영 체제에 대한 패치를 검색하거나 설치하는 명령 문서입니다.

그 후 등록된 대상 그룹을 선택해줍니다.

동시에 작업하는 인스턴스의 수를 1로 설정하고,
오류 임계값은 0으로 설정합니다.

Operation을 Install로 선택하고 명령 실행 작업을 등록합니다.

2-5. 명령 실행 작업 확인

[작업] 태그로 이동하면 등록한 작업에 대해서 표시됩니다.

작업 실행 결과를 확인하려면 [기록] 태그로 이동합니다.
유지 관리 기간을 생성할 때 30분마다 실행하도록 설정했기 때문에 30분에 한번씩 실행된 결과가 보입니다.

하나를 좀 자세히 들어가서 살펴보면 명령 실행이 성공했다는 걸 확인할 수 있습니다.

2-6. 패치 관리자 확인

이번에는 패치관리자에서 확인해보겠습니다.
[패치관리자] 페이지의 [대시보드] 태그에 들어가면 반복 패치 적용 태스크에 위에서 작성한 작업이 등록되어 있는 걸 확인 할 수 있습니다.

[규정 준수 보고] 태그에서 각각 인스턴스의 패치가 마지막으로 실행된 날짜나 사용된 기준도 확인할 수 있습니다.

본 블로그 게시글을 보시고 문의 사항이 있으신 분들은 클래스메소드코리아 (info@classmethod.kr)로 연락 주시면 빠른 시일 내 담당자가 회신 드릴 수 있도록 하겠습니다 !