02. VPC - 이론편
본 블로그 내용은 '따라하며 배우는 AWS 네트워크 입문' 도서를 바탕으로 정리한 내용입니다. 모든 저작권은 CloudNet@에 있습니다 :)
=> 아키텍처 이미지는 AWS 홈페이지를 참조하였습니다.
📌 VPC(Virtual Private Cloud) 란?
VPC는 AWS 클라우드 내 논리적으로 독립된 섹션을 제공하여, 사용자가 정의한 가상 네트워크상에 다양한 AWS 리소스를 실행할 수 있게 지원합니다.
AWS 클라우드 서비스는 사용자에 따라 네트워크 환경을 직접 설계할 수 있다는 특징을 가지고 있습니다. 사용자는 VPC 내에 IP대역, 인터페이스, 서브넷, 라우팅 테이블, 인터넷 게이트웨이, 보안 그룹 등을 생성하고 제어할 수 있습니다.
AWS 콘솔에서 VPC 대시보드에 접근하면 다양한 VPC 리소스들을 확인해볼 수 있습니다.

-
VPC 종류
-
기본 VPC (Default)
- 리전별로 1개씩 생성되어 있으며 기본 VPC 내에 AWS 리소스가 미리 정해져있습니다.
-
사용자 VPC (Custom)
- 사용자 정의에 의해 수동으로 AWS 리소스를 생성하고 제어할 수 있습니다.
-
VPC 특징
-
확장성
- 클라우드 기반에 손쉽게 VPC 자원을 생성하고 삭제가 가능하며, 설정 및 관리에 편의성을 제공합니다.
-
보안
- 인스턴스 레벨과 서브넷 레벨에서 인바운드 및 아웃바운드 필터링을 수행할 수 있도록 보안 그룹과 네트워크 ACL을 제공하여 보안을 강화할 수 있습니다.
-
사용자 중심
- VPC 내 리소스에 대해 사용자가 원하는 대로 손쉽게 제어할 수 있으며, 네트워크 지표 및 모니터링 툴을 활용하여 사용자에게 높은 가시성을 제공합니다.
-
제약사항
- 전통적인 네트워크 환경에서 사용 가능했던 기능이 제한되어 있거나 일부분만 사용 가능하여 기술적 제약(브로드캐스트 / 멀티캐스트 / IP 기반 Failover 프로토콜 등 : AWS에서 지속적인 기능 추가로 개선 진행 중임)이 따르게 됩니다.
📌 기본 네트워크 개념 이해
🔍 OSI 7 레이어 모델
OSI 7레이어 모델은 국제표준화기구에서 개발한 모델로 복잡한 네트워크 동작 과정을 7개의 계층으로 나누어 네트워크 통신 흐름을 한눈에 알아보고 이해할 수 있게 도와주는 역할을 합니다.

이미지 참고 링크 : https://velog.io/@poiuyy0420
-
Application 계층
- 응용 프로세스와 직접 연계하여 실제 응용 프로그램을 사용하게 하는 계층
- HTTP, SSH, DHCP 등이 포함
-
Presentation 계층
- 데이터의 형식상 차이에 대해 송/수신자간 이해할 수 있는 형태로 데이터를 표현하는 기능을 담당
- 데이터의 암호화 및 압축 등을 수행함
-
Session 계층
- 종단의 사용자 간의 응용 프로세스 통신을 관리하기 위한 방법을 제공
- 데이터의 통신을 위한 논리적인 연결
-
Transport 계층 ★
- 종단의 사용자 간 데이터의 통신을 다루는 최상위 계층
- 데이터 전달의 유효성과 효율성을 보장
-
Network 계층 ★
- 데이터를 목적지까지 빠르고 안전하게 전달하는 것이 목적
- 여러 노드를 거칠 때 마다 최적의 경로를 찾아주는 역할
- IP, ARP, ICMP 등의 프로토콜이 포함
-
Data Link 계층 ★
- Physical 계층에서 송수신되는 정보의 오류와 흐름을 관리하여 데이터의 전달을 수행하는 역할
- Ethernet, Wi Fi, 물리적인 케이블 등이 포함
-
Physical 계층
- 네트워크의 하드웨어 전송 기술
- 물리적인 링크의 연결, 유지, 해제 담당
🔍 IP & 서브넷 마스크
-
IP(Internet Protocol)
인터넷 상의 네트워크 자원들을 구분하는 고유한 주소
-
퍼블릭 IP
- 실제 인터넷 구간의 통신 대상을 식별하기 위해 ISP에서 제공하는 IP 주소
- 전 세계 인터넷 구간에서 유일한 주소
-
프라이빗 IP
- 인터넷 구간이 아닌 내부적으로 통신(일반 가정이나 회사 등)하는 사설 네트워크
- 프라이빗 네트워크 관리자에 의해 할당됨
- 외부 인터넷 구간과 통신이 불가능
- 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
-
서브넷 마스크
🔍 TCP와 UDP & 포트 번호
-
TCP와 UDP
구분 | TCP | UDP |
---|
OSI 모델 | 4계층 | 4계층 |
연결 | 연결 지향성 | 비연결 지향성 |
신뢰성 | 신뢰성 보장 | 신뢰성 보장 X |
순서 | 데이터 순서 보장 | 데이터 순서 보장 X |
제어 | 혼잡 제어, 흐름 제어 | 혼잡 제어, 흐름 제어 제공 X |
속도 | 상대적으로 느림 | 상대적으로 빠름 |
서비스 | HTTP, SSH, FTP | DNS, DHCP |
-
포트 번호
- TCP와 UDP의 특성에 따라 제공되는 응용 프로그램 서비스를 포트 번호를 이용해 구분함
- Well Known Port : 0 ~ 1023
- Registered Port : 1024 ~ 49151
- Dynamic Port : 49152 ~ 65535
Ex ) TCP의 포트 번호 : 80 (HTTP : 잘 알려진 포트)
🔍 DHCP (Dynamic Host Configuration Protocol)
- 동적으로 IPv4 주소를 일정 기간 임대를 하는 프로토콜
- UDP 프로토콜을 사용하며 포트번호 67과 68를 사용하며 동작함
- 임대 시간이 존재하며 임대 시간이 만료되면 반환하거나 갱신을 수행함
🔍 DNS (Domain Name System)
- 도메인 네임을 제공하기 위한 기술
- 도메인 네임 : IP 주소의 복잡한 주소 체계를 해소하기 위해 문자 형태로 구성된 이름
- UDP 프로토콜을 사용하며, 포트 번호 53을 사용하여 동작함
🔍 라우팅 (Routing)
- 복잡하게 연결된 네트워크 망에서 최적의 경로를 잡아 통신하는 것
- 네트워크는 최적의 라우팅을 통해 안정적이고 빠른 통신을 하는 것이 중요한 지향점입니다.
-
라우팅을 수행하는 장비
- 라우터 : 라우터는 라우팅 테이블을 통해 목적지 IP가 어느 경로로 향하는지 기록하고 해당 경로로 데이터를 전달함
- 라우팅 테이블
📌 VPC 리소스 소개

🔍 서브넷 (Subnet)
네트워크 영역을 부분적으로 나눈 망으로, 클라우드 환경의 VPC에서도 서브넷을 통해 네트워크 분리가 가능합니다.
-
서브넷의 IP 대역은 반드시 VPC의 IP 대역에 속해 있어야 한다.
-
서브넷은 1개의 가용 영역에 종속되어 있어야 한다.
-
AWS에서는 서브넷에 할당할 수 있는 IP대역에서 미리 예약되어 있는 IP주소가 존재한다.
Ex) 서브넷에서 할당할 IP 대역 = 10.0.0.0/24
- 첫번째 주소 : 10.0.0.0 => 네트워크 주소
- 두번째 주소 : 10.0.0.1 => VPC 가상 라우터 주소
- 세번째 주소 : 10.0.0.2 => DNS 서버 주소
- 네번째 주소 : 10.0.0.3 => 향후 새로운 기능에 활용할 주소
- 마지막 주소 : 10.0.0.255 => 네트워크 브로드캐스트 주소
=> 예약된 IP 주소들은 AWS 자원에 할당할 수 없다.
-
퍼블릭 서브넷
- 외부 인터넷 구간과 직접적으로 통신이 가능한 공공 네트워크
-
프라이빗 서브넷
- 외부 인터넷 구간과 직접적인 통신을 할 수 없는 폐쇄적인 네트워크
🔍 가상 라우터와 라우팅 테이블
VPC를 생성하면 자동으로 가상 라우터가 생성됩니다. 이 가상라우터는 라우팅 테이블을 가지고 있어 목적지 네트워크로 라우팅하여 통신합니다.
- 가상 라우터에서는 서브넷 별로 라우팅 테이블을 매핑시켜줄 수 있음
- 기본 라우팅 테이블 외에, 새로운 라우팅 테이블 생성
🔍 인터넷 게이트웨이

🔍 NAT 게이트웨이
- 인터넷 게이트웨이처럼 외부 인터넷 구간과 연결하는 관문 역할을 수행함
- NAT = Network Address Translation : 프라이빗 IP를 퍼블릭 IP로 변환하여 통신을 도와줌
- 인터넷 게이트웨이와 다르게 한쪽 방향으로만 동작함 (프라이빗 서브넷 → 외부 인터넷)

🔍 보안 그룹과 네트워크 ACL
VPC는 인스턴스 레벨과 서브넷 레벨 상에서 대상을 필터링 할 수 있는 보안 기술을 사용할 수 있음