System manager?
AWS Systems Manager는 AWS 애플리케이션 및 리소스를 위한 운영 허브이자, 안전하고 보안이 보장된 대규모 운영을 지원하는 하이브리드 클라우드 환경을 위한 안전한 엔드 투 엔드 관리 솔루션입니다.
인프라를 제어하는데 사용할 수 있으며 SSH 없이도 원격 명령을 실행할 수 있도록 할 수있습니다. 운영 데이터를 보고 전체 운영 작업을 자동화할 수 있습니다. 또한 관리 노드(system manager 용으로 구성도니 모든 시스템)를 스캔하고 감지된 모든 정책 위반에 대해 보고함으로써 보안 규정 준수를 유지하는데 도움이 되는 서비스 입니다.
Pre-requisites
SSM(system manager)을 실행하기 위해서는 먼저 리전에서 system manager를 지원해야하며 amazon-ssm-agent가 실행 중이어야 합니다. 또한 호스트에 SSM에 대한 액세스 권한이 있는 IAM 역할 (AmazonSSMManagedInstanceCore)이 필요합니다. 정말 중요한 내용으로 똑같이 따라하는데 “어라? 왜 관리 노드가 안나타나지?” 하시면 대부분 위 중 하나가 부족한 것입니다.
Systems Manager는 EC2 및 온프레미스 인스턴스에 설치된 에이전트를 통해 관련 작업을 수행합니다. Systems Manager 에이전트는 Windows Server, Amazon Linux, Ubuntu Server(16.04, 18.04,20.04) AMI 등에 기본적으로 설치돼 있으며, 다른 EC2 및 온프레미스 인스턴스에는 수동으로 설치할 수 있습니다.
위 인용대로라면 기본적으로 설치되어있어야 하지만 제 경우에는 안되어 있는 경우가 있었습니다. x86_64 운영체제 기준으로 작성하겠습니다. 또한 위에서는 ubuntu 22.04에 대한 얘기는 없었지만 22.04 또한 기본적으로 설치가 되어 있는 것 같습니다.
OS | 설치 명령어 |
Amazon Linux | sudo yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm |
Amazon Linux 2 | sudo yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm |
Ubuntu | sudo apt update sudo apt install snapd sudo snap install amazon-ssm-agent —clasic |
CentOS Stream | sudo dnf install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm |
CentOS Devian Server | mkdir /tmp/ssm cd /tmp/ssm wget https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/debian_amd64/amazon-ssm-agent.deb sudo dpkg -i amazon-ssm-agent.deb |
#설치 후 리눅스 계열에서의 설치 확인 및 수동 활성화
systemctl status amazon-ssm-agent
systemctl enable amazon-ssm-agent
systemctl start amazon-ssm-agent
#우분투
systemctl status snap.amazon-ssm-agent
systemctl start snap.amazon-ssm-agent
Patch manager?
외부 VM, 온프레미스부터 AWS 리소스까지의 패치를 자동화 해주며 운영체제와 애플리케이션 모두 패치 가능함 즉 패치 업무에 대한 자동화 도구로써 누락된 패치가 있는지 인스턴스를 스캔하거나 EC2 태그를 사용하여 누락된 패치를 검색하여 개별 인스턴스 또는 대규모 인스턴스 그룹에 설치할 수 있습니다. 또한 인스턴스를 스캔하여 패치없이 누락된 패치 보고서만 보는 것도 가능합니다. 아래 네가지에 대하여 패치가 가능합니다.
- 엣지 디바이스
- 온프레미스 서버
- 인스턴스
- 가상머신 VM
이러한 패치 매니저가 중요한 이유는 패치되지 않는 서비스는 공격에 취약점을 가지기 때문입니다. 데이터 유출의 원인 중 하나는 부적절한 패치 관리이기 때문에 패치를 통해서 조직을 안전하게 유지할 수 있습니다.
패치 매니저 실습
패치 기준 생성 → 유지관리 기간 생성 → 유지관리 타겟 지정 → Run command 실행
위 순서의 흐름으로 설정하게 됩니다.
패치 기준 생성
System manager → 패치 관리자 → 패치 기준으로 이동하시면 여러 생성된 패치 기준들을 볼 수 있습니다.
자동 승인은 패치가 자동적으로 승인되어 이루어지기 전까지 기다리는 시간을 명시합니다.
패치 그룹 설정
패치 그룹은 인스턴스의 환경을 구분하여 다른 패치 기준을 적용시키는데 사용합니다. 주로 잘못된 인스턴스 집합에 패치를 배포하지 않도록 하는데 도움이 됩니다.
패치 관리자 → 생성한 패치 기준 → 작업 → 패치 그룹 수정
유지 관리 기간 설정
유지 관리 기간은 OS 패치 및 드라이버 업그레이드 등과 같은 인스턴스에 대한 중단 작업을 수행할 일정을 정의하는데 사용됩니다. 안전한 시간에 패치 및 업데이트를 설치하거나 다른 구성을 변경할 수 있도록 해주는 서비스입니다. 일반적으로 배포하고 있는 서비스에 타격이 가장 적은 시간대를 설정합니다.
변경 관리 기간 → 유지 관리 기간
작업 → 유지 관리 기간 대상 등록 → 수동으로 인스턴스 선택
위에서도 말했다 싶이 인스턴스에 AWS IAM 정책과 ssm-manage-agent가 설정되어 있어야 합니다. 타겟 인스턴스에 원하는 인스턴스가 나타나지 않는다면 위 내용을 의심해보는게 좋습니다.
규정 준수 보고란에서 패치 규정 사항에 대해 확인할 수 있습니다.
Run command로 패치 명령 실행
Run-patch baseline 선택
아까 생성한 유지 관리 대상 그룹을 선택하고 동시성 1 오류 임계값 0으로 설정하고 Insatll로 설정 후 생성합니다. 여기서 scan을 선택하면 위에서 말했던 보고서만 받는 과정을 할 수 있는 것 같습니다. Run command 작업 명령 실행은 유지 관리 기간 → 기록으로 이동하여 위에서 설정 했던 유지 관리 기간에 따라 로그가 남습니다. 저는 하루로 하여 볼 수 없지만 여러분 30분 정도로 설정하여 볼 수 있게 하시는게 좋을 것 같습니다.
사실 시스템 메니저는 너무 방대하고 어디가나 얘기도 조금씩 달라서 잘 모르겠는 부분이 많아 잘못된 부분이 있다면 알려주셨으면 좋겠습니다.
'네트워크 > 클라우드 컴퓨팅' 카테고리의 다른 글
VPC 엔드포인트 (0) | 2023.03.06 |
---|---|
System manager - Session manager (1) | 2023.03.06 |
Transit Gateway(동일 리전간 VPC 연결, 타리전간 VPC 연결, flow-log) (0) | 2023.02.21 |
AWS 내부 ELB 구축 (1) | 2023.01.28 |
AWS auto scaling (0) | 2023.01.27 |