AWS에서 VPC를 만들기 전에, 먼저 알아둬야 할 네트워크 개념이 있다.
그중에서도 가장 기본이 되는 게 바로 공인 IP / 사설 IP / CIDR 블록이다.
이 개념들을 먼저 이해해두면, 뒤에서 다룰 VPC 서브넷 구성이나 라우팅 실습도 훨씬 쉽게 따라갈 수 있다.
우리가 인터넷을 사용할 때 구글에 IP 주소 확인을 검색하면 나오는 게 바로 공인 IP(Public IP)다.
공인 IP는 IPv4 기준 약 43억 개 정도인데, 이미 대부분이 할당돼 있어서 세상 모든 장비가 공인 IP를 가질 수는 없다.
그래서 나온 게 사설 IP(Private IP).
내부 네트워크에서만 통신 가능한 IP 대역을 정해놓았다.
사설 IP는
- 인터넷에는 직접 노출되지 않고,
- 내부 네트워크(로컬망) 안에서만 통신 가능
- 일반 가정용 공유기, 회사 네트워크 등에서 자주 사용
대표적인 사설 IP 대역은 아래와 같다.
- 10.0.0.0/8
- 172.16.0.0/12
- 192.168.0.0/16
참고: 위 표기는 CIDR 표기법으로, 아래에서 설명 예정
Windows 사용자라면 cmd > ipconfig
명령어로 192.168.x.x
형태의 사설 IP를 확인할 수 있다.
집 공유기나 회사 네트워크처럼, 클라우드에서도 내 전용 네트워크 공간을 구성할 수 있는 구조가 필요하다.
그걸 가능하게 해주는 게 바로 VPC(Virtual Private Cloud)다.
VPC를 만들 때 설정할 수 있는 주요 요소는 다음과 같다:
- IP 대역 (CIDR 블록)
- 서브넷 (Subnet)
- 라우팅 테이블 (Routing Table)
- 인터넷 게이트웨이 (Internet Gateway)
- NAT 게이트웨이 or NAT 인스턴스
- 보안 그룹 & 네트워크 ACL
이 중에서도 이번 글에서는 가장 기초가 되는 IP 대역(CIDR) 개념을 먼저 정리해본다.
나머지 서브넷, 라우팅 테이블 등은 이 기반 위에서 만들어지기 때문이다.
CIDR(Classless Inter-Domain Routing)은 IP 주소를 좀 더 효율적으로 관리하기 위해 만들어진 방식이다.
IP주소 뒤에 /비트 수
를 붙여서, 네트워크 부분과 호스트 부분을 나눈다.
예전에는 A, B, C 클래스처럼 고정된 방식으로 IP를 구분했는데, 이건 작은 네트워크에 너무 많은 IP를 낭비하는 문제가 있어서, 필요한 만큼만 유연하게 IP를 할당할 수 있게 만든 게 CIDR이다.
IPv4 주소는 총 32비트로 되어 있고, 보통 8비트씩 나눠서 10진수로 표현한다.
10진수: 192. 168. 1. 0
2진수: 11000000. 10101000. 00000001. 00000000
예를 들어 /16
이라면,
이때 가능한 IP 범위는 이렇게 계산한다:
10.0.0.0/16
10.0
0.0
~ 255.255
10.0.0.0
~ 10.0.255.255
11111111 = 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255
2진수 각 자리의 제곱값 합으로 계산하면 편함
172.16.0.0/12
10101100 00010000 00000000 00000000
172 16
/12
-> 앞 12비트는 네트워크 영역네트워크(고정) 10101100 0001
호스트(가변) 0000 00000000 00000000
호스트 (20비트) : 1111 11111111 11111111
이를 합치면,
10101100 00011111 11111111 11111111
172 32-1 256-1 256-1
최댓값의 경우
11111(2)
=100000(2) 에서 1을 뺀 값
이라고 생각하면 편하다.
- 100000(2) = 128(10)
- 11111(2) = 128(10) - 1 = 127
📌 결과적으로 172.16.0.0/12
의 전체 IP 범위는 다음과 같다:
172.16.0.0
172.31.255.255
✅ 결국 VPC는 CIDR 블록 기반으로 IP 범위를 정하고,
그 안에서 서브넷을 나누고, EC2 같은 리소스들이 사설 IP를 부여받아 동작하는 구조다.
➡️ 이 구조를 이해하면, 이후 서브넷/라우팅 테이블/인터넷 게이트웨이 설정도 훨씬 쉽게 해결할 수 있다.