[시작] AWS Systems Manager를 통한 패치 관리(자습서)
AWS Systems Manager
사회는 바로 대관리 서비스 시대다.
이 세상의 모든 것이 거기에 있다고 한다(?).
이번에 말씀드린 Systems Manager는 시스템 관리에 있어 많은 기능을 갖추고 있습니다.
※ 전반적인 상황 파악은 어렵지만, AWS 뒷면에 구성관리/자동구축(Chef와 Ansible 등)이 사용됐을 수 있음
나는 이것이 그것에 근거하여 인프라 시설을 관리하는 서비스라고 생각한다.
이번에는 패치 관리에 관한 부분만 말씀드리겠습니다.
이 기사로 쓰겠습니다.
1. 패치 관리에 대한 생각
패치를 자동으로 적용할 수 없음(패치 내용을 하나하나 확인해야 함)
나는 이 보도가 유용할 것이라고 생각한다.
2. 하위 기능 "유지 관리 창" 정보
실행 시간표의 시간 등을 정의합니다.
또한 패치 관리에서 스캔 또는 스캔 및 설치를 결정합니다.
※ 이번엔 자동 패치를 사용할 수 없으므로 스캔만 가능합니다.
3. 하위 기능 "패치 관리자" 정보
PatchBaseline 규칙을 사용하여 적용할 패치를 설정합니다.
다음은 요약할 수 있습니다. ※2020년 4월 13일 기준
개체 EC2 제어
다양한 OS 지원
Windows의 경우 Win7~10/Win10LTC/Wins Server 2012 R2~2019 등.
패치 분류를 지정할 수 있습니다.
패치의 중요성을 지정할 수 있습니다.
기타
4. 설치 방법
1. 관리 인스턴스 지원
1-1. SSM 에이전트 설치
WinServer 2012 R2(2016년 이후 공개), Amazon Linux2 등의 기본 설치가 완료되었습니다.
※ 수동 설치링크
1-2. EC2 설치에 대한 SSM 에이전트 라이센스
서비스 [IAM] 페이지에서 EC2용 IAM Role 작성
SSM 에이전트가 사용하는 정책을 알아맞히십시오(Ama zonSSMManaged InstanceCore).
서비스 [EC2] 페이지에서 위에서 설명한 IAM Role을 사용하여 EC2를 설계합니다.
※ 단계별 할애
1-3. SSM 프록시 재부팅
EC2 디버그 후 프록시 서비스를 다시 시작하면 Active 상태가 됩니다.
sudo systemctl restart amazon-ssm-agent.service
확인 명령을 실행하다.systemctl status amazon-ssm-agent.service -l
다음은 결과입니다.● amazon-ssm-agent.service - amazon-ssm-agent
Loaded: loaded (/usr/lib/systemd/system/amazon-ssm-agent.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2020-03-16 04:43:36 UTC; 3s ago
Main PID: 3440 (amazon-ssm-agen)
CGroup: /system.slice/amazon-ssm-agent.service
mq3440 /usr/bin/amazon-ssm-agent
Mar 16 04:43:39 *** amazon-ssm-agent[3440]: 2020-03-16 04:43:37 INFO [LongRunningPluginsManager] There are no long running plugins currently getting executed - skipping their healthcheck
Mar 16 04:43:39 *** amazon-ssm-agent[3440]: 2020-03-16 04:43:37 INFO [MessageGatewayService] listening reply.
Mar 16 04:43:39 *** amazon-ssm-agent[3440]: 2020-03-16 04:43:37 INFO [StartupProcessor] Executing startup processor tasks
Mar 16 04:43:39 *** amazon-ssm-agent[3440]: 2020-03-16 04:43:37 INFO [StartupProcessor] Write to serial port: Amazon SSM Agent v2.3.714.0 is running
Mar 16 04:43:39 *** amazon-ssm-agent[3440]: 2020-03-16 04:43:37 INFO [StartupProcessor] Write to serial port: OsProductName: Amazon Linux
Mar 16 04:43:39 *** amazon-ssm-agent[3440]: 2020-03-16 04:43:37 INFO [StartupProcessor] Write to serial port: OsVersion: 2
Mar 16 04:43:39 *** amazon-ssm-agent[3440]: 2020-03-16 04:43:37 INFO [MessageGatewayService] Opening websocket connection to: wss://ssmmessages.ap-northeast-1.amazonaws.com/v1/control-channel/i-***?role=subscribe&stream=input
Mar 16 04:43:39 *** amazon-ssm-agent[3440]: 2020-03-16 04:43:37 INFO [MessageGatewayService] Successfully opened websocket connection to: wss://ssmmessages.ap-northeast-1.amazonaws.com/v1/control-channel/i-***?role=subscribe&stream=input
Mar 16 04:43:40 *** amazon-ssm-agent[3440]: 2020-03-16 04:43:37 INFO [MessageGatewayService] Starting receiving message from control channel
Mar 16 04:43:40 *** amazon-ssm-agent[3440]: 2020-03-16 04:43:37 INFO [MessageGatewayService] [EngineProcessor] Initial processing
1-4. SSM 프록시 사용 확인
서비스 [Systems Manager] 페이지에서 관리 인스턴스 화면에 객체 EC2가 표시되는지 확인합니다.
2. PatchBaseline 생성
2-1. 창설
패치 관리자 화면을 표시하려면 처음으로 다음 화면을 표시합니다.
미리 정의된 패치 베이스라인 표시를 선택합니다.
패치 베이스라인 작성을 선택합니다.
이름 등 필수 항목을 입력합니다.
※ 이번 OS는 아마존 라인x2로 설정됐지만, 윈도 시스템 OS 설정 항목도 거의 변경되지 않았습니다.
원하는 항목을 입력한 후 화면 아래의 패치 베이스라인 작성을 선택합니다.
그럼 패치 기선의 일람화면으로 돌아가고 싶습니다.
3. 유지 관리 창 만들기
3-1. 창설
방금 작성한 패치 베이스라인을 확인하고 [패치 적용 적용]을 선택합니다.
자동 패치 관리를 위한 EC2 인스턴스를 설정합니다.
이번에는 EC2의 인스턴스 태그 가져오기를 선택합니다.
※ Tag Key에는'Patch Group', Tag Value에는'Linux-Ppatch Baseline'
Add를 선택하면 다음 이미지가 표시됩니다.
"새 유지보수 창에서 시간표 만들기"를 선택하십시오.
스케줄 설정 방법은 CRON/Rate 를 입력하는 것입니다.
※ 화면에 나타난 크론 시간표는 매월 마지막 날인 오전 2시에 실행된다는 의미입니다.
Cron 구문 참조 페이지
"유지보수 번호 창 이름"을 입력하고 "패치 적용 작업"을 엽니다
스캔만 선택, 패치 적용 을 선택합니다.
점검창 일람화면으로 이동합니다.
작성된 유지 관리 창이 표시되는지 확인합니다.
4. 스캔 실행
4-1. 계획을 집행하다
패치 검사는 스케줄링만 수행할 수 있고 수동으로 실행할 수 없습니다.
※ 검증을 위해서는 빠른 시간 내에 결과를 낼 수 있도록 설정해 주십시오.
5. 스캔 후 패치 정보 확인
5-1. 운영 환경 준비
이번에는 방금 SSM 에이전트가 설치된 서버부터 AWS CLI를 실행합니다.
AWS CLI 참조
※ 람바다는 파이톤이나 JAVA 언어로 수행할 수도 있습니다.
5-2. CLI 실행 권한 부여
AWS CLI를 실행할 때는 EC2의 IAM Role에 Policy를 부여해야 합니다.
"1-2.EC2 SSM 프록시 설치 권한 부여"에서 만든 Role의
상세 화면을 엽니다.
첨부 정책을 선택합니다.
AmazonSSM ReadOnlyAccess 또는 AmazonSSMFull Access를 설정해야 합니다.
Policy 를 선택하고 첨부 정책을 선택합니다.
5-3. 패치 검사 결과 목록 표시
서버에 로그인하여 다음 명령을 실행하면 적용되지 않은 패치 목록이 표시됩니다.
[ec2-user@*** ~]$ aws ssm describe-instance-patches --instance-id i-*** --filters Key=State,Values=Missing
실행 결과는 다음과 같다.{
"Patches": [
{
"KBId": "curl.x86_64",
"Severity": "Medium",
"Classification": "Security",
"Title": "curl.x86_64:0:7.61.1-12.93.amzn1",
"State": "Missing",
"InstalledTime": 0.0
},
・
・
・
5. 후기
어때?
간단한 관리라면 Systems Manager로 충분합니다.
제작 상황에 따라 다음과 같은 구성도 가능합니다.
◇자동 적용되지 않은 패치 스캔
1. CloudWatchEvents를 통해 유지 관리 창 종료 감지
2. Lambda에서 패치 적용 안 함 목록을 만들어 S3에 업로드
Amazon CloudWatch Events를 통해 Systems Manager 이벤트 모니터링
◇안전성에만 자동 적용
1. 패치 베이스라인을 제작할 때 분류에서 "Security"를 선택
2. 유지 보수 창을 만들 때 패치 적용 작업 중
검색 및 설치 선택
스케줄을 실행할 때 항상 보안 관련 패치만 설치합니다.
※ 설치에 실패할 수 있으므로 설치와 활용이 필요합니다.
Reference
이 문제에 관하여([시작] AWS Systems Manager를 통한 패치 관리(자습서)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yoshinori-takeuchi/items/c7671578cd2f42c636e8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)