AWS VPC 프라이빗/퍼블릭 서브넷 & 인터넷 게이트웨이 & 라우팅 테이블


VPC를 설정 할 땐, 퍼블릭/프라이빗 영역설정이 중요하다

VPC (Virtual Private Cloud)란?

VPC는 Virtual Private Cloud의 약자로 AWS 클라우드 내 논리적으로 독립된 섹션을 제공하여,
사용자가 정의한 가상 네트워크상에서 다양한 AWs 리소스를 실행할 수 있게 지원한다.
한 마디로 독립된 가상의 클라우드 네트워크 라 볼 수 있다.

사용자는 VPC 내에 IP 대역, 인터페이스, 서브넷, 라우팅 테이블, 인터넷 게이트웨이, 보안 그룹,
네트워크 ACL 등을 생성하고 제어할 수 있다.

퍼블릭/프라이빗 서브넷이 하나씩 있는 VPC의 사례

이쯤에서 네트워크 전송의 기본 개념에 대해 한 번 더 짚고 넘어가도록 하자.

OSI 7계층

정처기 시험에 매번 빠지지 않고 등장하는 OSI 7계층

네트워크 동작 과정을 7개의 계층으로 나누어 네트워크 통신 흐름을 한눈에 알아 볼 수 있다.
계층별로 하위 계층의 기능을 이용하고 상위 계층으로 기능을 제공하는 상하 관계!

  1. Physical 물리 계층 - 하드웨어 전송 기술
  2. Data Link 계층 - 정보의 오류와 흐름을 관리하여 데이터의 전달
  3. Network 계층 - 데이터를 목적지까지 빠르고 안전하게 전달(라우팅) / 최적의 노드경로 탐색
  4. Transport 전송 계층 - 데이터의 유효성과 효율성
  5. Session 계층 - 종단의 사용자 간의 응용 프로세스 통신 관리
  6. Presentation 계층 - 데이터의 형식상 차이를 송/수신자간 이해할 수 있는 형태로 데이터를 표현
  7. Application 계층 - 응용 프로세스와 직접 연계하여 실제 응용프로그램을 사용

퍼블릭 IP 와 프라이시 IP

기본적으로 네트워크의 통신 용도에 따라 퍼블릭 / 프라이빗으로 구분 짓는다.

퍼블릭 - 실제 인터넷 구간으로 통신하는 공공 네트워크
프라이빗 - 인터넷 구간이 아닌 내부적으로 통신하는 사설 네트워크

퍼블릭 IP (공인 IP)

  • 인터넷 구간의 통신 대상을 식별하기 위해 ISP에서 제공하는 IP 주소. (전세계 유일)

프라이빗 IP (사설 IP)

  • 독립된 네트워크에서 사용하는 내부 IP 주소.
  • 3가지 대역 (Class)으로 고정
    • Class A : 10.0.0.0 ~ 10.255.255.255
    • Class B : 172.16.0.0 ~ 172.31.255.255
    • Class C : 192.168.0.0 ~ 192.168.255.255

서브넷과 서브넷 마스크

서브넷은 VPC내에 부분적인 네트워크.
서브넷 마스크는 IP주소에 네트워크 ID와 호스트 ID를 구분하는 기준값!

서브넷 마스크를 통한 서브넷 구분은 이렇게 한다

포트 번호

TCP 와 UDP의 특성에 따라 제공되는 응용 프로그램 서비스가 있는데, 이때 포트 번호를 통해 구분한다.
TCP의 포트 번호 80은 HTTP 서비스로 예약되며, UDP의 포트 번호 53은 DNS 서비스로 예약된다.
보통 사용자들과의 접점이 되는 포트를 80번을 열어두는 이유가 바로 이 것 ㅎㅎ

라우팅 & 라우터 & 라우팅 테이블

라우팅이란 네트워크 통신을 수행할 때 거쳐 가는 경로를 잡아주는 OSI 7계층에서도
3계층인 네트워크 계층에서의 핵심적인 기능!

네트워크는 여러 개의 서브넷으로 이루어져 있어, 목적지 IP로 향할 때
여러 노드를 거쳐서 통신이 된다.

복잡하게 연결된 네트워크 망에서 최적이 경로를 잡아 통신하는 것이 바로 라우팅!
라우팅을 수행하는 장비 ? 라우터 !
라우터가 경로를 파악하고 원하는 목적지 대상으로 데이터를 전달하는 표? 라우팅 테이블!

AWS 의 VPC 서브넷 IP 대역 할당 정책

1
2
3
4
5
6
7
8
예를 들어 VPC A(10.0.0.0/16) 내부의 서브넷에 할당할 IP대역이 10.0.0.0/24이라면 10.0.0.0~10.0.0.255 중에서
첫번째 주소: 10.0.0.0 - 네트워크 주소
두번째 주소: 10.0.0.1 - AWS VPC 가상 라우터 주소
세번째 주소: 10.0.0.2 - AWS DNS 서버 주소
네번째 주소: 10.0.0.3 - 향후 새로운 기능에 활용할 주소
마지막 주소: 10.0.0.255 - 네트워크 브로드캐스트 주소
VPC 내 여러 서브넷이 존재할 경우 첫번째 서브넷의 세번째 주소를 DNS 서버 주소로 사용합니다.
나머지 서브넷의 세번째 주소는 AWS에서 예약되어 있습니다.

인터넷 게이트웨이 (Internet Gateway)

인터넷 게이트웨이는 VPC와 인터넷 간의 논리적인 연결 !
즉, VPC에서 인터넷 구간으로 나가는 관문 (VPC당 1개 생성)

인터넷 게이트웨이는 퍼블릭 IP를 사용하는 퍼블릭 서브넷 내의 자원
퍼블릭 서브넷은 라우팅 테이블에 외부 인터넷 구간으로 나가는 타깃지정 필수!

NAT 게이트웨이 (Network Address Translation Gateway)

NAT란 Network ADdress Translation의 약자로 즉, IP주소를 변환해 주는 기술!
인터넷 게이트웨이는 공공 네트워크 구간으로 퍼블릭 서브넷의 IP 통신을 도와주기 때문에,
프라이빗 IP는 인터넷 구간으로 넘어올 수가 없는데, 이때
NAT게이트웨이가 프라이빗 IP를 퍼블릭 IP로 변환하여 통신을 도와준다!
쉽게말하면, 인터넷 게이트웨이는 앞마당에 있는 대문! NAT 게이트웨이는 앞마당 옆 쪽문!

NAT 게이트웨이 활용방안의 예시

보안 그룹과 네트워크 ACL(Access Control List)

VPC는 인스턴스 레벨과 서브넷 레벨 상에서 대상을 필터링 할 수 있는 보안 기술을 사용 가능.
인스턴스 레벨 - 보안 그룹 (Security Group)
서브넷 레벨 - 네트워크 ACL (Access Control List)

보안그룹과 네트워크 ACL


출처) Cloudnet@ 팀의 ANOS (AWS Network Online Study 2기 학습 내용) https://cloudneta.github.io/

댓글