ssung_데이터 엔지니어링/최종 프로젝트

최종 프로젝트_(2)

ssungcohol 2024. 2. 14. 23:43

AWS VPC

  • VPC란?
    • 가상의 데이터센터
    • 리전 단위
    • 외부에 격리된 네트워크 컨테이너 구성 가능 (여기서 컨테이너는 Not like Dokcer)
      • 원하는 대로 사설망 구축 가능
        • 부여된 IP 대역을 분할하여 사용 가능
  • VPC 사용사례
    • EC2, RDS, Lambda 등의 다양한 AWS의 컴퓨팅 서비스 실행
    • 다양한 서브넷 구성
    • 보안 설정 (IP Block, 인터넷에 노출되지 않는 EC2 구성)
  • VPC 구성요소
    • 서브넷
    • 인터넷 게이트웨이
    • NACL(나클) / 보안 그룹
    • 라우트 테이블
    • NAT Instance / NAT Gateway
    • Bastion Host
    • VPC Endpoint
  • 서브넷
    • VPC의 하위 단위로 VPC에 할당된 IP를 더 작은 단위로 분할한 개념
    • 하나의 서브넷은 하나의 가용영역(AZ) 안에 위치
    • CIDR block range로 IP 주소 지정
    • 서브넷의 IP 갯수
      • AWS의 사용 가능 IP숫자는 5개를 제외하고 계산
        • Ex - 10.0.0.0/24 일 때
          • 10.0.0.0 : 네트워크 어드레스
          • 10.0.0.1 : VPC Router
          • 10.0.0.2 : DNS Server
          • 10.0.0.3 : 미래에 사용을 위해 남겨 둠
          • 10.0.0.255 (마지막 번호) : 네트워크 브로드캐스트 어드레스 (단, 브로드캐스트는 지원하지 않음)
          • 즉, 총 사용 가능한 IP 갯수는 2^8 - 5 = 251
    • 서브넷 종류
      • 퍼블릭 서브넷 : 외부에서 인터넷을 통해 연결할 수 있는 서브넷
        • 인터넷 게이트웨이(IGW)를 통해 외부의 인터넷과 연결되어 있음
        • 안에 위치한 인스턴스에 퍼블릭 IP 부여 가능
        • 웹서버, 어플리케이션 서버 등 유저에게 노출되어야 하는 인프라
      • 프라이빗 서브넷 : 외부에서 인터넷을 통해 연결할 수 없는 서브넷
        • 외부 인터넷으로 경로가 없음
        • 퍼블릭 IP 부여 불가능
        • 데이터베이스, 로직 서버 등 외부에 노출 될 필요가 없는 인프라
    • 인터넷 게이트웨이
      • VPC가 외부의 인터넷과 통신할 수 있도록 경로를 만들어주는 리로스
      • 기본적으로 확장성과 고가용성이 확보되어 있음
      • IPv4, IPv6지원
        • IPv4의 경우 NAT 역할
        • Route Table에서 경로 설정 후에 접근 가능
        • 무료
  • 라우트 테이블 (Route Table)
    • 트래픽이 어디로 가야 할지 알려주는 이정표
  • 보안 그룹 (Security Group)
    • 인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽 역할
    • Network Access Control List (NACL)와 함꼐 방화벽의 역할을 하는 서비스
    • Port 허용
      • 기본적으로 모든 포트는 비활성화
      • 선택적으로 트래픽이 지나갈 수 있는 Port와 Source를 설정 가능
      • Deny는 불가능 → NACL로 가능
    • 인스턴스 단위
      • 하나의 인스턴스에 하나 이상의 SG 설정 가능
      • NACL의 경우 서브넷 단위
      • 설정된 인스턴스는 설정한 모든 SG의 룰을 적용 받음
      • 기본 5개, 최대 16개
    • Statful
      • 보안그룹은 Stateful
      • Inbound로 들어온 트래픽이 별 다른 Outbound 설정 없이 나갈 수 있음
      • NACL은 Stateless (Stateless는 그와 반대로 Outbound 설정 없이 나갈 수 없음)
    • 네트워크 ACL (NACL)
      • 보안그룹처럼 방화벽 역할을 담당
      • 서브넷 단위
      • 포트 및 IP를 직접 Deny 가능
        • 외부 공격을 받는 상황 등 특정 IP를 블록하고 싶을 때 사용
      • 낮은 숫자부터 순서대로 보안규칙을 평가
      • NACL 규칙
        • 규칙 번호 : 규칙에 부여되는 고유 숫자이며 규칙이 평가되는 순서 (낮은 번호부터)
        • 유형 : 미리 지정된 프로토콜. 선택 시 AWS에서 잘 알려진 포트에 규칙이 지정
        • 프로토콜 : 통신 프로토콜 (TCP, UDP, SMP …)
        • 포트 범위 : 허용 혹은 거부할 포트 범위
        • 소스 : IP 주소의 CIDR 블록
        • 허용/거부 : 허용 혹은 거부 여부
      • NAT Gateway
        • 프라이빗 서브넷에 있는 인스턴스에서 인터넷에 쉽게 연결할 수 있도록 지원하는 가용성이 높은 AWS 관리형 서비스
        • Private 인스턴스가 외부의 인터넷과 통신하기 위한 통로
        • NAT Instance는 단일 EC2인스턴트 / NAT Gateway는 AWS에서 제공하는 서비스
        • NAT Gateway / Instance는 모두 서브넷 단위
          • Public Subnet에 있어야 함
      • Bastion Host
        • Private 인스턴스에 접근하기 위한 EC2 인스턴스
        • Public 서브넷에 위치해야 함
        • 방법이 복잡하여 Session Manager를 통해 Private EC2로 접속하기를 권장
728x90

'ssung_데이터 엔지니어링 > 최종 프로젝트' 카테고리의 다른 글

최종 프로젝트_(6)  (0) 2024.03.08
최종 프로젝트_(4)  (0) 2024.02.28
최종 프로젝트 (3)  (0) 2024.02.21
최종 프로젝트_(1)  (0) 2024.02.13