Cloud & Platform
12강. CloudWatch
12강. CloudWatch 학습 내용을 정리한 백필 노트입니다.
이 글은 2025년 학습 기록을 블로그 형식으로 정리한 백필 노트입니다.
CloudWatch란?
CloudWatch는 AWS의 리소스 및 애플리케이션을 위한 모니터링 서비스입니다. 주요 기능은 다음과 같습니다.
- 강력한 시각화 도구 제공: 각종 지표(Metric)를 그래프 등 시각적 자료로 보여줍니다.
- 알림 기능: 사전에 지정한 임계값(Threshold)에 따라 알림을 발송할 수 있습니다.
- 운영 문제 해결: 로그 및 지표에서 얻은 인사이트를 통해 시스템의 운영 문제를 해결하는 데 도움을 줍니다.
실습: EC2 인스턴스 생성 및 CloudWatch 알람 설정
1. EC2 인스턴스 생성하기
AWS 클라우드에서 가상 서버(인스턴스)를 생성합니다.
- 인스턴스 시작
- AWS Management Console에서 EC2 서비스로 이동 후, '인스턴스 시작'을 클릭합니다.
- 이름 및 태그 설정
- 인스턴스의 이름을 'MyFirstServer'로 지정합니다.
- 애플리케이션 및 OS 이미지(AMI) 선택
- 'Ubuntu'를 선택하고, 'Ubuntu Server 22.04 LTS' 버전을 사용합니다.
- 인스턴스 유형 선택
- 프리티어로 사용 가능한
t2.micro유형을 선택합니다.
- 프리티어로 사용 가능한
- 키 페어(로그인) 설정
- 인스턴스에 안전하게 연결하기 위한 키 페어를 생성하거나 기존 키 페어를 선택합니다. (예:
my-key)
- 인스턴스에 안전하게 연결하기 위한 키 페어를 생성하거나 기존 키 페어를 선택합니다. (예:
- 네트워크 설정
- 방화벽(보안 그룹): SSH 트래픽을 허용하는 새 보안 그룹을 생성합니다. 모든 IP 주소(
0.0.0.0/0)에서의 접근을 허용하도록 설정합니다. - 퍼블릭 IP 자동 할당: '활성화'로 설정합니다.
- 방화벽(보안 그룹): SSH 트래픽을 허용하는 새 보안 그룹을 생성합니다. 모든 IP 주소(
- 스토리지 구성
- 기본 설정인 8GiB의 루트 볼륨을 사용합니다.
- 인스턴스 시작
- '인스턴스 시작' 버튼을 클릭하여 생성을 완료합니다.
- 생성이 완료되면 인스턴스 ID, 퍼블릭 IPv4 주소 등의 세부 정보를 확인할 수 있습니다.
2. CloudWatch 알람 생성하기
생성된 EC2 인스턴스의 CPU 사용률을 감시하는 경보를 설정합니다.
- 경보 생성 시작
- 생성된 EC2 인스턴스의 '모니터링' 탭으로 이동합니다.
- 'CPU 사용률(%)' 그래프에서 경보를 생성하거나, '경보 상태'에서 '+' 아이콘을 클릭합니다.
- 지표 및 조건 지정
- 지표:
CPUUtilization(자동 선택됨) - 통계: 평균
- 기간: 5분
- 임계값 유형: 정적
- 조건:
보다 큼 (>) - 임계값:
80(CPU 사용률이 80%를 초과할 경우)
- 지표:
- 작업 구성
- 경보 상태 트리거: '경보 상태'일 때 작업을 실행하도록 선택합니다.
- 알림: 알림을 받을 SNS(Simple Notification Service) 주제를 설정합니다.
- '새 주제 생성'을 선택하고, 알림을 받을 이메일 주소를 입력합니다. (예:
inje@soaple.io) - '주제 생성'을 클릭하면 해당 이메일로 확인 메일이 발송되며, 수신 확인을 해야 합니다.
- '새 주제 생성'을 선택하고, 알림을 받을 이메일 주소를 입력합니다. (예:
- 이름 및 설명 추가
- 경보 이름:
TestAlert - 경보 설명: '#테스트 경보입니다.'
- 경보 이름:
- 미리 보기 및 생성
- 설정한 내용을 최종 검토하고 '경보 생성'을 클릭합니다.
- 생성 초기에는 '데이터 부족' 상태로 표시됩니다.
- SNS 구독 메뉴에서 이메일 수신 상태가 '확인 대기 중'에서 '확인됨'으로 변경되었는지 확인합니다.
3. EC2 부하 테스트 및 경보 알림 받기
인스턴스에 인위적인 부하를 주어 설정한 경보가 정상적으로 동작하는지 테스트합니다.
-
EC2 인스턴스에 접속Shell
- 터미널(SSH 클라이언트)을 사용하여 다운로드한 키 페어와 인스턴스의 퍼블릭 IP 주소로 접속합니다.
ssh -i [키 페어 경로] ubuntu@[퍼블릭 IP 주소] -
부하 테스트 도구 설치Shell
- 인스턴스에 접속한 후,
stress패키지를 설치합니다.
sudo apt-get update sudo apt-get install stress - 인스턴스에 접속한 후,
-
부하 테스트 실행Shell
stress명령어를 사용하여 CPU에 부하를 줍니다.
stress --cpu 4 -
결과 확인
- CloudWatch 모니터링: EC2 인스턴스의 '모니터링' 탭에서 CPU 사용률 그래프가 급격히 상승하여 80%를 넘어 100%에 가까워지는 것을 확인합니다.
- 이메일 알림 수신: 잠시 후, CloudWatch에서 설정한 임계값을 초과했다는 내용의
ALARM: "TestAlert"이메일이 수신됩니다. 이메일에는 상태 변경 이유(99.8%의 데이터 포인트가 임계값 80.0을 초과함)와 같은 상세 정보가 포함됩니다.
12강 요약
- CloudWatch: AWS 리소스 및 애플리케이션을 위한 모니터링 서비스
- 주요 기능:
- 강력한 시각화 도구 제공
- 사전에 지정된 값에 따른 알림 발송 기능
- 로그 및 지표 분석을 통한 운영 문제 해결 지원