[SK shieldus Rookies 16기][AWS] 모니터링 시스템 구축 실습

Jina·2023년 12월 4일
0

SK shieldus Rookies 16기

목록 보기
30/59
post-thumbnail
post-custom-banner

2023 클라우드 보안 가이드
🔗 AWS
🔗 Azure
🔗 GCP

모니터링

정의

  • 게시자(생산자)에서 구독자(소비자)로 메시지를 전송하는 관리형 서비스
  • 게시자는 논리적 액세스 지점 및 커뮤니케이션 채널인 주제(topic)에 메시지를 전송하여 구독자와 비동기식으로 통신

모니터링 툴

웹 서버를 구성 후 운영 단계에서 사용하는 도구
Amazon SNS(Simple Notification Service)

실습

1) 모니터링 시스템 구축

나머지 설정은 변경하지 않고, 생성

2) 구독 생성

이메일 구독의 경우 이메일 확인을 처리해야 사용이 가능

3) 구독 허용하기

  1. 본인 이메일의 메일 수신함을 확인

  2. Confirm subscription 클릭

  3. Subscriprion confirmed 확인

  4. 구독을 하게 되면 구독 상태가 확인됨으로 변경된다.

이제 AdminTopic을 발행하면 구독한 이메일로 내용이 전송된다.

4) 경보 생성

  1. EC2 > 인스턴스 > 인스턴스 선택 > 작업 > 모니터링 문제해 해결 > CloudWatch 경보관리

  2. 경보 추가

5분 동안 CPU사용률이 30% 이상인 경우 경보가 발생되도록 설정

  1. 나머지 설정은 변경하지 않고, 생성

5) 경보 발생 확인

  1. 로드밸런서 DNS주소로 접근
  2. LOAD TEST 버튼을 클릭 시 부하테스트가 실행된다.

  1. CloudWatch 확인

  2. 구독 설정한 이메일에서 메일 보관함 확인

6) 부하 테스트 중지

웹 브라우저 주소창에서 /load.php 지운 후 로드밸런서 주소로 재접속하면 중지된다. ⇒ 부하 제거

오토 스케일링(Auto Scalling)

정의

애플리케이션의 부하를 처리할 수 있도록 EC2 인스턴스를 자동으로 증가 또는 감소시켜주는 서비스

종류

  • Scale in/out
    수평적 확장 ⇒ 하드웨어 개수를 증가 시키는 것
    • 이때 부하 분산 시켜줘야하기 때문에 반드시 로드밸런스가 나와야 한다.
    • 보통 스케일 아웃 방식을 많이 사용한다.
  • Scale up/down
    수직적 확장 ⇒ 하드웨어 성능을 향상 시키는 것

구성 요소

  1. 그룹 : 최대/최소로 가질 수 있는 리소스 수
  2. 구성 템플릿 : 자동으로 추가할 리소스 명세
  3. 조정 옵션

실습

1) 시작 템플릿 생성(Launch Template)

인스턴스를 시작하기 위한 설정 정보를 템플릿으로 만든다.

  1. EC2 > 인스턴스 > 시작 템플릿 > 시작 템플릿 생성 클릭

  2. 시작 템플릿 생성

Auto Scaling 체크해놓으면 좀 더 쉽게 설정 가능

  1. 애플리케이션 OS 이미지 선택

  2. 인스턴스 유형

  3. 키 페어 선택

  4. 네트워크 설정
    서브넷은 따로 생성 X

  5. 리소스 태그 설정
    리소스 태그란? 생성한 리소스를 태그를 이용해 쉽게 찾기 위함

  6. 나머지 설정은 변경하지 않고, 시작 템플릿 생성

  7. 시작 템플릿 생성 확인

2) 시작 템플릿 세부 정보

시작 템플릿의 장점 : 필요에 따라 이전 버전으로 변경할 수 있음

3) 대상그룹 등록 취소

4) 오토 스케일링 그룹 생성

오토 스케일링 그룹이 생성되면 ASG를 통해서 생성된 인스턴스가 자동으로 대상 그룹에 포함된다.

  1. EC2 > Auto Scaling 그룹 > Auto Scaling 그룹 생성 클릭

  2. 시작 템플릿 구성 선택

  3. 인스턴스 시작 옵션 - 네트워크 설정

  4. 로드 밸런싱
    기존에 만들어둔 로드 밸런서가 있기 때문에 거기에 연결

  5. 상태 확인
    인스턴스가 정상적으로 동작하는지 확인하기 위한 설정
    인스턴스가 비정상적인 경우 교체한다. but 이 실습에서는 관련 로직이 없기 때문에 설정 X

  6. 추가 설정

  7. 그룹 크기 설정

  8. 크기 조정

    지표유형 : 인스턴스를 줄이거나 늘이는 지표

  9. 나머지 설정은 변경하지 않고 다음으로 넘어가기

  10. 알림 추가

  1. 태그 추가

  2. Auto Scaling 그룹 생성 완료

  3. 인스턴스 확인
    수명 주기가 InService로 되어 있으면 사용 가능

5) 오토 스케일링 확인

  1. 로드밸런스 DNS주소로 접근

  2. LOAD TEST 클릭 > 부하테스트 시작

  3. 경보 확인

  4. 추가된 인스턴스 확인

  5. 로드밸런서 DNS주소로 요청
    새로운 인스턴스로 로드밸런싱 되고 있는지 확인


리소스 정리

  1. 로드밸런서 삭제
    EC2 > 로드밸런서

  2. 대상 그룹 삭제
    EC2 > 대상 그룹

  3. 오토스케일링 그룹 내리기

    그룹 크기를 모두 0으로 변경

    오토 스케일링 그룹 삭제

오토 스케일링 그룹이 삭제되면 자동으로 webserverASG 인스턴스들은 종료된다.

  1. webserver, webserver2 는 따로 종료

  2. AMI 등록 취소
    EC2 > AMI

  3. 스냅샷 삭제

  4. 시작 템플릿 삭제
    EC2 > 인스턴스 > 시작 템플릿

  5. 보안 그룹 삭제

  6. VPC삭제

    default VPC도 함께 삭제해준다.

  7. 구독 삭제
    Amazon SNS > 구독

  8. 주제 삭제

  9. 경보 삭제
    CloudWatch > 경보 > 모든 경보

profile
공부 기록
post-custom-banner

0개의 댓글