VPC (Virtual Private Cloud)

EBAB!·2023년 7월 7일
0

AWS 자격증 준비

목록 보기
5/16
post-thumbnail

사설망과 CIDR

사설망

  • 한정된 IP주소를 최대한 활용하기 위해 IP주소를 분할하고자 만든 개념
    • IP4v기준으로 최대 IP갯수는 43억개
  • 하나의 퍼블릭 IP를 여러 기기가 공유할 수 있는 방법
  • 하나의 망에는 프라이빗 IP를 부여받은 기기들과 NAT 기능을 갖춘 Gateway로 구성
    • NAT(Network Address Translation) : 여러 IP주소의 트래픽을 교통정리 해주는 기능
    • 각 기기는 인터넷과 통신시 Gateway를 통해 통신
  • PrivateIP는 지정된 대역의 아이피만 사용 가능


CIDR (Classless Inter Domain Routing)

  • 주소의 영역을 여러 네트워크 영역으로 나누기 위해 IP를 묶는 방식
  • 여러 개의 사설망을 구축하기 위해 망을 나누는 방법

CIDR Notation

  • IP 주소의 집합
  • 네트워크 주소와 호스트 주소로 구성
  • 각 호스트 주소 숫자만큼의 아이피를 가진 네트워크 망 형성 가능
  • A.B.C.D/E의 형식
    • A,B,C,D : 네트워크 주소 + 호스트 주소 표시
    • E : 0~32를 가지고 네트워크 주소가 몇 bit인지 표시
    • ex. 10.0.1.0/24 , 172.16.0.0/12
  • CIDR Block
    - 호스트 주소 비트만큼 IP 주소 보유 가능
    - ex. 192.168.2.0/24 ⇒ 192.168.2.0~192.168.2.255 까지 IP 보유

서브넷

  • 네트워크 안의 네트워크
  • 큰 네트워크를 잘게 쪼갠 단위
  • 일정 IP 주소의 범위를 보유
    • 큰 네트워크에 부여된 IP범위를 조금씩 잘라 작은 단위로 나눈 후 각 서브넷에 할당
  • 구조

AWS 서브넷의 갯수

AWS의 사용 가능 IP 갯수는 5개를 제외하고 계산

ex. 10.0.0.0/24 일 때, 사용 가능한 IP는 256-5 = 251개

  • 10.0.0.0 : 네트워크 어드레스
  • 10.0.0.1 : VPC Router
  • 10.0.0.2 : DNS Server
  • 10.0.0.3 : 미래에 사용 가능성을 위해 남겨둠
  • 10.0.0.255 : Network Broadcast Address (단 브로드캐스트는 지원하지 않음)


VPC와 서브넷

AWS 설명 : Virtual Private Cloud는 사용자의 AWS 계정 전용 가상 네트워크입니다. VPC는 AWS 클라우드에서 다른 가상 네트워크와 논리적으로 분리되어 있습니다. EC2 인스턴스와 같은 AWS 리소스를 VPC 에서 실행할 수 있습니다. IP 주소 범위와 VPC 범위를 설정하고 서브넷을 추가하고 보안 그룹을 연결한 다음 라우팅 테이블을 구성합니다.


VPC

  • 가상의 데이터센터
  • 원하는 대로 사설망을 구축 가능
    • 부여된 IP대역을 분할하여 사용 가능
  • 리전 단윈
  • 사용 사례
    • EC2, RDS, Lambda 등의 AWS의 컴퓨팅 서비스 실행
    • 다양한 서브넷 구성
    • 보안 설정 (IP Block, 인터넷에 노출되지 않는 EC2 등 구성)

기본 VPC

  • AWS 계정 생성시 자동으로 생성되어 있음
  • 기본적으로 각 AZ마다 서브넷을 생성
    • 모든 서브넷에 인터넷 접근이 가능함(= 퍼블릭 서브넷)
  • 다양한 AWS 서비스가 기본 VPC를 이용하기 때문에, 삭제시 여러 AWS 서비스의 사용에 제약

커스텀 VPC

  • 직접 생성
  • 기본적으로 인터넷에 연결되어 있지 않음
    • 인터넷 게이트웨이와 라우팅 설정 없이 퍼블릭 서브넷 생성 불가능
    • 별도의 조치 없이 인터넷으로 연결 가능한 EC2 생성 불가능

VPC 구성요소

서브넷

  • VPC의 하위 단위로 VPC에 할당된 IP를 더 작은 단위로 분할한 개념
  • 하나의 서브넷은 하나의 AZ안에 위치
  • 별도의 설정이 없다면 동일한 서브넷 IP끼리만 통신 가능
    • 다른 서브넷과 소통하기 위해서는 라우팅 설정이 필요
  • CIDR block range로 IP 주소 지정
  • 종류
    • 퍼블릭 서브넷 : 외부에서 인터넷을 통해 연결할 수 있는 서브넷
      • 인터넷 게이트웨이(IGW)를 통해 외부의 인터넷과 연결되어 있음
      • 안에 위치한 인스턴스에 퍼블릭 IP부여 가능
      • 웹서버, 어플리케이션 서버 등 유저에게 노출되어야 하는 인프라
    • 프라이빗 서브넷 : 외부에서 인터넷을 통해 연결할 수 없는 서브넷
      • 외부 인터넷으로의 경로가 없음
      • 퍼블릭 IP 부여 불가능
      • 데이터베이스, 로직 서버 등 외부에 노출될 필요가 없는 인프라

인터넷 게이트웨이

NACL(Network Access Control List) / 보안 그룹

Route 테이블

  • 트래픽이 어디로 가야할 지 알려주는 이정표
  • VPC 생성시 기본으로 하나 제공

NAT Instance / NAT Gateway

Bastion Host

VPC Endpoint


VPC 흐름 로그

  • VPC의 네트워크 인터페이스에서 전송되고 수신되는 IP트래픽에 대한 정보를 수집할 수 있는 기능
    • 들어오고 나가는 IP주소
    • 프로토콜
    • 포트
    • 패킷 사이즈 등
  • S3나 CloudWatch에 저장 가능



NAT Gateway와 Bastion Host

NAT Gateway

NAT Gateway AWS 설명 : NAT 게이트웨이는 VPC의 프라이빗 서브넷에 있는 인스턴스에서 인터넷에 쉽게 연결할 수 있도록 지원하는 가용성이 높은 AWS 관리형 서비스입니다.

  • Private 인스턴스가 외부의 인터넷과 통신하기 위한 통로
  • NAT Instace : 단일 EC2 인스턴스
  • NAT Gateway : AWS에서 제공하는 서비스
  • NAT Instace/Gateway는 모두 서브넷 단위
    • Public Subnet에 있어야함
  • 구조


Bastion Host

Bastion Host 설명 : 외부에서 사설 네트워크에 접속할 수 있도록 경로를 확보해주는 서버.

  • Private 인스턴스에 접근하기 위한 EC2 인스턴스



보안 그룹과 NACL(Network Access Control List)

구체적인 보안 그룹 설명 : 인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽 역할을 합니다. VPC에서 인스턴스를 시작할 때 최대 5개의 보안 그룹에 인스턴스를 할당할 수 있습니다. 보안 그룹은 서브넷 수준이 아니라 인스턴스 수준에서 작동하므로 VPC에 있는 서브넷의 각 인스턴스를 서로 다른 보안 그룹 세트에 할당할 수 있습니다. 시작할 때 특정 그룹을 지정하지 않으면 인스턴스가 자동으로 VPC의 기본 보안 그룹에 할당됩니다.


보안그룹

  • NACL과 함께 방화벽의 역할을 하는 서비스
  • Port 허용
    • 기본적으로 모든 포트는 비활성화
    • 선택적으로 트래픽이 지나갈 수 있는 Prot와 Source를 설정 가능
    • Deny는 불가능 → NACL로 가능
  • 인스턴스 단위
    • 하나의 인스턴스에 하나 이상의 SG설정 가능
    • NACL의 경우 서브넷 단위
    • 설정된 인스턴스는 설정한 모든 SG의 룰을 적용 받음
    • 기본 5개, 최대 16개

보안 그룹의 Stateful

  • 보안 그룹은 Stateful
  • 인바운드로 들어온 트래픽이 별다른 아웃바운드 설정 없이 나갈 수 있음
  • NACL은 Stateless

NACL

  • 보안그룹처럼 방화벽 역할을 담당
  • 서브넷 단위
  • 포트 및 아이피를 직접 Deny 가능
    • 외부 공격을 받는 상황 등 특정 아이피를 블록하고 싶을 때 사용



VPC 연결

VPC Peering

  • AWS 설명 : VPC 피어링 연결은 프라이빗 IPv4 주소 또는 IPv6 주소를 사용하여 두 VPC간에 트래픽을 라우팅 할 수 있도록 하기 위한 두 VPC 사이의 네트워킹 연결입니다. 동일한 네트워크에 속하는 경우와 같이 VPC의 인스턴스가 서로 통신할 수 있습니다.
  • 두 개의 다른 VPC를 연결하여 VPC안의 다른 리소스끼리 통신이 가능하도록 설정하는 것
  • 다른 리전, 다른 계정의 VPC끼리 연결 가능
  • CIDR Range의 중첩 불가능
  • Transitice Peering 불가능

  • 통신을 위해서는 직접 연결되어 있어야 함
  • 혹은 Transit Gateway 이용


VPN (Virtual Private Network)

  • AWS 설명 : VPN 솔루션은 온프레미스 네트워크, 원격 사무실, 클라이언트 디바이스 및 AWS 글로벌 네트워크 사이에서 보안 연결을 설정합니다.

Site-to-Site VPN

  • 데이터센터와 AWS를 연결하는 하드웨어-하드웨어 연결 (1:1 연결)
  • IPSec 프로토콜 사용

Client VPN

  • AWS 온프레미스/AWS VPN장비와 사용자의 PC를 연결하는 하드웨어-소프트웨어 연결 (1:N)
  • PC가 네트워크 내부에 있는 것처럼 작동
  • TLS 프로토콜 사용


AWS Direct Connect

  • AWS 설명 : AWS Direct Connect 클라우드 서비스는 AWS 리소스에 대한 최단 경로입니다.
  • AWS와 온프레미스간 DXLocation을 경유한 전용선을 통해 연결
  • 외부 인터넷과 분리되어 있음
    • 외부에서 접근이 불가능하기 때문에 높은 보안
    • 인터넷 환경에 상관 없이 일정한 속도 보장
  • Direct Connect gateway : 여러 리전의 VPC를 한번에 DIrect Connect로 연결할 수 있는 서비스


AWS Transit Gateway

  • 중앙 허브를 통해 VPC들과 온프레미스 네트워크를 연결하는 서비스
  • 복잡한 Peering 관계를 제거하여 간소화
  • 리전 간에는 서로 다른 Transit Gateway끼리 연결

profile
공부!

0개의 댓글

관련 채용 정보