!!해당 글은 AWS Skill Builder의 AWS technical-essentials 과정을 요약한 내용입니다.!!
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
- 경보가 방금 시작되었거나, 데이터가 충분하지 않아 지표를 활용하지 못할 경우
- OK
- 경보를 설정하여 운영 문제를 예방하거나 해결할 수 있음
- 또는 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 |