Systems Manager
•
여러 AWS 리소스를 그룹화하여 운영 및 유지보수를 자동화하고 효율적으로 관리하기 위한 서비스
•
Systems Manager는 "AWS 리소스" 또는 "온프레미스 서버"에 "SSM Agent"가 설치되어 있어야 한다.
설치 방법
Systems Manager로 EC2 인스턴스에 접근하기 위해서
•
Systems Manager는 기본적으로 EC2 인스턴스에서 작업할 권한이 없음
•
IAM instance profile(인스턴스 프로파일)을 사용하여 권한을 부여해야 한다.
•
IAM instance profile : IAM Role을 EC2 인스턴스에 연결하는 컨테이너
•
EC2에 접근할 수 있는 IAM Role을 생성해 IAM instance profile에 연결해야 한다.
Systems Manage의 여러 서비스
Patch Manager
•
운영 체제(OS) 패치 관리 : Windows, Linux, Ubuntu, CentOS, RHEL등 다양한 OS를 지원
•
EC2 인스턴스나 온프레미스 서버의 OS(운영체제) 정보를 스캔하고 자동으로 Patch:패치(업데이트)를 하는 서비스이다.
•
Patch Baseline(패치 기준선, 규칙) 설정: 어떤 패치가 허용되거나 금지되는지 정의한다.
◦
1)AWS 측에서 미리 정의된 기본 베이스라인와 2)사용자 정의 베이스라인이 있다.
◦
OS의 종류에 따라 "어떤 패치를", "언제 적용할지" 등의 패치의 베이스라인(패치 적용 규칙)을 작성하여 자동으로 실행되도록 한다.
Patch Manager를 사용하는 방법
Session Manager
•
Session Manager는 AWS Console이나 AWS CLI를 통해 EC2 인스턴스에 안전하게 로그인 할 수 있는 기능이다.
•
(특히 아주 쉽게 AWS Console에서 몇번의 클릭만으로 터미널로 EC2 인스턴스에 접속가능하다)
•
Session Manager를 통해 로그인하면, 로그인 대상 인스턴스에 대해 Security Group 등으로 SSH 통신 허가 설정
◦
(포트 개방, whitelist관리)이 필요 없어져 보안이 강화된다.
◦
보안 강화 : 즉, SSH나 RDP로 직접 인스턴스에 접속하지 않기 때문에 보안 관리에 있어서 더욱 안전하다.
◦
키 페어(SSH 키) 관리가 필요 없어져 운영이 간편하다.
•
프라이빗 서브넷에 있는 인스턴스에도 중간 서버(bation server) 없이 접속이 가능하다.
Parameter Store
•
데이터베이스/애플리케이션 등에 접근할 때 필요한 파라미터(예: 로그인 인증 정보 등)를 관리하는 서비스이다.
•
애플리케이션에서 AWS 리소스에 접근할 때 Parameter Store에서 파라미터를 가져옴으로써 로그인 정보를 애플리케이션에 하드코딩하거나 평문으로 입력할 필요가 없다. → 좀 더 안전하다
•
Parameter Store에서는 "SecureString Parameter"을 사용하여 민감한 데이터를 암호화된 형태로 저장한다. (이 때 AWS KMS를 사용하여 암호화 복호화 한다.)
•
[Parameter Store의 파라미터 유형(Type)]
◦
String : 일반 문자열 값을 저장한다
◦
SecureString : 민감한 정보를 안전하게 저장한다 (AWS KMS를 사용하여 암호화된다)
◦
StringList : 문자열 목록을 저장한다 (여러 개의 값을 콤마(,)로 구분하여 저장할 수 있다)
Run Command
•
EC2 인스턴스 또는 온프레미스의 서버에 원격으로 접속해 명령어/스크립트를 실행 할 수 있는 기능
•
SSH나 RDP로 접속하지 않고도 명령어를 실행하고, 이를 통해 명령어/스크립트 실행을 자동화할 수 있다.
•
보안 강화 : SSH 등을 애초에 사용하지 않기에 더욱 안전하다
•
사용 예시: EC2 인스턴스에서 yum update 명령 실행
Systems Manager → Run Command → AWS-RunShellScript → Commands 필드
aws ssm send-command \
--instance-ids i-1234567890abcdef0 \
--document-name "AWS-RunShellScript" \
--parameters 'commands=["yum update -y"]' \
--comment "Running yum update to apply security patches"
Shell
복사
Automation
•
AWS 리소스에 대한 반복적인 관리 작업을 Runbook(workflow: 일련의 작업)에 따라 자동화 하는 기능이다.
•
AWS가 미리 정의된 작업(예: 인스턴스 재부팅) 또는 사용자가 커스터마이즈한 워크플로우를 생성할 수 있다.
•
Systems Manager Automation을 사용하면 수동 작업이 줄어들어 인적 오류의 위험이 감소하고, 운영 효율성과 보안이 향상되어 AWS 리소스 관리를 보다 효율적이고 안전하게 수행할 수 있다.
•
Systems Manager Automation은 EventBridge와 연동하여 특정 이벤트 발생 시 런북을 실행할 수 있다.
◦
예를 들어, 매일 일정한 시간에 EC2 인스턴스를 자동으로 시작 및 중지할 수 있다.
사용 사례
특정 EC2 인스턴스가 비정상적으로 동작하면 자동으로 재부팅
EC2, RDS 등 태그가 없는 리소스를 자동 삭제 (비용 절감)
0.0.0.0/0(퍼블릭 접근)이 허용된 보안 그룹을 감지 후 자동 제거


