CloudWatch를 통해 EC2를 쉽게 모니터링할 수 있지만 메모리 사용량은 기본적으로 제공되지 않습니다.
EC2 인스턴스에 CloudWatch Agent를 설치하면 더욱 다양한 지표를 수집할 수 있습니다. 이 글은 EC2에 CloudWatch Agent를 설치하여 EC2 메모리 사용량을 모니터링 하는 방법을 소개합니다. 순서는 다음과 같습니다.
IAM>역할 에서 역할만들기 선택 후 아래의 EC2를 선택합니다.

정책 필터에서 CloudWatchAgentServerPolicy 검색 후 선택합니다.

역할 이름 작성 후 역할 만들기를 클릭해 역할 생성을 완료합니다.

IAM 역할을 부여할 EC2를 선택 후, 작업>보안>IAM 역할 수정을 선택합니다.

만들었던 역할을 선택 후 저장합니다.

EC2 서버에 접속 후
1. CloudWatch 에이전트 패키지를 다운로드
sudo yum install amazon-cloudwatch-agent
2. 에이전트 구성파일 생성 (마법사 파일 실행)
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
마법사가 실행되면 계속 enter를 눌러 default choice를 선택합니다. 아래 항목만 2를 선택합니다.
Do you want to specify any additional log files to monitor?
1. yes
2. no
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json -s

types.db 파일을 만들어 위 에러를 해결할 수 있습니다.
sudo mkdir /usr/share/collectd
sudo touch /usr/share/collectd/types.db
types.db 파일 생성 후 3번 명령어로 CloudWatch Agent를 다시 실행하면 실행이 완료됩니다. 다음 명령어로 상태를 확인해보면 running 중인 것을 확인할 수 있습니다.
sudo amazon-cloudwatch-agent-ctl -m ec2 -a status
CloudWatch > 지표 > 모든지표를 선택해 들어가면 Custom namespaces에 CWAgent가 생성되어있는 것을 볼 수 있습니다.

CWAgent를 클릭해 들어가면 EC2의 메모리 사용량을 볼 수 있습니다.👏👏👏