[CloudNet@와 함께하는 AWS 네트워킹 입문] Amazon VPC Flow Logs

cabbage·2023년 6월 3일
0

AWS

목록 보기
9/9

인프런 강의 CloudNet@와 함께하는 AWS 네트워킹 입문 [섹션 11. Amazon VPC Flow Logs]를 정리한 글입니다.

Amazon VPC Flow Logs 기능이란

Amazon VPC Flow Logs는 VPC에 속한 네트워크 인터페이스에 대해 송수신 트래픽 흐름 정보를 수집하는 기능을 말한다.

  • 네트워크 인터페이스는 네트워크 통신 연결을 위한 물리적/논리적 접근 방법을 의미한다.
  • Amazon VPC에서는 ENI(Elastic Network Interface)라는 네트워크 인터페이스를 생성하고 자원에 연결할 수 있다.
  • 인스턴스가 통신하기 위해 네트워크 인터페이스가 필요하다.
  • VPC가 ENI를 생성하면 인스턴스와 연결하는 형태로 통신 환경을 구성한다.

VPC Flow Logs 3단계

  1. 대상 자원 선택: 로그 정보를 수집할 네트워크 인터페이스를 선택한다.
    a. VPC 내에 존재하는 모든 네트워크 인터페이스 선택
    b. 서브넷 내에 존재하는 네트워크 인터페이스 선택
    c. 특정 자원에 연결한 단일 네트워크 인터페이스 선택

  2. 트래픽 유형 선택: 로그 정보를 수집할 트래픽 유형을 선택한다.
    a. 허용 트래픽(ACCEPT): 허용 트래픽의 로그 정보 수집
    b. 거부 트래픽(REJECT): 거부 트래픽의 로그 정보 수집
    c. 모든 트래픽(ALL): 모든 트래픽의 로그 정보 수집

  3. 로그 정보 게시 대상 선택: 로그 정보를 게시할 대상을 선택한다.
    a. 스토리지 서비스인 S3에 로그 정보 보관
    b. 모니터링 서비스인 CloudWatch에 로그 정보 보관

  • 인스턴스는 통신하기 위해 네트워크 인터페이스인 ENI와 연결된다.
  • VPC Flow Logs
    • 로그 정보를 수집할 대상 자원인 ENI를 선택한다.
    • 로그 정보를 수집할 트래픽 유형을 선택한다.
    • 로그 정보를 게시할 대상을 선택한다.
  • 모든 VPC Flow Logs 설정이 완료되면 ENI에서 발생하는 트래픽의 로그 정보를 수집하고 게시하는 형태로 동작한다.

Amazon VPC Flow Logs 레코드

Amazon VPC Flow Logs 레코드는 수집된 로그 정보를 표출하는 정보 형태를 말한다.

  • 다양한 필드를 통해 로그 정보를 표현한다.

기본적으로 제공되는 VPC Flow Logs 레코드의 필드 정보는 다음과 같다.

  • version: VPC Flow Logs의 버전 정보. 기본적으로 버전 2를 사용한다. 버전이 올라갈수록 필드가 많아진다.
  • account-id: AWS 사용자 계정 식별 ID
  • interface-id: 네트워크 인터페이스 식별 ID
  • srcaddr: 출발지 IP
  • dstaddr: 목적지 IP
  • srcport: 출발지 포트 번호
  • dstport: 목적지 포트 번호
  • protocol: IANA 단체가 정의한 프로토콜 번호
    • TCP: 6번
    • UDP: 17번
  • packets: 전송한 패킷 수
  • bytes: 전송한 패킷 사이즈
  • start: 로그 정보 집계 시작 시간
  • end: 로그 정보 집계 종료 시간
  • action: 로그 정보 트래픽 유형
  • log-status: 로그 상태 정보

VPC Flow Logs는 로그 정보를 레코드의 여러 필드를 통해 수집한다.

Amazon VPC Flow Logs 게시

VPC Flow Logs를 통해 로그 정보를 레코드 형태로 수집한다. 수집한 로그 정보를 사용자가 확인하기 위해서는 VPC Flow Logs를 게시해야 한다.

  • VPC Flow Logs를 게시하기 위해 먼저 사용 권한을 부여해야 한다.

  • VPC Flow Logs는 ENI로부터 로그 정보를 수집하고 수집한 로그 정보를 레코드 형태로 정의한다.
  • 레코드 형태로 정의한 로그 정보를 S3나 CloudWatch에 게시한다.
  • 레코드 형태로 정의한 로그 정보를 S3나 CloudWatch에 게시하려면 먼저 사용 권한을 부여해야 한다.
    • 사용 권한을 부여하지 않으면 로그 정보를 게시할 수 없다.

AWS IAM을 통해 사용 권한을 부여할 수 있다.

AWS IAM 서비스란

AWS IAM(Identity & Access Management) 서비스는 AWS 서비스와 자원에 대한 접근을 안전하게 관리하는 인증과 권한을 통제하는 서비스이다.

AWS IAM은 Identity와 Access Management로 나눠서 이해할 수 있다.

  • Identity: 대상 식별
  • Access Management: 권한을 통제하여 서비스 접근 관리

AWS IAM을 구성하는 주요 요소들

  • 사용자
    • AWS 자원 사용 객체를 말한다.
    • AWS 계정을 총괄하는 루트 사용자가 아닌 계정 내에 생성된 사용자를 말한다.
    • 사용자에게 권한을 부여하여 AWS 자원 사용을 통제할 수 있다.
  • 그룹
    • 공통 작업을 수행할 수 있도록 다수의 사용자를 집합한다.
  • 역할
    • AWS 자원 사용 권한이 없는 사용자나 다른 서비스에게 일시적으로 권한을 부여해 임시 자격 증명을 제공한다.
    • '사용자'와 '그룹' 구성 요소처럼 직접적인 권한을 부여하는 것은 아니다.
  • 보안 주체
    • '사용자'와 '역할' 구성 요소를 보안 주체로 분류할 수 있다.
    • 보안 주체가 특정 작업을 수행할 수 있는 권한이 필요하다.
  • 정책
    • 자격 증명이나 AWS 자원 접근에 대한 권한을 정의한다.
    • 보안 주체에게 어떤 작업을 요청할 때 권한을 평가하는데, 이때 정책에 의해 요청을 허용할지 거부할지를 결정한다.

AWS CloudWatch 서비스란

AWS CloudWatch는 실시간으로 로그 정보와 이벤트 정보를 수집하여 대시보드에서 시각화하는 모니터링 도구이다.

CloudWatch의 기능을 4가지 영역으로 구분한다.

  • 수집: AWS 자원의 지표나 로그 정보를 수집하는 기능
  • 모니터링: 수집한 정보를 대시보드를 통해 시각화하여 모니터링하는 기능
  • 대응: 특정 이벤트나 상황에 따라 자동으로 대응하는 기능
  • 분석: 일정 기간 동안 누적된 수집 정보를 분석하는 기능
profile
캐비지 개발 블로그입니다. :)

0개의 댓글

관련 채용 정보