90DaysOfDevOps (Day 46)

고태규·2025년 11월 22일
0

DevOps

목록 보기
43/50
post-thumbnail

해당 스터디는 90DaysOfDevOps
https://github.com/MichaelCade/90DaysOfDevOps
를 기반으로 진행한 내용입니다.

Day 46 - Mastering AWS Systems Manager: Simplifying Infrastructure Management


1. AWS Systems Manager


AWS Systems Manager는 AWS 환경 및 On-premises 환경 전반에 걸쳐 인프라 관리를 간소화하도록 설계된 AWS의 완전 관리형 서비스이다.

이 서비스를 통해 사용자는 복잡한 운영 작업을 단순화하고, 인프라의 일관성을 유지하며, 운영 효율성을 크게 향상시킬 수 있다.

  • 인프라 관리 단순화: 사용자가 애플리케이션 자체에 집중할 수 있도록 AWS가 인프라 관리의 책임을 맡음.

  • 운영 작업 자동화: 소프트웨어 인벤토리 관리, 패치 관리, 구성 일관성 유지 등 반복적이고 일상적인 운영 워크로드를 자동으로 처리하여 수동 개입을 최소화

  • 하이브리드 환경 지원: AWS 클라우드 내부의 EC2 인스턴스뿐만 아니라 데이터 센터의 온프레미스 서버까지 포함하는 하이브리드 환경의 리소스를 통합적으로 관리

  • 비용 효율성: Systems Manager 자체는 무료 서비스로 제공되어 운영 작업을 간편하게 수행할 수 있는 높은 가치를 제공

  • 운영 우수성의 중앙 집중화: 모든 운영 활동과 리소스 정보를 중앙에서 통합 관리할 수 있는 환경을 제공

Systems Manager는 안정적이고 일관된 환경을 유지하여 DevOps 팀이 더 중요한 작업에 집중할 수 있도록 지원한다.


2. Systems Manager의 구성 요소


AWS Systems Manager는 안정적이고 일관된 인프라 운영을 지원하는 여러 핵심 구성 요소로 구성되어 있다.

  • State Manager :

    • 리소스에 대한 원하는 구성을 유지하고 관리

    • 모든 인스턴스에 걸쳐 구성의 일관성을 보장하며, 구성 관리를 효율적으로 수행할 수 있도록 도와줌.

  • Inventory :

    • 관리되는 모든 리소스에 대한 통합된 보기를 제공

    • 리소스의 상세 정보, 소프트웨어 인벤토리 등을 효율적으로 추적하고 변경 사항을 관리하여 리소스 관리를 향상

    • 리소스 그룹이나 태그 등으로 필터링하여 상태 확인 가능

  • Automation :

    • 운영 작업을 자동화하는 데 사용

    • 수동 작업을 Hands-free 작업으로 전환하며, 미리 만들어진 템플릿을 사용하여 EBS 볼륨 연결, 스냅샷 복사 등의 복잡한 작업을 안정적으로 실행할 수 있도록 도움.

  • Parameter Store :

    • 애플리케이션 구성 데이터 및 Secrets을 안전하게 저장하고 관리하는 데 사용

    • 암호, 데이터베이스 문자열, 라이선스 키 등 중요한 정보를 중앙에서 관리하며, 구성의 일관성을 유지하고 효율적인 관리를 촉진

    • 문자열, 문자열 목록 등 다양한 유형의 파라미터를 지원

  • Patch Manager :

    • 시스템의 취약점에 대한 방어력을 강화하고 건강하게 유지하는 데 중점을 두는 역할

    • 패치 프로세스를 자동으로 수행하고, 규정 준수 보고서를 제공하며, 모든 인스턴스가 최신 상태이고 안전하도록 보장

    • 패치 기준선 (Patch Baselines)을 통해 워크로드에 맞는 패치를 구성

  • Session Manager :

    • 키 페어나 배스천 호스트 없이도 인바운드 포트를 열 필요 없이 EC2 인스턴스에 안전하고 직접적으로 접속하여 쉘 명령을 실행할 수 있게 함.

    • 접속의 보안과 용이성을 높임.

  • Fleet Manager :

    • 서버 인스턴스 (Fleet)의 운영 체제 수준에서 원격 관리 및 문제 해결을 할 수 있도록 지원

    • 파일 탐색, 성능 모니터링, 로그 보기 등 인스턴스 집합에 대한 통합된 관리를 가능하게 함.


3. Systems Manager를 활용한 운영 작업 자동화


Systems Manager는 일상적인 운영 작업을 자동화하여 DevOps 팀의 효율성을 극대화한다.

  • 세션 관리자 (Session Manager) :

    • Key Pair나 Bastion Host 없이도 인바운드 포트를 열 필요 없이 EC2 인스턴스에 안전하게 접속하여 쉘 명령을 실행할 수 있음.
  • 실행 명령어 (Run Command) :

    • 인스턴스에 명령을 보내 즉시 실행할 수 있음.

    • 예: 쉘 스크립트를 실행하거나 간단한 파일 생성과 같은 작업을 원격으로 수행할 수 있음.

  • 패치 자동화 :

    • Systems Manager의 Patch Manager와 Maintenance Windows 기능을 함께 사용하여 모든 EC2 인스턴스의 OS 버전을 최신 상태로 유지하고 보안 취약점에 대응하는 패치 프로세스를 자동화할 수 있음.

    • 수동 SSH 접속 없이 시스템을 업그레이드할 수 있어 매우 효율적


4. AWS Systems Manager의 서비스 통합 및 이점


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와의 통합:

    • 운영 모니터링 및 알람:

      • System Manager의 작업 (예: Patch Manager 실행, Automation 실행) 상태와 결과를 CloudWatch와 통합하여 모니터링할 수 있다.
    • 이벤트 기반 알림:

      • 작업 실패 또는 특정 상태 변경이 발생했을 때 CloudWatch 알람을 설정하여 운영팀에 즉시 알림을 제공하고, 필요에 따라 자동화된 대응 조치를 트리거할 수 있다.

이러한 Systems Manager와 다른 핵심 AWS 서비스를 통합사용하여 DevOps 팀은 단순 반복 작업 대신 더 중요한 개발 및 혁신 작업에 집중할 수 있게 된다.


5. 정리


Systems Manager는 DevOps 시대의 인프라 관리 복잡성을 해결하는 AWS의 도구이다.

해당 서비스는 State Manager와 Patch Manager를 통해 인프라의 일관성과 보안을 보장하고, Session Manager 및 Automation으로 반복적인 운영 작업을 중앙 집중식으로 자동화한다.

또한 IAM을 통한 강력한 접근 제어와 CloudWatch를 통한 통합 모니터링을 통해 안전하고 효율적인 운영 환경을 구축하여, DevOps 팀이 핵심 가치 창출에 집중할 수 있도록 지원한다.


0개의 댓글