본문 바로가기
AWS

[2편] AWS로 나만의 고가용성 보안 NAS 구축기 (VPC 네트워크 설계)

by ImirAin 2025. 10. 13.

안녕하세요! 지난 1편에서는 우리가 만들 NAS 시스템의 최종 목표인 아키텍처 설계도와 그 안에 담긴 핵심 설계 원칙들에 대해 알아보았습니다.

이번 편에서는 그 설계도의 가장 기초가 되는 뼈대, 즉 VPC와 네트워크 인프라를 직접 구축하는 과정을 단계별로 기록해보려 합니다. AWS에서 인프라를 구축하는 것은 마치 건물을 짓는 것과 같아서, 가장 먼저 튼튼한 땅(VPC)과 구획(Subnet)을 만드는 과정이 필요합니다.

 

개인 NAS 다이어그램


 1단계: VPC 생성 - 우리만의 가상 빌딩 짓기

가장 먼저 할 일은 다른 AWS 사용자와 완벽하게 격리된 우리만의 독립적인 네트워크 공간, VPC(Virtual Private Cloud)를 만드는 것입니다.

저는 이번 프로젝트를 위해 172.31.0.0/16이라는 IP 주소 범위를 갖는 nas-vpc를 생성했습니다. /16은 약 65,000개의 IP 주소를 사용할 수 있는 넉넉한 크기로, 앞으로 다양한 자원을 배치하기에 충분한 공간입니다.


 2단계: Subnet 생성 - 층과 구역 나누기

건물을 지었으니, 이제 내부 공간을 용도에 맞게 나누어야 합니다. 저는 보안(Public/Private 분리)과 고가용성(Multi-AZ)이라는 두 마리 토끼를 모두 잡기 위해 총 4개의 서브넷을 구성했습니다.

서브넷 이름 IPv4 CIDR 블록 가용 영역(AZ) 역활
nas-public-subnet-2a 172.31.0.0/24 ap-northeast-2a 외부와 소통하는 공간
nas-public-subnet-2c 172.31.1.0/24 ap-northeast-2c 외부와 소통하는 공간
nas-private-subnet-2a 172.31.2.0/24 ap-northeast-2a 중요한 자원을 숨기는 공간
nas-private-subnet-2c 172.31.3.0/24 ap-northeast-2c 중요한 자원을 숨기는 공간

CIDR 블록을 /24로 나눈 이유는 약 256개의 IP 주소를 제공하며, 개인 프로젝트나 소규모 서비스에서는 충분하고도 남는 크기라고 판단 했기 때문입니다. IP 주소의 세 번째 숫자로 각 서브넷을 명확하게 구분할 수 있게 순서대로 번호를 지정하여 관리가 편하게 구성했습니다.

이렇게 각 서브넷에 고유한 IP 범위를 할당하고, 서로 다른 가용 영역에 분산 배치하여 기초 공사를 마쳤습니다


 3단계: Gateway 생성 - 외부로 통하는 문 만들기

이제 외부 인터넷과 통신할 수 있도록 문을 만들어야 합니다. 역할에 따라 두 종류의 문을 설치했습니다.

  • Internet Gateway (정문): 외부에서 안으로, 안에서 밖으로 자유롭게 드나들 수 있는 주 출입문입니다. nas-igw를 생성하여 VPC에 연결해주었습니다.
  • NAT Gateway (보안 출구): 내부에서는 밖으로 나갈 수 있지만, 외부에서는 안으로 들어올 수 없는 '출구 전용' 문입니다. Private Subnet의 보안을 위해 Public Subnet(nas-public-subnet-2a)에 nas-nat-gw를 배치했습니다.

 4단계: Route Table 설정 - 교통 표지판 세우기 (가장 중요)

문만 만들었다고 해서 트래픽이 저절로 길을 찾아가지는 않습니다. 각 구역의 트래픽을 어디로 보낼지 알려주는 '교통 표지판', 즉 라우팅 테이블을 설정하는 과정이 필요합니다.

  • Public Route Table (nas-public-rt):
    • 규칙: 인터넷으로 향하는 모든 트래픽(0.0.0.0/0)은 인터넷 게이트웨이(정문)로 가라!
    • 적용 대상: nas-public-subnet-2a, nas-public-subnet-2c

Route Table의 규칙인 인터넷으로 향하는 모든 트래픽(0.0.0.0/0)은 인터넷 게이트웨이로 보내는 규칙
IGW에 public subnet 2개를 연결하였습니다.

  • Private Route Table (nas-private-rt):
    • 규칙: 인터넷으로 향하는 모든 트래픽(0.0.0.0/0)은 NAT 게이트웨이(보안 출구)로 가라!
    • 적용 대상: nas-private-subnet-2a, nas-private-subnet-2c

Private Route Table의 규칙인 인터넷으로 향하는 모든 트래픽(0.0.0.0/0)은 NAT 게이트웨이로 보내는 규칙
NAT 게이트웨이에 private subnet 2개를 연결하였습니다.


 마무리하며

이로써 우리가 설계했던 아키텍처의 가장 기본이 되는 뼈대, 즉 모든 자원을 안전하게 배치할 수 있는 완벽한 네트워크 기반이 마련되었습니다. 눈에 보이지는 않지만, 가장 중요하고 복잡한 단계를 성공적으로 마친 셈입니다.