[AWS] VPC 정복하기

hahaha·2021년 10월 26일
0

AWS

목록 보기
3/6
post-thumbnail

들어가기 전에

CIDR (Classless Inter-Domain Routing) 블록

  • CIDR 표기법을 통해 IP 주소 범위 지정
  • IP의 범위를 간단하게 표기하는 방식

CIDR 표기법

  • [IP 주소] / [Prefix]
  • prefix
    - 범위: 0 ~ 32 (반드시 8의 배수인 것은 아님)
    - 상위 고정 비트 or 네트워크 파트
    (고정되지 않은 하위 비트가 호스트 파트이며 범위값을 가짐)
  • CIDR 블록이 가지는 IP 범위 개수: 2^(32-prefix)
  • ex) 143.7.65.203/24 인 경우
    - 143.7.65.0 ~ 143.7.65.255 범위 내 사용 가능(4번째 옥텟 - 파란색 부분 전부 사용 가능)
    - 하나의 옥텟은 8비트(256개)

VPC (Virtual Private Cloud)

  • 사용자 전용 가상 네트워크 망 (리전 서비스)
  • 논리적으로 분리된 가상의 네트워크 공간 제공
  • 각각의 VPC는 완전히 독립된 네트워크처럼 작동하게 됨
  • EC2의 네트워크 계층
  • 많은 AWS 서비스들이 VPC를 통해 네트워크에 연결됨
    - EC2, ELB, RDS, SG, Network ACL, etc.

핵심 개념 정리

1. Subnet

  • VPC의 IP 주소 범위
  • VPC 내에 최소 단위의 논리 네트워크 그룹
  • 각각의 서브넷은 가용영역(AZ)안에 존재 (AZ 서비스)
  • EC2 인스턴스는 반드시 서브넷에 연결됨
  • 퍼블릭 서브넷: 인터넷과 연결되어 있는 서브넷
  • 프라이빗 서브넷: 인터넷과 연결되어 있지 않은 서브넷

2. Routing Table

  • VPC의 네트워크 트래픽을 전달할 위치를 결정하기 위한 라우팅 규칙 집합
  • 서브넷은 특정 라우팅 테이블과 명시적으로 연결
    - 연결하지 않는 경우, 기본 라우팅 테이블과 암묵적 연결
  • 여러 서브넷을 동일한 서브넷 라우팅 테이블에 연결가능
  • 모든 라우팅 테이블에는 기본적으로 VPC 내부 통신을 위한 로컬 라우팅이 포함되어 있음
  • 자신이 소속된 서브넷이 아닌 다른 곳으로 향할 때 반드시 VPC Router를 거쳐야 함

  • 라우팅 테이블은 위에서부터 우선 적용됨
  • 0.0.0.0/0: 모든 트래픽을 지칭(모든 IPv4 주소)
    - 퍼블릿 서브넷의 라우팅 테이블에 적용

3. Internet Gateway (IGW)

  • VPC의 리소스와 인터넷과의 연결을 위한 게이트웨이

- VPC 내의 리소스가 외부 인터넷과 통신할 수 있는 조건

  • 해당 리소스가 공인 IP 보유
  • 해당 리소스가 소속된 서브넷의 라우팅 테이블에 '0.0.0.0/0'이 IGW를 목적지로 가져야 함
  • Network ACL과 SG 규칙에서 허용해야 함

4. NAT Gateway (Network Address Translation)

  • 프라이빗 서브넷이 인터넷과 통신하기 위한 아웃바운드 인스턴스
  • 사설 네트워크(Private Network)에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위해
  • 반드시 퍼블릭 서브넷에 생성해야 함
  • 프라이빗 서브넷이 사용하는 라우팅 테이블에 0.0.0.0/0에 대해 NAT Gateway로 라우팅 되도록 설정
  • 외부에서 NAT Gateway를 이용하여 접속하는 것은 불가능

작동 과정

  1. Internet Gateway가 있는 퍼블릿 서브넷에 NAT Gateway 생성
  2. 공인 IP(Elastic IP)를 NAT Gateway에 할당
  3. 프라이빗 서브넷의 인스턴스들은 외부 인터넷으로 나아갈 때 공인 IP로 NAT되어 나아가게 됨

사설 IP 주소

  • Class A 규모 : 10.0.0.0 ~ 10.255.255.255 (10.0.0.0/8)
  • Class B 규모 : 172.16.0.0 ~ 172.31.255.255 (172.16.0.0/12)
  • Class C 규모 : 192.168.0.0 ~ 192.168.255.255 (192.168.0.0/16)

5. Security Group

  • 서브넷 내 인스턴스의 트래픽 제어
    - 인스턴스: EC2, RDS, ELB, VPC Interface Endpoint, etc.
  • 여러 개의 인스턴스가 하나의 SG 사용하거나 각각의 SG 사용 가능
  • Stateful: 한 번 인바운드 규칙을 통과한 트래픽은 아웃바운드 규칙 적용 받지 않음

6. Network ACL (Access Control List)

  • 서브넷을 오가는 트래픽을 제어하기 위한 방화벽 역할을 하는 선택적 보안 계층
  • SG와 달리 규칙, 허용/거부 항목 존재
  • 규칙 순서: 가장 작은 규칙 값을 가진 규칙이 먼저 적용
  • Stateless: 한 번 인바운드 규칙을 통과한 트래픽은 아웃바운드 규칙 적용을 받음

실습

profile
junior backend-developer 👶💻

0개의 댓글