Module 7 : 시스템 상태 모니터링 및 유지 관리
AWS CloudWatch
- Metric(지표)
- key:value(cpu:80)
- 표준 지표 : AWS에서 수집하여 자동적으로 제공
- 사용자 지표 : App 성능 지표에 따라 사용자 설정
- 디폴트 수집 간격 : 5분
- Detail Monitoring 선택 시 1분 간격 수집 + 추가 비용
- 사용자 지표 사용 한정 초 단위 주기 설정 가능
- logs
- App, DB 서버 등의 로그를 텍스트 형태로 적재
- Filter 기능을 통해 Key:Value 형태로 변환 가능
- 설정한 Agent가 CloudWatch로 보내 Metric으로 사용 가능
- 텍스트 형태 데이터이기에 저장 비용이 비싸다.
- 그래서 S3에 보관하는 것을 권장
- Alarm(경보)
- 설정한 Metric 임계값에 따라 Event Driven으로 Auto Scaling, SNS 이벤트 알림 또는 Lambda 로직 수행 가능
- 상태
- Alarm : 지표가 임계값에 도달
- OK : 지표가 임계값 미만
- Insufficient : 지표에 대한 데이터가 불충분
- Event
- Rule Event (Event 대처 자동화)
- 대상 지정 → 상태 지정 → 처리
- ex) EC2 인스턴스 1번 → stop 상태 → 관리자에게 SNS
- Schedule Event
- 지정 시간에 Lambda 함수 등을 실행할 수 있다.
- ex) 오전 8:50 개발용 인스턴스 start, 오후 6:00 개발용 인스턴스 stop
Auto Scaling (Advanced)
기존 EC2 인스턴스에 대해서만 적용되는 Auto Scaling이었지만 점점 그 가용 범위를 넓혀가고 있다.
Auto Scaling 효율성
인스턴스가 뜨는 시간으로 인해 스케일링 시 즉각적인 반영이 어렵다. 때문에 AMI와 user-data 스크립트 등을 조정해 효율성을 높여야 한다.
- AMI Baking 전략
- Raw Bake : 환경이 바뀔 것을 고려해 최소한의 구성만 이미지로 만든다. 가볍기 때문에 인스턴스가 빨리 뜬다.
- Half Bake : Raw와 Full 사이
- Full Bake : 모든 구성을 포함한 무거운 AMI를 만든다.
- Netflix는 Full Bake 사용
Auto Scaling on RDS
DBA가 조정하던 데이터베이스의 스토리지를 Auto Scaling을 통해 자동화 할 수 있다.
- RDS 설정
1. DB 엔진 선택
2. EC2 타입 선택 (ex: db.t3.small)
3. Storage 지정 - Auto Scaling 적용 가능
Aurora Read Replica(RR)
Master DB에는 쓰기 작업만 하여 I/O Limit을 줄이고 Aurora 기준 최대 15개 복제본들을 통해 읽기 작업을 한다.
이 때 이 Read Replicas를 Auto Scaling을 통해 관리할 수 있다.
Module 8 : 데이터 보안 및 시스템 감사
IAM Access Analyzer
액세스 권한이 있는 외부 엔티티가 내부 AWS 리소스에 접근을 시도한다면 Access Analyzer가 확인하고 관리자의 정책 설정 실수인지 외부의 악의적인 침입 시도인지 파악해준다.
- 리전 레벨 서비스 : 서울 리전, 도쿄 리전 두 군데에 인프라가 있다면 따로 만들어 사용해야 한다.
- 관리자가 상세 분석된 액세스 정보를 보고 Intended Access 또는 Not Intended의 선택으로 처리할 수 있다.
Permission Boundary
Condition - stringEqual 에서 바운더리를 주어 위임된 관리자가 Full 권한의 새로운 Role을 생성할 경우 보안적 위험 요소를 제거한다. Permission Boundary와 해당 사용자의 권한의 교집합으로 실 권한이 결정된다.
AWS CloudTrail
- Amazon S3에 계정의 모든 AWS 서비스에 대한 API 호출 상호 작용을 기록
- 접근 성공 뿐만 아니라 권한 부족 등으로 인한 실패까지 기록한다.
- 주요 정보
- userIdentity
- eventTime
- eventName
Amazon Athena
SQL을 사용하여 Amazon S3에서 로그 데이터를 분석하는 대화형 쿼리 서비스를 제공한다.
- 서버리스
- S3 버킷 위치만 알려주면 알아서 쿼리해온다.
- 교차 리전 쿼리가 지원됨 (타 리전의 S3).
- Presto 및 Apache Hive 사용 가능
- 데이터를 로드하거나 집계할 필요 없음.
AWS Config
- 인벤토리에 포함된 리소스와 연결된 모든 구성 변경 사항에 대한 세부 정보를 지속적으로 캡처
- 규정 준수 모니터링
- 변경 사항 발생 시 SNS 또는 Lambda 로직 연계 수행 가능
Amazon GuardDuty
- Multi Account 환경에서 지능형 위협 탐지 가능
- CloudTrail 이벤트, VPC 흐름 로그, DNS 로그에 대해 Machine Learning을 통한 분석
- 세부적인 탐지 결과를 활용하여 블랙리스트/화이트리스트 등 조치를 취한다.
- GuardDuty → CloudTrail Logs → Filtering → CloudTrail Event Rule → AWS Lambda → NACL 조정
- Lambda 함수에 대해 미리 작업에 필요한 IAM Role을 부여해야 한다.
Amazon Inspector
AWS의 보안 전문가가 모범 사례를 지속적으로 올린다.
사례에 따라 탐지하고, 탐지 결과 보고서를 생성한다.
인시던트 자동화
AWS Config 및 AWS Systems Manager Automation, AWS CloudTrail, AWS Lambda를 연계해 인시던트 자동화가 가능하다.
AWS Certification Guide
https://github.com/serithemage/AWSCertifiedSolutionsArchitectUnofficialStudyGuide
'IT > AWS 공인 교육' 카테고리의 다른 글
Systems Operations on AWS - Module 9~11 (0) | 2021.12.03 |
---|---|
Systems Operations on AWS - Module 6a~b (0) | 2021.12.01 |
Systems Operations on AWS - Module 3~5 (0) | 2021.11.30 |
Systems Operations on AWS - Module 1~2 (0) | 2021.11.29 |
Architecting on AWS - 03 (0) | 2021.11.13 |