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

 

AS (Autonomous System) in Dynamic Routing

개별 라우팅 테이블의 데이터 적재를 줄이고 CPU 자원을 확보하여 효율을 높이기 위해 만들어진 여러 네트워크들의 묶음 또는 집합.

 

IGP(Internal Gateway Protocol) (AS 내에서)

AS 안에서 라우팅 테이블을 만드는 역할을 수행한다.

IGP에는 IGRP, RIP, OSPF 등 여러가지 프로토콜이 있다.

 

EGP(External Gateway Protocol) : BGP (AS 사이에서)

서로 다른 AS 사이에서 라우팅 테이블의 값을 공유하게 하는 역할을 수행한다.

EGP의 종류는 BGP 하나 뿐이다.

 

Backbone Router

각 AS마다 하나씩 존재하는 성능이 뛰어난 라우터.

많은 양의 데이터를 처리할 수 있는 이 라우터를 통해 AS 간 BGP를 수행한다.

Distance Vector 계열 (거리에 따른 방향 결정)

특징

  • 라우팅 테이블의 경로 정보를 전달한다.
  • 네트워크 전체 경로를 파악하지 못한다.
  • Split-horizon 기능에 영향을 받는다.
  • 자동 업데이트 주기를 가진다 (RIP=30s, IGRP=90s).
  • 수렴 시간이 느리다.
  • Auto-summary를 할 수 있으며 기본적으로 enable되어 있다 (주소를 압축하는 것).
  • 대규모 네트워크에서 동작되기엔 부적합하다 (최대 홉 카운트가 16이기 때문).
  • Link State 계열에 비해 비교적 설정이 간단하다.

작동 프로세스

서로 라우팅 테이블을 주고 받으며, 다른 라우터로부터 오는

Routing Table Update Packet을 검증 과정 없이 전적으로 믿고 업데이트한다 (루머에 의한 라우팅).

잘못된 정보에 의해서 Loop가 발생될 수 있다.

Metric

Metric 값이란 하나의 라우팅 프로토콜에서 만들어 낸 많은 경로 중 하나를 선택하기 위한 지표를 말한다.

RIP에서는 Hop Count를 Metric 값으로 사용한다.

프로토콜 자체의 우선 순위를 지정하기 위한 AD(Administrative Distance)와 혼동하면 안 된다.

대표적 프로토콜 : RIPv2 (Routing Information Protocol)

  • Classless 방식 (보다 정확하게 라우팅할 수 있다)
  • Auto/Manual-summary
  • 한 네트워크 내에서 서로 다른 길이의 IP 주소를 사용하는 VLSM(Variable Length Subnet Mask) 지원
  • 224.0.0.9(Multicast Address) 주소 사용
  • Authentication 과정이 있어 보안성이 강화됨
  • 최대 6개의 Cost Equal Path 지원 : 같은 Metric 값의 경로들로 데이터를 부하 분산시켜 전송하는 것(Load Balancing).
  • 전송 속도를 감안하지 않고 절대적으로 Hop Count로만 Metric 값을 결정하기 때문에 때때로 비효율적인 경로를 선택할 수 있다.

하나의 예시로 위 Topology에서 R1에 RIPv2를 올리려면

 

R1(config)#router rip

R1(config-router)#version 2 (v2로 설정)

R1(config-router)#no auto-summary (Classless로 설정)

R1(config-router)#network 192.168.23.0 (광고할 네트워크)

R1(config-router)#network 3.3.3.0

 

Commands

show ip protocols : 라우팅 프로토콜 조회

show ip route : 라우팅 테이블 조회 (뒤에 rip을 붙이면 rip으로 만들어진 테이블만 나온다)

debug ip rip : RIP 디버깅 시작

un all : 디버깅 종료

 


 

아래는 RIPv2를 적용시키는 연습용 Topology이다.

'IT > Network Theory' 카테고리의 다른 글

Static Floating Routing  (0) 2021.09.06
Static Routing의 올바른 사용법  (0) 2021.09.06
Switch & VLAN Network  (0) 2021.09.04
Routing Concept & Static Routing  (0) 2021.09.03
Routing Lab Compilation  (0) 2021.09.03

+ Recent posts