AWS VPC 생성 전 필수 체크! CIDR 블록과 예약 IP 완벽 분석

AWS 환경에서 네트워크 인프라를 구축하는 첫 단계는 VPC를 생성하는 것이다. AWS는 사용자가 복잡한 네트워크 구성을 보다 쉽고 직관적으로 설정할 수 있도록 'VPC 마법사' 기능을 제공한다. VPC 마법사는 사전 정의된 시나리오에 따라 VPC, 서브넷, 인터넷 게이트웨이, NAT 게이트웨이 등 필수 구성 요소를 자동으로 생성해주므로, 수동 설정 시 발생할 수 있는 오류를 줄이고 시간을 절약하는 데 매우 효과적이다.
0. 시작 전 준비 사항
본 튜토리얼을 진행하기에 앞서, 아래의 환경이 준비되어 있는지 확인해야 한다.
- AWS 계정: 실습을 진행할 수 있는 활성화된 AWS 계정
- AWS Management Console: 기본 사용법에 대한 이해
1단계: VPC 마법사를 통한 생성
가장 먼저, AWS Management Console에 접속하여 VPC 마법사를 실행한다. 본 실습에서는 인터넷 통신이 가능한 단일 퍼블릭 서브넷을 갖는 VPC를 생성할 것이다.
- AWS Management Console에 로그인한 후, 상단 검색창에서 'VPC'를 검색하여 VPC 서비스로 이동한다.
- VPC 대시보드 좌측 메뉴에서 'VPC'를 선택한 후, 'VPC 생성' 버튼을 클릭한다.
- '리소스 생성' 옵션에서 'VPC 등'을 선택하면 마법사 화면으로 진입한다.
마법사 화면에서 아래와 같이 VPC의 기본 구성을 설정한다.
# VPC 설정
이름 태그 자동 생성: 활성화
이름 태그: VPC-Lab
IPv4 CIDR 블록: 10.0.0.0/16
IPv6 CIDR 블록: IPv6 CIDR 블록 없음
테넌시: 기본값
# 서브넷 설정
가용 영역(AZ) 수: 1
퍼블릭 서브넷 수: 1
프라이빗 서브넷 수: 0
퍼블릭 서브넷 CIDR 블록: 10.0.10.0/24
# 게이트웨이 설정
NAT 게이트웨이: 없음
VPC 엔드포인트: 없음
모든 설정을 입력한 후, 우측 하단의 'VPC 생성' 버튼을 클릭하여 생성을 완료한다. 마법사는 입력된 설정에 따라 VPC, 서브넷, 인터넷 게이트웨이, 라우팅 테이블을 자동으로 생성하고 연결한다.
2단계: CIDR 주소 범위의 이해
VPC 설계에서 가장 중요한 개념은 CIDR(Classless Inter-Domain Routing)이다. CIDR은 IP 주소의 할당 및 라우팅 방식을 효율적으로 관리하기 위한 표기법으로, 네트워크의 주소와 크기를 정의한다.
2.1. VPC CIDR 블록 계산
IP 주소 뒤에 붙는 슬래시(/)와 숫자는 네트워크 주소의 길이를 비트 단위로 나타낸다. 예를 들어, 위 실습에서 VPC에 할당한 10.0.0.0/16
은 다음과 같은 의미를 가진다.
- 전체 비트: IPv4 주소는 총 32비트로 구성된다.
- 네트워크 비트 (고정):
/16
은 앞에서부터 16비트(10.0
)가 네트워크를 식별하는 주소로 고정됨을 의미한다. - 호스트 비트 (가변): 나머지 16비트(
0.0
)는 개별 기기(호스트)에 할당할 수 있는 주소 영역이다. - 총 IP 개수: 따라서 $2^{(32-16)} = 2^{16} = 65,536$개의 IP 주소를 해당 VPC 내에서 사용할 수 있다.
2.2. AWS VPC CIDR 블록 제한사항
VPC를 생성할 때 CIDR 블록은 특정 규칙을 준수해야 한다.
- 허용 블록 크기: 넷마스크는 최소
/28
(16개 IP)부터 최대/16
(65,536개 IP)까지 지정할 수 있다. - 권장 IP 대역: 온프레미스 네트워크와의 충돌을 피하기 위해, AWS는 RFC 1918에 명시된 사설 IP 주소 대역 사용을 강력히 권장한다.
10.0.0.0
-10.255.255.255
(10.0.0.0/8
)172.16.0.0
-172.31.255.255
(172.16.0.0/12
)192.168.0.0
-192.168.255.255
(192.168.0.0/16
)
3단계: AWS 예약 IP 주소 확인
VPC 내에 서브넷을 생성하면, AWS는 각 서브넷 CIDR 블록의 특정 IP 주소들을 내부 네트워킹 목적으로 예약한다. 이 5개의 주소는 사용자가 EC2 인스턴스 등 리소스에 할당할 수 없다.
예를 들어, 10.0.10.0/24
서브넷(총 256개 IP)의 경우 예약된 주소는 다음과 같다.
10.0.10.0 : 네트워크 주소 (Network Address)
10.0.10.1 : VPC 라우터용 예약 (VPC Router)
10.0.10.2 : DNS 서버용 예약 (Amazon DNS Server)
10.0.10.3 : 향후 사용을 위해 예약 (Future Use)
10.0.10.255 : 네트워크 브로드캐스트 주소 (Broadcast Address)
따라서 /24
서브넷에서 실제로 사용 가능한 IP 주소의 개수는 $256 - 5 = 251$개이다. 이러한 예약 정책을 인지하고 있어야만 정확한 IP 자원 계획을 수립할 수 있다.
리소스 생성 시 "IP 주소 부족" 관련 오류가 발생한다면, 서브넷의 CIDR 블록이 너무 작게 설정되었거나 예약 IP 주소를 고려하지 않았을 가능성이 높다. 서브넷의 크기를 재산정하거나, 필요시 VPC에 보조 CIDR 블록을 추가하는 것을 검토해야 한다.
4단계: VPC 설계 시 고려사항
효과적인 VPC 설계는 초기 단계에서부터 확장성과 관리 용이성을 고려해야 한다.
- 네트워크 중복 방지: VPC의 CIDR 블록은 현재 또는 미래에 연결될 가능성이 있는 다른 네트워크(예: 온프레미스 데이터 센터, 다른 VPC)의 IP 대역과 겹치지 않도록 신중하게 선택해야 한다. 중복 발생 시 라우팅 문제가 발생할 수 있다.
- 확장성 확보: 향후 애플리케이션의 성장과 리소스 증가를 예상하여 초기 VPC의 CIDR 블록을 충분히 큰 주소 공간(예:
/16
또는/17
)으로 할당하는 것이 바람직하다. - 보조 CIDR 블록: 만약 기본 CIDR 블록의 IP 주소가 부족해질 경우, VPC에 보조 CIDR 블록을 추가하여 IP 공간을 확장할 수 있다. 이는 초기 설계의 한계를 보완하는 유용한 기능이다.
결론
이상으로 VPC 마법사를 이용하여 AWS VPC를 생성하고, 그 기반이 되는 CIDR와 IP 주소 정책에 대해 상세히 검토하였다. VPC 마법사는 AWS 네트워킹을 시작하는 훌륭한 도구이지만, 그 이면에 있는 CIDR 계산법, 예약 IP 정책, 확장성 설계 원칙을 이해하는 것이 장기적으로 안정적이고 효율적인 클라우드 인프라를 운영하는 핵심이다.
이렇게 구성된 VPC는 EC2 인스턴스, 로드 밸런서, 데이터베이스 등 다양한 AWS 리소스를 배포할 수 있는 안전하고 독립적인 네트워크 환경의 기반이 된다.