본문 바로가기
클라우드&서버/AWS

AWS 모니터링 및 최적화

by JDLee 2022. 5. 25.

!!해당 글은 AWS Skill Builder의 AWS technical-essentials 과정을 요약한 내용입니다.!!

링크 : https://explore.skillbuilder.aws/learn/course/internal/view/elearning/10255/aws-technical-essentials-korean

 

Self-paced digital training on AWS - AWS Skill Builder

Loading your learning experience...

explore.skillbuilder.aws

AWS Monitoring and Optimization

모니터링

  • 데이터를 수집, 분석 및 사용하여 의사 결정을 내리거나 IT 리소스 및 시스템에 대한 질문에 답하는 행위
  • 시스템에 거의 실시간으로 제공되며 리소스 과다 사용, 애플리케이션 결함, 리소스 구성 오류 또는 보안 관련 이벤트 등의 운영 문제를 감시
  • 지표는 리소스가 생성하는 각 개별 데이터 포인트
  • EC2인스턴스의 상태를 평가 시 CPU 사용률을 지표로 문제를 해결
  • 리소스 마다 다른 지표를 생성하므로 지표를 통해 문제 대응 가능

모니터링의 이점

  • 최종 사용자가 운영 문제를 인식하기 전에 사전 대응
  • 리소스의 성능 및 안전성 개선
  • 보안 위협 및 이벤트 인식
  • 비지니스를 위해 데이터 중심의 의사결정 수립
  • 보다 비용 효율적인 솔루션 구축

CloudWatch

  • 지표를 수집하고 분석하는 중앙 집중식 장소의 역할
  • 많은 AWS 서비스는 5분 간격으로 지표를 무료로 자동 전송하며 이를 기본 모니터링이라고 함
  • EC2의 애플리케이션의 경우 1분마다 지표를 게시하는 세부 모니터링이 가능하며 이 경우 요금이 부과
  • 애플리케이션 수준의 지표 혹은 AWS가 지원하지 않는 지표는 사용자 지정 지표로 사용하여 모니터링 가능

CloudWatch 대시보드

  • 전송된 지표들은 CloudWatch 콘솔 대시보드를 활용하여 데이터를 시각화 및 검토 가능
  • 그래프 또는 텍스트와 같은 위젯을 사용하여 하나 이상의 지표에 대한 데이터 시각화
  • 사용자 지정 대시보드를 구축하여 사용자 환경에 초점을 맞춰 모니터링 가능
  • GetMetricData API를 사용하여 사용자 지정 도구를 사용하여 지표를 수집하고 분석
  • IAM정책을 통해 대시보드를 보거나 관리할 수 있는 액세스 권한을 제어

CloudWatch Logs

  • CloudWatch Log를 활용하여 AWS 서비스들의 로그 파일을 모니터링, 저장, 액세스 가능
  • 로그 데이터를 쿼리 및 필터링 할 수 있으며 지표 필터를 통해 대시보드에 사용 가능하도록 지표로 변환이 가능
  • 서비스 별로 Lambda 혹은 CloudWatch Logs 에이전트를 설치하여 로그 데이터를 전송
  • 로그 용어
    • 로그 이벤트
      • 애플리케이션 또는 리소스가 기록한 활동의 레코드이며 타임스탬프와 이벤트 메시지로 구성
    • 로그 스트림
      • 로그 이벤트를 그룹화 한 것으로 로그 대상에 따라 그룹화
    • 로그 그룹
      • 로그 스트림을 그룹화 한 것으로 동일한 보존 및 권한 설정을 공휴하는 그룹

CloudWatch 경보

  • 경보를 생성하여 지표의 상태에 따라 자동으로 작업을 실행
  • 경보를 트리거할 임계값을 정의하고 임계값이 초과하는 기간 또한 정의
  • 경보의 상태
    • OK
      • 지표가 정의된 임계값 내에 있는 경우
    • ALARM
      • 지표가 정의된 임계값을 벗어난 경우
    • INSUFFICIENT_DATA
      • 경보가 방금 시작되었거나, 데이터가 충분하지 않아 지표를 활용하지 못할 경우
  • 경보를 설정하여 운영 문제를 예방하거나 해결할 수 있음
  • 또는 Amazon SNS를 통해 문제를 수동으로 해결하도록 알림

로드 밸런서

  • 로드밸런싱이란 리소스들에게 작업을 분산하는 프로세스
  • 로드 밸런서는 트래픽 경로에 직접 존재하여 처리
  • AWS는 Elastic Load Balancing 이란 서비스 제공
  • ELB는 기본적으로 관리 또는 운영할 필요 없이 AWS 서비스들의 작업을 분산
  • IP 주소로 로드 밸런싱이 가능하여 온프레미스 서버로도 로드밸런싱 가능
  • ELB는 매니지드 서비스로 고가용성을 확보하고 있고 이는 다중 가용영에 배포 옵션을 통해 확인 가능
  • 트래픽의 수요에 맞게 자동으로 확장

ELB의 구성요소

  • 대상 그룹
    • 백엔드 서버 또는 서버
    • AWS Lambda 함수, IP 주소와 같이 트래픽을 전송하려는 백엔드 유형을 정의
    • 각 대상 그룹에 대해 상태 확인을 정의
  • 리스너
    • 클라이언트 측에서 로드밸런서 유형에 따라 프로토콜과 포트가 제공된 서버
  • 규칙

    • 클라이언트의 소스 ip 주소가 될 수 있는 조건과 트래픽을 보낼 대상 그룹을 결정하는 조건으로 구성

Application Load Balancer

  • 요청 데이터를 기반으로 트래픽을 라우팅
  • 클라이언트에 직접 응답
  • TLS 오프로딩을 사용
  • 사용자를 인증
  • 트래픽을 보호
  • 라운드 로빈 라우팅 알고리즘 사용
  • 최소 미해결 요청 라우팅 알고리즘 사용
  • 스티키 세션 사용(쿠키 기반)

Network Load Balancer

  • TCP, UDP 및 TLS 프로토콜 지원
  • 흐름 해시 라우팅 알고리즘 사용
  • 스티키 세션 사용(IP 기반)
  • TLS 오프로딩 지원
  • 초당 수백만 건의 요청을 처리
  • 고정 및 탄력적 IP 주소 지원
  • NLP는 소스 IP 주소를 보존

ELB 유형 비교

Amazon EC2 Auto Scaling

  • 수직 크기 조정(Scale Up)
    • EC2의 인스턴스 유형을 더 크게 바꾸는 것
    • 인스턴스가 중지 상태일 때만 수행가능
    • 수작업이 많은 작업
    • 확장 하는데 특정 제한이 있음
  • 수평 크기 조정(Scale Out)
    • 사용량에 따라 인스턴스의 숫자를 늘리거나 줄이는 것
    • 인스턴스를 중지 시키지 않아도 수행 가능
    • AWS에서 CloudWatch 지표를 기반으로 EC2 Auto Scaling 가능

EC2 Auto Scaling 구성 요소

  • 시작 템플릿 또는 구성
    • 자동으로 크기를 조정할 리소스
    • AMI, 인스턴스 유형, 보안그룹, EBS 등의 파라미터
  • EC2 Auto Scaling 그룹
    • 리소스를 배포할 장소
    • EC2를 시작할 VPC 및 서브넷
    • EC2 Auto Scaling은 서로 다른 가용 영역에 있는 서브넷을 두개 선택
  • 크기 조정 정책
    • 리소스를 추가 또는 제거할 기준
    • 최소, 최대, 원하는 용량을 기준으로 제시

EC2 Auto Scaling을 사용한 가용성

  • 최소, 최대 및 원하는 용량을 같은 숫자로 설정
  • 하나의 인스턴스에 이상이 생겨도 정해진 숫자만큼 인스턴스 유지

크기 조정 정책을 통한 자동화

  • 단순 크기 조정 정책
    • 설정한 임계점을 초과 했을 때 단순 크기 조정
    • 임계점을 과도하게 넘거나 이상 현상이 지속될 때 효과적이지 못함
  • 단계 크기 조정 정책
    • 임계점을 여러개 설정하여 단계적으로 크기조정
    • 경보 기반으로 인스턴스를 추가 혹은 제거하기 어려운 경우가 있음
  • 대상 추적 크기 조정 정책
    • CPU 사용률 , 네트워크 트래픽, 요청 수에 따라 확장되는 경우 활용
    • 추적해야할 목표 값을 정해 필요한 CloudWatch 경보가 자동으로 생성

'클라우드&서버 > AWS' 카테고리의 다른 글

AWS root 계정 MFA 설정하기(멀티 디바이스)  (0) 2022.06.07
AWS 데이터베이스  (0) 2022.05.25
AWS 스토리지  (0) 2022.05.25
AWS 네트워킹  (0) 2022.05.25
AWS 컴퓨팅  (0) 2022.05.25