클라우드

[AFOS 2기 2주차] AWS EC2 배포 및 모니터링(CloudWatch) 및 알람 관리

히똔 2021. 6. 21. 19:03
728x90
반응형

실습 프로그램 : XSHELL, FileZilla Client

 

VPC 생성

서비스 -> VPC -> VPC 마법사 시작

단일 퍼블릭 서브넷이 있는 VPC -> 선택

서울 리전인지 확인!
다음과 같이 설정후 VPC 생성

 

인스턴스 배포

서비스 -> EC2 -> 인스턴스 시작

https://asdfmelody.tistory.com/8 : 인스턴스 배포에 대한 자세한 단계는 여기서 확인

 

[AFOS 2기 1주차] AWS EC2(가상서버) 배포 및 사용하기

서울 리전에서 SSH 키 페어 생성하기 EC2 서비스 -> 키페어 -> 키페어 생성 이름 설정, 파일형식 pem으로 설정 후 키페어 생성 기본 VPC 존재 확인 VPC 서비스 -> VPC 기본 VPC가 IPv4 CIDR이 172.31.0.0/16 인..

asdfmelody.tistory.com

이 글에서는 1주차 내용과 다른 부분만 체크하고 넘어가겠습니다

네트워크는 좀 전에 만들었던 SecondVPC 선택

아직 단계3 에서 고급 세부정보에 사용자 데이터 텍스트로 다음과 같은 명령어 작성

#!/bin/bash
hostnamectl --static set-hostname AFOS2-WebSrv
yum install httpd -y
systemctl start httpd && systemctl enable httpd
echo "<h1>Welcome to AFOS2 Web Server</h1>" > /var/www/html/index.html

1주차에서 했던 웹 서버 구성의 기초 작업을 자동으로 수행하도록 해주도록 하는 것이다.

단계5 까지 1주차와 같이 진행 

규칙 추가 -> HTTP 유형 추가 -> 위치 무관
SSH 유형도 위치 무관으로 변경

키페어 선택 후 인스턴스 생성

 

내 PC에서 SSH로 인스턴스의 퍼블릭 IP로 접속

XSHELL 실행

도구 -> 사용자 키 관리자 -> 가져오기

EC2 생성시 선택한 키페어의 .pem 파일 선택 후 열기
(키페어의 .pem 파일은 생성시 자동으로 다운로드 된다)

이렇게 되면 성공

파일 -> 새로만들기

이름은 EC2로 설정하고
호스트는 앞서 만든 인스턴스의 퍼블릭 IPv4 주소 복사하여 붙혀넣기

아직 연결이나 확인 누르지 말고 기다리기!!

퍼블릭 IPv4 주소는 여기서 복사 가능

연결 정보를 입력한 후 아직 연결이나 확인을 누르지 않은 상태에서
사용자 인증 클릭

사용자 이름: ec2-user
방법: Public Key

로 설정 후 연결 클릭

확인 클릭

이런 화면이 나오면 접속 완료!

 

윈도우 PC에서 인스턴스로 SCP로 접속하여 파일 업/다운로드

FileZilla 실행

파일 -> 사이트 관리자 -> New site -> 사이트 이름 입력 (AFOS2)

프로토콜: SFTP
호스트 : EC2의 퍼블릭 IPv4 주소
포트 : 22
로그온 유형: 키파일
사용자 : ec2-user
키 파일 : .pem 파일 선택

로 설정 후 연결

확인 클릭

EC2 서버의 /home/ec2-user 디렉터리로 접근 성공!

왼쪽 부분이 내 PC, 오른쪽 부분이 EC2 서버다.

내 PC에서 원하는 사진 오른쪽 마우스 클릭 -> 업로드
하면 오른쪽 EC2 서버에 업로드가 된 것을 확인할 수 있다.

 

웹 페이지에 이미지 첨부하기

sudo mv /home/ec2-user/test.jpg /var/www/html/
sudo nano /var/www/html/index.html

명령어 입력

html 파일 편집하여 업로드한 img 첨부하기

성공!

 

모니터링

EC2 체크박스 선택 -> 모니터링

 

EC2 사용률 경보 생성

서비스 -> CloudWatch

경보 -> 경보 생성

지표 선택-> EC2 -> 인스턴스별 지표
CPUUtilization 검색 필터링 후
인스턴스 선택 -> 지표 선택

기간: 1분 (약간의 비용이 청구될 수 있음, 무료는 5분)
임계값: 50
누락된 데이터 처리: 누락된 데이터를 양호(임계값 위반 안 함)(으)로 처리

로 설정 후 다음

경보 상태 트리거: 경보 상태
SNS 주제 선택 : 새 주제 생성
새 주제 생성... : 원하는 알람 이름 설정
이메일 : 자신의 이메일

설정 후 주제 생성

이메일 확인

Confirm subscription 클릭

 

부하발생시 어떤 작업을 실행할 것인지 설정하기

EC2 작업 -> EC2 작업 추가 -> 경보 상태 -> 이 인스턴스 재부팅 -> 다음

경보 이름 : WebSrv-CPU-High-Alarm -> 다음 -> 경보 생성

생성 완료
아무도 서버를 사용하고 있지 않기 때문에 데이터 부족 상태

# 다양한 시스템 관련 부하 확인 툴 설치
sudo yum -y install htop

# htop 으로 CPU Memory 등 시스템 자원 확인
htop

htop 명령어로 CPU 사용량 보기

CPU 사용률 0.0%

 

CPU 사용률 50프로로 올려서 CPU 부하 발생시키기

#CPU 부하 툴 설치
sudo amazon-linux-extras install -y epel
sudo yum install -y stress-ng
stress-ng -h

#CPU 부하 발생
sudo stress-ng --cpu 1 --cpu-load 70% --timeout 10m --metrics --times --verify

명령어 입력

CPU 사용량 0% -> 70%

경보선 초과

이메일이 왔으면 성공!

 

EC2 삭제

EC2 -> 인스턴스 종료 -> 종료
CloudWatch 경보 -> 작업 -> 삭제

 

 

728x90
반응형