AWS/AWS 기초

모니터링, 최적화 및 서버리스

SALEE 2023. 4. 7. 09:24
728x90

모니터링

 

모니터링

데이터를 수집, 분석 및 사용하여 의사 결정을 내리거나 IT 리소스 및 시스템에 대한 질문에 답하는 행위
  • 시스템에 거의 실시간으로 제공
  • 운영 문제를 감시할 수 있음

 

지표

리소스가 생성하는 각 개별 데이터 포인트, 지표를 통해 통계를 작성할 수 있음 

 

지표의 유형

  • Amazon S3 - 버킷에 저장된 객체와 관련된 지표를 생성
  • Amazon RDS - 데이터베이스 연결, 인스턴스의 CPU 사용률 또는 디스크 공간 소비와 같은 지표를 생성

 

모니터링 이점

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

 

Amazon CloudWatch

데이터를 수집하는 모니터링 및 관찰 기능 서비스
  • 환경에서 이상 동작을 감지
  • 문제가 있을 때 알리도록 경보를 설정
  • AWS 관리 콘솔을 사용하여 로그 및 지표를 시각화
  • 크기 조정과 같은 자동화된 작업을 수행
  • 애플리케이션을 정상으로 유지하기 위한 인사이트를 발견

 

Amazon CloudWatch

 

Amazon CloudWatch

기본 인프라를 관리하지 않고도 모니터링에 사용할 수 있는 관리형 서비스
  • 많은 AWS 서비스는 5분 간격으로 지표당 하나의 데이터 포인트의 속도로 CloudWatch에 지표를 무료로 자동 전송
  • CloudWatch의 각 지표에는 타임스탬프가 있으며 네임스페이스라는 컨테이너로 구성
  • 그래프를 생성하거나 지표를 요청할 때 지정한 기간에 따라 통계를 집계
  • IAM 정책을 통해 CloudWatch 대시보드를 보거나 관리할 수 있는 액세스 권한을 가진 사용자를 제어할 수 있음

 

CloudWatch Logs

Amazon EC2 인스턴스, AWS Lambda 함수 및 기타 소스에서 실행되는 애플리케이션에서 로그 파일을 모니터링, 저장, 액세스할 수 있음
  • 로그 데이터를 쿼리하고 필터링할 수 있음
  • CloudWatch Logs 에이전트를 사용하면 Amazon EC2 인스턴스가 자동으로 로그 데이터를 CloudWatch Logs로 보낼 수 있음

 

CloudWatch Logs 용어

  • 로그 이벤트- 로그 이벤트는 모니터링되는 애플리케이션 또는 리소스가 기록한 활동의 레코드
  • 로그 스트림 - 로그 스트림은 모두 모니터링되는 동일한 리소스에 속하는 로그 이벤트의 시퀀스
  • 로그 그룹 - 동일한 보존 및 권한 설정을 공유하는 로그 스트림으로 구성

 

CloudWatch 경보

지표의 지속적인 상태 변화에 따라 자동으로 작업을 시작할 수 있음
  • CloudWatch 경보 유형
    • OK: 지표가 정의된 임계값 내에 있음
    • ALARM: 지표가 정의된 임계값을 벗어남
    • INSUFFICIENT_DATA: 경보가 방금 시작되었거나, 지표를 사용할 수 없거나, 지표의 경보 상태를 확인할 수 있는 데이터가 충분하지 않음

 

솔루션 최적화

 

가용성

일반적으로 단일 연도의 가동 시간 백분율(또는 숫자 9의 개수)로 표시
  • 가용성을 높이려면 중복성이 필요

 

가용성 개선 방법

  • 서버 추가
  • 다른 가용 영역에 두 번째 EC2 인스턴스를 배포
  • 부하 분산기를 사용
  • 도메인 이름 시스템(DNS)을 사용

 

Amazon Elastic Load Balancing을 사용한 트래픽 라우팅

 

로드 밸런서

리소스 집합에 작업을 분산하는 프로세스
  • 로드 밸런서를 사용하여 애플리케이션을 호스팅하는 모든 서버에 요청을 분산할 수 있음

 

Elastic Load Balancing

AWS에서 제공하는 로드 밸런싱 솔루션
  • 관리 또는 운영할 필요가 없음
  • 온프레미스 서버로도 로드 밸런싱됨
  • 고가용성
  • 수신 트래픽의 수요에 맞게 자동으로 확장

 

ELB 구성 요소

  • 규칙 - 대상 그룹을 리스너에 연결
  • 리스너 - 클라이언트가 연결하는 곳
  • 대상 - 백엔드 서버 또는 서버 측은 하나 이상의 대상 그룹으로 정의

 

Application Load Balancer

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

 

네트워크 로드 밸런서

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

 

Amazon EC2 Auto Scaling

용량 문제 해결

  • 수직 크기 조정 - 서버의 크기를 늘리는 것
  • 수평 크기 조정 - EC2 인스턴스를 자동으로 생성 및 제거

 

Amazon EC2 Auto Scaling

용량을 추가 및 제거하여 가능한 최저 비용으로 안정적이고 예측 가능한 성능을 유지
인프라의 크기를 조정하고 고가용성을 보장하는 데 모두 도움이 됨

 

EC2 Auto Scaling 구성 요소

  • 시작 템플릿 또는 구성
  • EC2 Auto Scaling 그룹
  • 크기 조정 정책

 

시작 템플릿

EC2 인스턴스를 생성하기 위해 필요한 정보들이 저장되는 곳
  • 시작 템플릿을 사용하면 EC2 인스턴스를 수동으로 시작할 수 있음

 

EC2 Auto Scaling 그룹

EC2 Auto Scaling이 리소스를 배포하는 위치를 정의할 수 있음
  • EC2 인스턴스를 시작해야 하는 Amazon VPC 및 서브넷을 지정
  • EC2 인스턴스 구매 유형을 지정

 

EC2 Auto Scaling을 사용한 가용성

EC2 Auto Scaling은 EC2 인스턴스가 비정상이 될 경우 EC2 인스턴스를 대체하여 항상 4개의 EC2 인스턴스를 사용할 수 있도록 함으로써 고가용성을 보장

 

3가지 유형의 크기 조정 정책

  • 단순 크기 조정 정책
  • 단계 크기 조정 정책
  • 대상 추적 크기 조정 정책

 

 

※ 본 게시글은 AWS Skill Builder 사이트 AWS Technical Essentials 강의를 필기한 것입니다.

 

(강의 사이트)
https://explore.skillbuilder.aws/learn/course/internal/view/elearning/10255/aws-technical-essentials-korean

728x90