이번 글에서는 AWS Systems Manager에 대해서 알아보고자 한다.
AWS Systems Manager에 대해 간단히 살펴보고, 실습을 통해 SSM 에이전트 간 통신을 살펴본다.
1. AWS Systems Manager 란?
AWS Systems Manager(SSM)
- AWS Systems Manager(이하 SSM)는 고객이 인프라를 보다 잘 파악하고, 제어할 수 있도록 하는 서비스 그룹
- Run Command, Parameter Store, Sessions Manager, Patch Manager 등 많은 하위 서비스를 가지고 있음
- AWS SSM의 기본 개념은 EC2 인스턴스에 AWS SSM에이전트가 설치되어 있고, 해당 에이전트를 통해 특정 작업을 제공하는 것임
: 대부분의 하위 서비스들은 SSM 에이전트를 통해 AWS SSM과 통신하나, 'Parameter Store' 와 같이 SSM 에이전트를 필요로 하지 않는 서비스도 있음
2. SSM 에이전트 란?
- SSM 에이전트는 Amazon EC2 인스턴스, 온프레미스 서버 또는 가상 머신(VM)에 설치 및 구성할 수 있는 Amazon 소프트웨어
- 설치된 SSM 에이전트는 AWS SSM로부터 작업을 받고 실행함
- 아래와 같이 AWS에서 제공하는 일부 AMI의 경우 SSM 에이전트가 기본적으로 설치되어 있음
(※ 참고 URL : https://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/ami-preinstalled-agent.html)
- 2017년 9월 이후의 Amazon Linux Base AMI
- Amazon Linux 2
- Amazon Linux 2 ECS 최적화 기본 AMIs
- Amazon EKS 최적화 Amazon Linux AMIs
- macOS 10.14.x(Mojave), 10.15.x(Catalina), 11.x(Big Sur)
- SUSE Linux Enterprise Server(SLES) 12 및 15
- Ubuntu Server 16.04, 18.04 및 20.04
- Windows Server 2008-2012 R2 AMIs는 2016년 11월 이후에 게시되었습니다.
- Windows Server 2016, 2019, 2022
- AWS SSM과 SSM 에이전트가 정상적으로 통신하기 위해서는
AmazonSSMManagedInstanceCore 정책이 IAM 역할로 부여되어 있어야함
3. AWS SSM과 SSM 에이전트 간 통신 실습
아래 그림과 같이 AWS SSM과 EC2 인스턴스에 설치되어 있는 SSM 에이전트 간 간단한 통신 실습을 할 것이다.
1) AmazonSSMManagedInstanceCore 역할 생성
AWS SSM과 SSM Agent 간 통신을 위해 EC2에 부여할 'AmazonSSMManagedInstanceCore' 역할을 생성한다.
2) EC2 프로비저닝 및 SSM 에이전트 확인
실습에 사용할 EC2 인스턴스는 SSM 에이전트가 설치되어 있는 'Amazon Linux 2'를 이용할 것이며, EC2에 'AmazonSSMManagedInstanceCore' 역할을 부여한다.
실습을 위해 방화벽은 22 Port를 Any Open으로 열어주었으며, 키 페어는 설정하지 않았다.
아래와 같이 실행중인 EC2 인스턴스에 'EC2 인스턴스 연결' 방법을 이용하여 접속한다.
명령어를 통해 SSM 에이전트가 실행 중임을 확인하였다.
systemctl status amazon-ssm-agent
3) AWS SSM과 연결된 EC2 인스턴스 확인
AWS SSM과 SSM 에이전트가 설치된 EC2 인스턴스 간 정상적으로 연결되었는지 여부는 'AWS Systems Manager' 서비스 - [플릿 관리자] 에서 확인할 수 있다.
1개의 EC2 인스턴스가 존재하는 것을 확인할 수 있으며, SSM Agent Ping 상태가 '온라인(Online)' 으로 정상적으로 동작하고 있음을 알 수 있다.
또한 존재하는 '노드 ID' 를 클릭해보면, 해당 인스턴스의 상세 정보, 파일 시스템, 사용자 등의 정보를 확인 가능하다.
끝.
댓글