-
[AWS] CloudWatch 실습AWS 2024. 2. 12. 22:09
클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services
필요한 만큼 이용할 수 있는 것은 물론 필요에 따라 몇 분 만에 확장 또는 축소할 수 있습니다. 자세히 알아보세요.
aws.amazon.com
AWS 접속하여 콘솔에 로그인 한다.
오른쪽 상단에 서울로 되어있는지 확인.
검색창에 CloudWatch 검색
클라우드워치의 메인화면
EC2 인스턴스 가상서버를 하나 만들어 메모리 디스크 사용량을 보도록 하였다.
EC2 인스턴스 만들기
이름 : awslearner-cw-server-test
Application and OS Images (Amazon Machine Image) : default
인스턴스 유형 : default
키 페어(로그인) : 인스턴스 실습때 생성했던 키페어 선택. 없다면 키페어새로 생성.
https://eocoring.tistory.com/22
[AWS] EC2 실습 (인스턴스 생성/Apache/간단한페이지생성)
EC2는 EC2 대시보드에 들어가면 오른쪽 상단에서 지역설정을 해줘야한다. 만약 EC2인스턴스를 서울에서 만들었다면 다른 지역에서는 사용할 수가 없다. 주황색 인스턴스 시작 버튼을 눌러준다. (
eocoring.tistory.com
네트워크 설정 : default
스토리지 구성 : default
인스턴스 시작 click
만든 인스턴스에 들어가서 모니터링 탭에 들어간다.
인스턴스의 용량이 큰 파일을 전송해보았다.
파일안에 사용할 pem 파일 (인스턴스에 들어가기 위해 필요한 pem 파일)과 datagrip이라는 프로그램을 설치하기 위해 필요한 설치 파일
두가지가 있다.
위 파일은 300메가 정도된다.
그런다음 위에서 만든 인스턴스에 파일을 전송해보자.
그전에 터미널로 인스턴스에 접속을 하자
EC2인스턴스에 접속에 필요한 명령어들을 복사해서 사용하자
https://eocoring.tistory.com/22
[AWS] EC2 실습 (인스턴스 생성/Apache/간단한페이지생성)
EC2는 EC2 대시보드에 들어가면 오른쪽 상단에서 지역설정을 해줘야한다. 만약 EC2인스턴스를 서울에서 만들었다면 다른 지역에서는 사용할 수가 없다. 주황색 인스턴스 시작 버튼을 눌러준다. (
eocoring.tistory.com
지난시간 EC2 인스턴스에 접속 실습내용 참고해서 위에서 만든 EC2에 접속완료
ls
ls 명령어로 현재 아무런 파일이 있지 않은 것을 확인 가능 ⭢ 텅비어있는 인스턴스
exit
인스턴스에서 나온다.
scp -i social.pem datagrip-2020.1.5.dng ec2-user@ec2-13-125-220-119.ap-northeast-2.compute.amazonaws.com:datagrip.dng
위 명령어를 통해 파일을 인스턴스에 옮겨보자.
키페어 파일명과 확장자 모두 작성해준다.
위 파일에 있던 datagrip 파일을 보낼 목적지까지 적어준다.
scp (Secure Copy Protocol) 서버 A에서 서버 B로 안전하게 파일을 전송할 때 사용되는 명령어
여기서 A란 로컬 디스크, 서버 B란 EC2 인스턴스
: ⭢ 인스턴스 안에 직접 들어가서 datagrip.dmg 파일을 생성해라. 복사해라.
즉, datagrip.dng 파일을 이 인스턴스 최상단 폴더에 이렇게 복사해라라는 뜻
⭡ ec2 인스턴스 주소 @뒤 모두
Enter
⭡ 파일 전송이 진행중
파일전송이 완료되었는지 인스턴스에 들어가서 확인해보도록하자
다시 인스턴스에 접속해서 ls 명령어로확인해봈더니
datagrip.dng파일이 들어간 것을 확인해볼수있다.
ls -ltrah
이 명령어를 통해 파일크기를 확인해보자.
344MB 정도 해당파일을 로컬에서 서버로 이동하였다.
AWS Cloudwatch로 들어가보자.
좌측 메뉴에 애플리케이션 모티터링 확장, 리소스 상태 click
awslearner-cw-server-test 인스턴스를 클릭해서 대시보드로 들어가면
CPUutilization, networkin : average를 보면
cloudwatch는 무슨일이 있어났는지 감지했다.
참고로 이런 그래프는 EC2 인스턴스에서도 확인할수있다 ⭢ 우측상단에 EC2에서 보기
자세한 EC2 인스턴스에 대한 정보를 확인할 수있다.
우측 중간에 세부 모니터링 관리 ⭢ 매트릭스를 좀 더 짧은 간격으로 수집할 수 있게 해준다. (단, 추가비용 발생) 짧은시간에 더 정확한 정보를 확인할 때 매우 유용
Alarm 만들기
Cloudwatch ⭢ 경보 ⭢ 경보 상태 ⭢ 경보 생성
지표 및 조건 지정
지표 : AWS 리소스. 어떤 매트리스를 타겟으로 삼을지에 대한 것을 묻는 것
지표 선택 click
EBS click ⭢ 볼륨별 지표 click
여러가지 지표이름 나열
VolumeWriteBytes : 이것이 특정 임계값을 넘길 경우 알람을 울려라 라는 경우의 수를 가정. (실습일뿐.)
선택하면 그래프가 보이게 된다.
인스턴스를 만들고 여기에 파일을 전송할 때 이러한 그래프가 만들어질 것이라는 것을 확인했고, 지표 선택 버튼 click
그래프와 함께 네임스페이스, 지표 이름, VolumeId, 통계, 기간
VolumeId : EC2인스턴스를 만들 때 첨부시켰던 EBS 디스크 아이디
인스턴스에 들어가서 Elastic Block Store에 볼륨 click
여기서 볼륨 ID 확인 가능
인스턴스의 볼륨은 만들때 아무것도 건들지 않았기 때문에 모두 default 값으로 설정되어있음.
우측으로 이동하면 연결된 인스턴스가 보인다.
링크 클릭시 이 뵬륨이 부착된 인스턴스로 이동
요렇게
인스턴스를 생성할 때 EBS가 함께 생성된 것을 확인했다.
기간 : default는 5분. 늘렸다 줄였다 가능
조건 : 알람을 울리는데 필요한 조건을 설정한 것
요렇게 임의로 100으로 잡아본다.
여기서 100K는 10만을 의미
100K를 초과할 시 writebyte가 너무 크가도 간주하고 그때 경보를 울린다라는 가정을 해보자.
따라서
임계값 유형 : 정적
VolumeWriteBytes이(가) 다음과 같은 경우에 항상... : 보다 큼
...보다 : 1000000 (10만,100K)
추가 구성 :
누락된 데이터를 처리하는 기능 : 알람을 설정했음에도 불구하고 데이터가 들어오지 않을 때 어떻게 처리하느냐에 대한 행동 설정
https://eocoring.tistory.com/36
[AWS] CloudWatch (+ Alarm)
CloudWatch ✴ AWS 리소스 사용의 실시간 모니터링 기능 지원 ✴ 다양한 이벤트들을 수집하여 로그파일로 저장 이벤트 예. S3 버킷에 파일을 업로드할 때 혹은 삭제할때를 이벤트라고 정의할 수 있다
eocoring.tistory.com
누락된 데이터가 무엇인지는 위 게시글 이론 파트에 있음
본실습에서는 모든 값들을 default로 설정
다음 click
작업 구성
: 경보가 울릴 때 기존에 정의한 SNS를 통해 사람들에게 알릴지 또는 새로운 주제를 만들어서 이메일을 보낼지에 대한 행동 정의
새 주제 생성
이름 : awslearner_cw_volume_alarm
알림을 수신할 이메일 엔드포인트... : 사용자의 이메일 주소
주제 생성 click
Auto Scaling 작업 : 만약 경보가 발생했을 때 자동으로 AWS에서 처리해주기를 원할 때 사용되어짐
예를 들어, 메모리 부족 경보가 발생했을때 오토 스케일링을 통해 메모리를 더 추가한다던지 etc
EC2 작업 : EBS 를 작업하기 때문에 현재는 비활성화
Systems Manager 작업 : 시스템 매니저를 추가할지 말지에 대한 기능
경보가 발생할때 인스던트 혹은 옵티미즘을 생성하는 것
경보가 발생할 때 경보의심각성을 수치화하고 경보에 얼마나 신속히 대처할 수 있는지에 대한 인사이트를 보기 원할 때 사용되어짐
본 실습에서는 사용하지 않음. 다음 click
이름 및 설명 추가
경보 이름 : awslearner_cw_alarm
경보 설명 : 마크다운 형식을 사용
다음 click
미리 보기 및 생성
임계값은 잘 설정되었는지, 조건 및 작업 모든 것을 확인했다면 경보를 생성하면 된다.
현재 상태 : 데이터 부족
이유는 경보를 울리기에 충분한 데이터 전송이 이루어지지 않아서 추측
인스턴스에 데이터 전송을 꾸준히 해준다면 이 데이터 부족은 사라질 것이다.
또한 AWS로 부터 하나의이메일을 받는다.
알람이 울렸을 때 이메일을 받을 것이냐에 대한 컴펌 이메일이다.
Confirm subscription 을 누르면 성공적으로 경보를 구독했다는 창이 뜬다.
이제 파일을 인스턴스에 다시 전송해보자
scp -i social.pem datagrip-2020.1.5.dng ec2-user@ec2-13-125-220-119.ap-northeast-2.compute.amazonaws.com:datagrip.dng
위에서 진행했던 명령어에서 datagrip 2로 타겟 파일명만 바꾸고 다시 전송을 해보자
scp -i social.pem datagrip-2020.1.5.dng ec2-user@ec2-13-125-220-119.ap-northeast-2.compute.amazonaws.com:datagrip2.dng
이렇게
하면 파일이 잘 전송이 되었다
다시 cloudwatch 경보를 확인해보자
cloudwatch 대시보드를 확인해보면 경보에 경보창이 떴다.
경보를 확인해봤더니 경보 상태로 상태가 바뀌었다.
해당 경보를 들어가서 확인해본다면
volume write bytes 가 10만 보다 클 때 경보를 울리라고 조건에 충족이 되어 경보가 울렸다. (임계값을 훨씬 뛰어 넘었다.)
경보가 울렸다는 이메일도 함께 온것을 확인할 수있다.
'AWS' 카테고리의 다른 글
[AWS] Lambda 실습 (Lambda 함수 생성, test) (1) 2024.02.13 [AWS] Lambda (1) 2024.02.13 [AWS] CloudWatch (+ Alarm) (0) 2024.02.12 [AWS] S3 실습 - 버킷 권한 정책/암호화 (1) 2024.02.12 [AWS] S3 실습 (0) 2024.02.12