여기서는 EC2를 이용해 서버를 열고 CloudWatch를 간단하게 사용해 보겠습니다.
시작하기에 앞서 EC2에 접속하기 위해 필요한 키 페어를 발급 받겠습니다.
먼저 국가가 한국으로 설정되어 있는지 확인합시다.
AWS콘솔 사이트에 들어가서
서비스>컴퓨팅>EC2>네트워크 및 보안> 키 페어> 키 페어 생성
으로 들어가면 됩니다.
이후 이름은 아무거나 해주시고
RSA유형에 .pem방식으로 합니다.
.ppk는 PuTTY와 함께 사용되는데 PuTTY는 윈도우에서 원격 접속하는 도구입니다.
.pem은 OpenSSH와 함께 사용되는데 OpenSSH가 옛날에는 윈도우에서 지원이 안되었지만 지금 window 10넘어가면서 지원하기 때문에 이걸 써도 무방합니다.
키 페어 생성시 파일 하나를 주는데 가지고 있어야 EC2에 접속가능합니다.
EC2를 생성하기 위해
서비스> 컴퓨팅> EC2 > 인스턴스 > 인스턴스 > 인스턴스 시작
으로 들어갑니다.
인스턴스를 식별할 수 있는 이름을 입력해줍니다.
어떤 운영체제와 환경을 쓸 것인지 정합니다.
여기서는 Amazon Linux를 사용합니다.
인스턴스 유형을 선택합니다.
프리티어인 t2.micro로 합니다.
무엇으로 원격 접속을 가능하게 만들지에 대한 설정입니다.
앞에서 만든 키페어로 접속한다고 합시다.
VPC의 경우 아무거나 해줍니다.
subnet의 경우 한국이 -d위치에 EC2생성이 불가능하니 만약 기본으로 만들어져 있는 subnet이 -d위치라면 새로 만들어 줍시다.
퍼블릭 IP를 할당합니다. 이는 외부에서 EC2에 접속하기 위해 할당하는 것입니다.
보안 규칙에서 SSH와 HTTP를 허용하고 있는데 SSH는 EC2에 접속하기 위해 필요한 것입니다.
HTTP의 경우 외부에서 EC2서버에 요청을 보낼 수 있게 하기 위해 필요합니다.
스토리지의 경우 EC2에 붙어있는 보조기억장치라고 생각하면 됩니다.
기본 설정을 유지해 줍니다.
다시 한번 EC2 설정들을 검토해보고 인스턴스 시작을 누릅니다.
인스턴스가 생성됩니다.
SSH를 통해 EC2 인스턴스에 접속하는 방법은 다양한 것이 있습니다.
터미널을 통해 접속하고 싶지만 필자는 SKT 공유기가 SSH로 접속할 수 있는 포트를 막아놨기에 AWS 콘솔에서 지원하는 웹을 통해 접속을 합니다.
다른 방법들은 따로 찾아보시기 바랍니다.
아래와 비슷한 출력이 나왔다면 연결에 성공한 것입니다.
EC2에 접속을 성공했다면 웹 설정을 해보겠습니다.
먼저 위 화면에서
sudo su -
명령어를 통해 슈퍼 유저로 변경합니다.
그리고
yum install httpd -y
를 통해 http 데몬을 설치합니다.
이는 아파치 웹 서버로 클라이언트의 요청에 리소스를 줄 수 있습니다.
이제 httpd를 실행시켜 웹 서버를 엽니다.
systemctl start httpd
이후 웹 페이지를 복사해서 가져옵니다.
curl -L https://bit.ly/afbtest01 > /var/www/html/index.html
이 명령어는 curl을 사용하여 특정 URL에서 파일을 가져와서 /var/www/html/index.html이라는 경로에 저장합니다.
만든 EC2 인스턴스에 들어가 퍼블릭 IP를 복사합니다. 이후 주소창에 입력합니다.
웹 페이지가 정상적으로 출력된다면 잘 한 것입니다.
EC2 인스턴스에서 모니터링을 누르면 아래와 같이 EC2 인스턴스와 관련된 기본적인 상태들을 보여줍니다.
위에서 다른 상태들도 보고 싶다면
대시보드 추가를 누르고
새로 생성> 대시보드 이름 입력> 생성> 대시보드에 추가
를 해줍니다.
이렇게 하면 모니터링 대시보드가 추가되는데
오른쪽 위의 +를 눌러 위젯을 추가함으로써 추가적으로 모니터링 하고 싶은 지표들을 추가할 수 있습니다.
자동 모니터링을 위해서는 EC2 인스턴스의 세부 모니터링 관리 기능을 활성화 해야합니다.
아래 사진의 오른쪽 위에 보이는 세부 모니터링 관리를 눌러 활성화 해줍니다.
이후 CloudWatch 서비스로 갑니다.
이후 경보 생성을 눌러줍니다.
경보 생성 후 지표 선택을 클릭하면 아래와 같은 창이 보일텐데 모니터링 할 지표를 선택하면 됩니다. 저는 CPUutilization으로 앞에서 만든 EC2의 CPU 사용량을 모니터링 할 것입니다.
그리고 그래프로 표시된 지표로 옮겨가 평균 모니터링 주기를 1분으로 합니다.
또 옵션으로 옮겨가 누적면적을 선택해 줍니다.
그리고 아래의 지표 선택을 누릅니다.
다음 페이지에서는
경보 조건을 설정하는데 저는 CPU사용량이 50보다 크면 경보가 울리게 만들었고 추가 구성으로 누락된 데이터에 대해서는 양호로 처리했습니다.
이제 경보 작업에 대한 구성을 하는데 아래와 같이 하는데 이메일 엔드포인트는 자신의 이메일 주소로 하고 주제생성을 합니다.
다음 단계로 가기전에 꼭 이메일에 들어가 확인해서 활성화를 해줍시다.
더 밑에 보면 작업들이 있는데
경보시 EC2에 작업을 할 것이기 때문에
EC2작업만 생성합니다. 경보시 재부팅 할 것입니다.
이제 다음 누르고 경보 이름 입력하고 생성하면 경보는 생성된 것입니다.
다시 EC2에 SSH로 접속합시다.
슈퍼 유저로 들어가서
다음과 같이 입력합니다.
amazon-linux-extras install -y epel
yum install -y stress-ng
CPU 부하 설정 툴을 설치하는 것입니다.
이제 CPU에 부하를 줘 보겠습니다.
stress-ng --cpu -1 --cpu-load 75% --timeout 10m --metrics --times --verify
이제 경보를 보면
경보가 활성화 된 것을 볼 수 있습니다.
이메일로 경보도 옵니다.
사용했던 모든 것들을 삭제해줍시다. 아니면 비용이 생길 것입니다.
리눅스를 배우자.
IPv6방식으로 EC2를 네트워킹 할 수 있는 방법을 알아보자.