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

 

GitHub - serithemage/AWSCertifiedSolutionsArchitectUnofficialStudyGuide: 비공식 AWS 공인 솔루션스 아키텍트 – 어

비공식 AWS 공인 솔루션스 아키텍트 – 어소시에이트 시험 가이드. Contribute to serithemage/AWSCertifiedSolutionsArchitectUnofficialStudyGuide development by creating an account on GitHub.

github.com

 

+ Recent posts