kaonmir
시리즈
SAA
DOP
System Design Interview
Linux
ETC
Sign In
Home
Kaonmir (손성훈)
Copy & Translate
시리즈
SAA
DOP
System Design Interview
Linux
ETC
AI를 더 잘 쓰기 위한 IT 용어
구독

Monitoring, Troubleshooting & Audit

1. CloudWatch

•
CloudWatch Metrics - 매 5분마다 모든 AWS 서비스에서 지표를 가져 올 수 있다.
•
EC2 Detailed monitoring - 매 1분마다 지표를 가져올 수 있다.
•
Custom Metrics - 메모리 사용량, 디스크 공간, 사용자 수 등을 PutMetricData API를 호출해 전송한다. 표준(1분마다)과 고분해능(1초마다) 옵션이 있어, 가격과 API 호출을 조절할 수 있다.
•
DashBoard - 글로벌에서 동작하며, 여러 계정과 리전을 한 데 모아 볼 수 있다.

Logs

•
Log Streams - 지표별 스트림 데이터
•
Log Group - 로그 스트림의 집합. S3에 저장할 수도 있지만 최대 12시간이 걸리므로 추천하지 않는다. 그 대신 구독 필터를 쓸 수 있다.
•
Subscription Filter - 로그를 계정, 리전에 상관없이 Kinesis Data Streams, Firehose, Lambda, OpenSearch로 보낼 수 있다.

Log Agent

EC2나 온프레미스에 로그 에이전트를 설치하고 IAM 권한을 설정해 줘서 CloudWatch Logs로 데이터를 보낼 수 있게 한다. 최근 Logs Agent 대신 Unified Agent를 사용해 시스템 수준(CPU, RAM, Disk, Network)의 지표를 수집할 수 있고 SSM Parameter Store와 통합할 수 있다.
•
CPU
•
Disk Metrics, Disk IO
•
Netstat
•
Processes
•
RAM
•
Swap Space

Alarm

지표가 특성 수치에 도달했을 때, 알림을 주는 서비스이다. OK, INSUFFICENT_DATA, ALARM 상태가 있으며 10초~60초 마다 알릴 수 있게 한다. Alarm의 기능은 아래와 같다.
•
EC2의 상태를 변경
•
Auto Scaling Action 발생
•
SNS에 알림
가령, EC2의 인스턴스 상태와 HW 상태를 모두 확인한다. 불량이 확인되면 모든 정보를 유지한 채 재시작할 수 있게 한다.

Events / Amazon EventBridge

EventBridge는 CloudWatch Events의 발전형으로, 여러 계정과 소스에서 이벤트를 발생시킬 수 있다. 이 이벤트를 통해 Lambda나 Fargate 같은 서비스를 실행할 수도 있다. 아래는 이벤트를 발생시키는 소스 목록이다.
•
Default event bus - AWS 서비스에 의해 (CloudWatch Event)
•
Partner event bus - 다른 SaaS 서비스나 어플리케이션에 의해
•
Custom Event bus - 자체 어플리케이션에 의해
EventBridge는 Schema Registry를 지원해 이벤트의 구조를 사전 등록할 수 있다.

2. CloudTrail

AWS 계정에 대해 관리, 규정 준수, 감사 기능을 제공하는 서비스이다. 모든 리전에서 이미 실행되어 있으며, 모든 이벤트와 API을 기록해 놓는다. 이 로그는 S3나 CloudWatch Logs로 보낼 수 있다. 단일 리전에 대해서만 CloudTrail을 적용할 수도 있다.

Events

기본적으로, Management Events만 로깅된다. 90동안만 저장한다.
•
Management Events - VPC, 보안, 로깅 관련 API. 로그인 등의 중요 이벤트. 읽기/쓰기 이벤트로 나눌 수 있다.
•
Data Events - 리소스에서 수행되는 작업에 대한 정보. S3 GetObject 등
•
CluodTrail Insights Events - 비정상적인 활동을 기록.

Organizational Trail

관리 계정에서 하위 OU 전부를 CloudTrail에 기록하고 저장할 수 있다. 그러면 CloudTrail은 <bucket>/Logs/<ou-id>/<account-id> 형식으로 S3에 저장할 수 있다.

3. Config

리전별로 리소스의 구성을 추적하고 감사하는 서비스이다.
•
구성이 바뀔 때마다 이벤트 수신(SNS)
•
구성을 버젼별로 추적
•
리소스별로 구성을 검색
•
여러 계정과 리전을 묶어서 관리
•
S3에 구성을 저장해 Athena로 분석

Config Rule

규칙을 만들고 리소스의 구성 설정을 평가한다. 구성이 변경되거나 주기적으로 규칙을 평가하고, 규칙을 만족하지 못 하면 “규칙 미준수”로 표시한다. 예)EBS의 타입이 gp2인가
•
조정 - “규칙 미준수”일 때, SSM Automation Document을 실행해 리소스를 수정할 수 있다.
•
알림 - 이벤트를 트리거하여 서비스를 실행하거나 유저에게 알릴 수 있다.

4. CloudWatch vs CloudTrail vs Config

Elastic Load Balancer에 대해 각각의 서비스를 적용한다.

CloudWatch

•
들어오는 연결 수 측정
•
에러 코드의 비율 측정
•
로드 밸런서의 성능 측정

CloudTrail

•
누가 API를 호출해서 ELB를 변경했는지 기록

Config

•
보안 그룹 추적
•
설정 변경 추적
•
SSL 자격 증명 적용 여부 확인

5. (SAP, DOP)

로그 종류

•
Application Logs
•
Operation System Logs
•
Access Logs - 웹사이트에서 파일을 요청한 기록

AWS Managed Logs

•
Load Balancer Access Logs ⇒ S3
•
CloudTrail Logs ⇒ S3, CloudWatch Logs
•
VPC Flow Logs ⇒ S3, CloudWatch Logs
•
Route 53 Access Logs ⇒ S3, CloudWatch Logs
•
S3 Access Logs ⇒ S3
•
CloudFront Access Logs ⇒ S3
•
AWS Config ⇒ S3
Made with Slashpage