문의 주신 내용에 맞는 전문 컨설턴트 배정 후 연락드리겠습니다.
안녕하십니까. 이번 글에서는 리인벤트 2020에서 발표된 System Manager의 추가 기능 업데이트에 대해 알아보겠습니다. AWS에는 인프라에 대한 가시성과 제어를 제공하는 AWS System Manager 서비스가 존재했습니다. EC2, S3 버킷 또는 RDS 같은 리소스를 어플리케이션별로 그룹화하고, 모니터링이 가능하며 트러블 슈팅을 위해 운영 데이터를 보고 리소스 그룹에 신속히 조치를 취하기위한 통합적인 인터페이스를 제공하는 서비스인 System Manager에서 여러 기능들이 업데이트 되어서 한번 살펴 보겠습니다.
1. Fleet Manager
AWS는 2020 re:Invent에서 원격 서버 관리 프로세스를 간소화하고 확장할 수 있도록 지원하는 Fleet Manager를 발표했습니다. Fleet Manager는 시각적 도구를 제공해 Window, Linux, macOS 서버를 관리합니다. 이를 통해 AWS와 온프레미스의 서버들의 공통 관리자 작업을 해당 서버에 원격으로 연결하지 않고도 수행할 수 있습니다.
Fleet Manager를 사용해서 얻는 이점은 보기와 같이 정리할 수 있을것 같습니다.
- 인스턴스에 수동으로 연결할 필요 없이 시스템 관리 작업을 수행가능
- 단일 통합 콘솔에서 여러 플랫폼에서 실행되는 인스턴스 관리 가능
- 단일 통합 콘솔에서 서로 다른 운영 체제를 실행하는 인스턴스 관리 가능
- IAM과 통합하여 Fleet Manager 기능에 대한 엑세스 제어를 통해 조직 관리 제어 가능
*EC2를 생성 후 파일시스템 미리보기
퍼블릭 서브넷에 Amazon Linux2 인스턴스를 실행합니다. IAM role에 AmazonSSMManagedInstanceCore 정책을 부여합니다. Managed Console에서 System Manager에 접속 후 좌측 탭에서 Fleet Manager 접속 시 인스턴스 목록을 확인하실 수 있습니다.
이중 하나의 인스턴스를 선택해 보시면 파일 시스템을 한눈에 확인 하실 수 있습니다.
성능 카운터와 사용자 및 그룹 탭을 확인 하기 위해선 KMS가 설정되어야 합니다. Fleet Manager 밑에 Session Manager 탭으로 이동후 KMS키를 적용합니다.
성능 카운터 탭이 활성화 되며 CPU 사용률, 디스크 IO, 네트워크 트래픽, 메모리 사용량 등의 메트릭을 확인 할 수 있습니다.
2. Change Manager
Change Manager는 결론 부터 말씀드리면 운영에 있어서 변경 관리를 위한 서비스 입니다. 입력한 잡을 수행하기 위해 작업을 요청하고 관리자가 승인하면 승인된 프로세스가 실행 된다는 것입니다. 수행 가능한 잡으로 CloudFormation의 실행이나 EC2생성 및 및 Lambd의 실행등 다양한 작업들을 실행할 수 있습니다. 또한 멀티 계정 연계와 AWS Organization과 연계해 여러 계정에 걸쳐 변경 처리를 적용 할 수 있으며 AWS SSO와도 통합이 가능합니다. 직접 콘솔 그림을 보여드리면서 설명 드리겠습니다.
Change Manager를 사용하기위해 설정 탭으로 이동후 편집 버튼을 누릅니다.
앞서 소개드린대로 IAM 또는 SSO를 선택할 수 있으며 이번 예제에선 IAM을 사용하겠습니다.
ChangeManager에서 Automation을 실행하기위해선 IAM role이 필요합니다. 자세한내용은 링크를 첨부하겠습니다.
링크: https://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/automation-permissions.html
AmazonSSMAutomationRole을 선택해 줍니다.
적당히 role 이름을 설정합니다. 전 ChangeManagerAssumeRole이라고 설정하겠습니다.
만든 후 해당 Role의 ARN을 기록해둔 뒤 인라인 정책 추가버튼을 클릭 합니다.
iam:passRole 추가 후 아까 기록한 Role ARN을 추가합니다.
그다음 Policy 이름을 설정합니다. 이제 Role 준비는 끝났습니다.
승인 요청
이제 변경 관리 프로세스로 본격적으로 들어가 봅시다. 이번 예제에선 기본적으로 제공되는 AWS-HelloworldChangeTemplate를 이용해보겠습니다. 이 템플릿에 등록된 런북은 Lambda에서 단순히 "Hello world. Welcome to Change Manager"를 출력하는 파이썬 스크립트가 실행됩니다. 템플릿 텝에서 요청 생성을 클릭합니다.
요청의 이름과 마크다운 워크플로우의 시작시간 및 승인자를 설정합니다.
아까 생성한 IAM role을 설정해줍니다.
승인자 아이디로 Managed console을 로그인 후 System Manager 탭으로 접속시 이렇게 요청이 와있는것을 확인할 수 있습니다.
요청을 승인하며 간단한 코멘트를 남길 수 있으며 요청자가 이것을 확인할 수 있습니다.
다시 요청자 아이디로 접속 후 런북이 무사히 실행된것을 확인할 수 있으며 타임라인을 통해 요청의 히스토리를 알 수 있습니다.
또한 이러한 요청과정을 캘린더를 통해 시각적으로 확인도 가능합니다.