해당 스터디는 90DaysOfDevOps
https://github.com/MichaelCade/90DaysOfDevOps
를 기반으로 진행한 내용입니다.
Day 46 - Mastering AWS Systems Manager: Simplifying Infrastructure Management
AWS Systems Manager는 AWS 환경 및 On-premises 환경 전반에 걸쳐 인프라 관리를 간소화하도록 설계된 AWS의 완전 관리형 서비스이다.
이 서비스를 통해 사용자는 복잡한 운영 작업을 단순화하고, 인프라의 일관성을 유지하며, 운영 효율성을 크게 향상시킬 수 있다.

인프라 관리 단순화: 사용자가 애플리케이션 자체에 집중할 수 있도록 AWS가 인프라 관리의 책임을 맡음.
운영 작업 자동화: 소프트웨어 인벤토리 관리, 패치 관리, 구성 일관성 유지 등 반복적이고 일상적인 운영 워크로드를 자동으로 처리하여 수동 개입을 최소화
하이브리드 환경 지원: AWS 클라우드 내부의 EC2 인스턴스뿐만 아니라 데이터 센터의 온프레미스 서버까지 포함하는 하이브리드 환경의 리소스를 통합적으로 관리
비용 효율성: Systems Manager 자체는 무료 서비스로 제공되어 운영 작업을 간편하게 수행할 수 있는 높은 가치를 제공
운영 우수성의 중앙 집중화: 모든 운영 활동과 리소스 정보를 중앙에서 통합 관리할 수 있는 환경을 제공
Systems Manager는 안정적이고 일관된 환경을 유지하여 DevOps 팀이 더 중요한 작업에 집중할 수 있도록 지원한다.
AWS Systems Manager는 안정적이고 일관된 인프라 운영을 지원하는 여러 핵심 구성 요소로 구성되어 있다.

State Manager :
리소스에 대한 원하는 구성을 유지하고 관리
모든 인스턴스에 걸쳐 구성의 일관성을 보장하며, 구성 관리를 효율적으로 수행할 수 있도록 도와줌.
Inventory :
관리되는 모든 리소스에 대한 통합된 보기를 제공
리소스의 상세 정보, 소프트웨어 인벤토리 등을 효율적으로 추적하고 변경 사항을 관리하여 리소스 관리를 향상
리소스 그룹이나 태그 등으로 필터링하여 상태 확인 가능
Automation :
운영 작업을 자동화하는 데 사용
수동 작업을 Hands-free 작업으로 전환하며, 미리 만들어진 템플릿을 사용하여 EBS 볼륨 연결, 스냅샷 복사 등의 복잡한 작업을 안정적으로 실행할 수 있도록 도움.
Parameter Store :
애플리케이션 구성 데이터 및 Secrets을 안전하게 저장하고 관리하는 데 사용
암호, 데이터베이스 문자열, 라이선스 키 등 중요한 정보를 중앙에서 관리하며, 구성의 일관성을 유지하고 효율적인 관리를 촉진
문자열, 문자열 목록 등 다양한 유형의 파라미터를 지원
Patch Manager :
시스템의 취약점에 대한 방어력을 강화하고 건강하게 유지하는 데 중점을 두는 역할
패치 프로세스를 자동으로 수행하고, 규정 준수 보고서를 제공하며, 모든 인스턴스가 최신 상태이고 안전하도록 보장
패치 기준선 (Patch Baselines)을 통해 워크로드에 맞는 패치를 구성
Session Manager :
키 페어나 배스천 호스트 없이도 인바운드 포트를 열 필요 없이 EC2 인스턴스에 안전하고 직접적으로 접속하여 쉘 명령을 실행할 수 있게 함.
접속의 보안과 용이성을 높임.
Fleet Manager :
서버 인스턴스 (Fleet)의 운영 체제 수준에서 원격 관리 및 문제 해결을 할 수 있도록 지원
파일 탐색, 성능 모니터링, 로그 보기 등 인스턴스 집합에 대한 통합된 관리를 가능하게 함.
Systems Manager는 일상적인 운영 작업을 자동화하여 DevOps 팀의 효율성을 극대화한다.
세션 관리자 (Session Manager) :
실행 명령어 (Run Command) :
인스턴스에 명령을 보내 즉시 실행할 수 있음.
예: 쉘 스크립트를 실행하거나 간단한 파일 생성과 같은 작업을 원격으로 수행할 수 있음.
패치 자동화 :
Systems Manager의 Patch Manager와 Maintenance Windows 기능을 함께 사용하여 모든 EC2 인스턴스의 OS 버전을 최신 상태로 유지하고 보안 취약점에 대응하는 패치 프로세스를 자동화할 수 있음.
수동 SSH 접속 없이 시스템을 업그레이드할 수 있어 매우 효율적

AWS Systems Manager는 독립적으로 작동하는 것을 넘어, 다른 핵심 AWS 서비스와 긴밀하게 통합되어 강력한 중앙 집중식 운영 환경을 구축한다.
특히 IAM과 CloudWatch와의 통합은 보안 및 모니터링 측면에서 핵심적인 역할을 한다.

AWS IAM (Identity and Access Management)과의 통합:
보안 역할 부여:
Systems Manager는 IAM을 통해 생성된 역할을 사용한다.
예: EC2 인스턴스에 IAM 인스턴스 프로파일을 연결하여 해당 인스턴스가 Systems Manager 서비스 및 다른 AWS 리소스 (예: S3)를 호출할 수 있는 최소 권한을 부여할 수 있다.
접근 통제:
Systems Manager의 모든 기능 (Session Manager, Run Command 등)은 IAM 정책에 의해 접근이 통제된다.
누가 어떤 인스턴스에 접속하거나 어떤 명령을 실행할 수 있는지 정교하게 제어하여 보안을 강화
Amazon CloudWatch와의 통합:
운영 모니터링 및 알람:
이벤트 기반 알림:
이러한 Systems Manager와 다른 핵심 AWS 서비스를 통합사용하여 DevOps 팀은 단순 반복 작업 대신 더 중요한 개발 및 혁신 작업에 집중할 수 있게 된다.
Systems Manager는 DevOps 시대의 인프라 관리 복잡성을 해결하는 AWS의 도구이다.
해당 서비스는 State Manager와 Patch Manager를 통해 인프라의 일관성과 보안을 보장하고, Session Manager 및 Automation으로 반복적인 운영 작업을 중앙 집중식으로 자동화한다.
또한 IAM을 통한 강력한 접근 제어와 CloudWatch를 통한 통합 모니터링을 통해 안전하고 효율적인 운영 환경을 구축하여, DevOps 팀이 핵심 가치 창출에 집중할 수 있도록 지원한다.