AWS SAA 자격증 필수 주제: VPC, 서브넷, 라우팅 테이블, 인터넷 게이트웨이 완벽 정리
AWS SAA(솔루션스 아키텍트 어소시에이트) 자격증 준비에서 가장 자주 등장하고, 실무에서도 핵심적인 부분이 바로 VPC와 네트워크 아키텍처 관련 개념입니다. VPC, 서브넷, 라우팅 테이블, 인터넷 게이트웨이는 AWS 클라우드 상에서 보안과 네트워크 설계의 근간을 이루는 중요한 역할을 합니다. 이 글에서는 AWS SAA 자격증을 준비하는 이들이 반드시 숙지해야 할 VPC, 서브넷, 라우팅 테이블, 인터넷 게이트웨이의 개념과 작동 방식, 그리고 실무에서의 활용 예시까지 깊이 있게 설명하겠습니다.
VPC(가상 사설 클라우드)의 개념과 기본 구조
VPC(Virtual Private Cloud)는 AWS에서 제공하는 논리적으로 격리된 가상 네트워크 환경입니다. AWS 계정 내에서 독립된 네트워크를 생성하여, 자신의 애플리케이션과 리소스를 네트워크 단위로 분리하고 관리할 수 있습니다. VPC를 통해서 퍼블릭 클라우드 환경에서도 온프레미스 데이터센터와 유사한 네트워크 구조를 구성할 수 있으며, IP 주소 범위, 서브넷, 라우팅, 방화벽 정책 등 다양한 요소를 세밀하게 제어할 수 있습니다.
사용자는 VPC를 생성할 때 원하는 IP 주소 범위(CIDR 블록)를 지정할 수 있으며, 이 범위 내에서 서브넷과 라우팅 테이블, 인터넷 게이트웨이 등 다양한 네트워크 리소스를 구성할 수 있습니다. AWS는 기본적으로 각 계정에 ‘기본 VPC’를 제공하지만, 실무에서는 보안 및 확장성을 위해 직접 VPC를 설계하는 것이 일반적입니다. VPC의 탄탄한 구조 설정은 AWS SAA 자격증 시험의 핵심 주제 중 하나로, 실제 아키텍쳐 설계의 기초가 됩니다.
서브넷의 역할과 설계 방법
서브넷(Subnet)은 VPC 내에서 IP 주소 범위를 논리적으로 분할한 하위 네트워크를 의미합니다. 서브넷의 주요 목적은 네트워크를 세분화하여, 각 리소스가 속하는 영역을 명확히 하고, 보안 및 트래픽 제어를 용이하게 하는 데 있습니다. AWS에서는 서브넷을 퍼블릭 서브넷과 프라이빗 서브넷으로 구분하는 것이 일반적입니다.
퍼블릭 서브넷은 인터넷 게이트웨이와 연결되어 외부 인터넷과 통신이 가능한 리소스(예: 웹 서버, 로드 밸런서 등)를 배치하는 데 사용합니다. 반면, 프라이빗 서브넷은 인터넷에 직접 노출되지 않으며, 내부 데이터베이스 서버나 애플리케이션 서버 등 민감한 리소스를 안전하게 보호하는 용도로 활용됩니다. 이러한 서브넷 분할은 보안 그룹, 네트워크 ACL 등과 연계하여 보다 강력한 보안 정책을 적용할 수 있게 합니다.
서브넷을 설계할 때는 AWS 리전 내 가용 영역(Availability Zone)을 고려하여 고가용성 아키텍처를 구성해야 합니다. 각 가용 영역에 최소한 하나 이상의 서브넷을 배치함으로써, 장애 발생 시에도 서비스가 지속될 수 있도록 설계하는 것이 중요합니다.
서브넷 마스크와 CIDR 블록의 이해
서브넷을 생성할 때 가장 중요한 요소 중 하나가 바로 CIDR(Classless Inter-Domain Routing) 블록입니다. CIDR 표기법을 통해 VPC 전체 IP 범위와 각 서브넷의 범위를 결정할 수 있습니다. 예를 들어, VPC를 10.0.0.0/16으로 생성했다면, 여러 개의 서브넷(예: 10.0.1.0/24, 10.0.2.0/24 등)으로 분할할 수 있습니다. 각 서브넷은 고유의 IP 범위를 가지며, 이 범위 내에서 EC2 인스턴스 등 리소스가 IP를 할당받게 됩니다.
서브넷 설계 시 주의할 점은, AWS가 각 서브넷에서 네트워크 관리용으로 5개의 IP 주소(첫 4개, 마지막 1개)를 예약하여 사용할 수 없다는 점입니다. 따라서 실제 사용 가능한 IP 수를 감안하여 서브넷 크기를 결정해야 합니다.
라우팅 테이블의 구조와 작동 원리
VPC와 서브넷이 네트워크의 물리적(논리적) 분할을 담당한다면, 라우팅 테이블(Routing Table)은 네트워크 트래픽이 어디로 전달될지 결정하는 정보의 집합입니다. 라우팅 테이블은 목적지 IP 주소 범위와 그에 해당하는 대상(Target) 정보를 포함하고, 이를 통해 트래픽의 흐름을 제어합니다.
각 서브넷은 반드시 하나의 라우팅 테이블에 연결되어 있어야 하며, 동일한 라우팅 테이블을 여러 서브넷이 공유할 수도 있습니다. 기본적으로 VPC를 생성하면 ‘메인 라우팅 테이블’이 자동으로 생성되고, 별도로 커스텀 라우팅 테이블을 만들어 특정 서브넷에 할당할 수 있습니다.
라우팅 테이블의 각 항목은 ‘라우트(Route)’라고 하며, 라우트는 목적지(CIDR)와 대상(Target)으로 구성됩니다. 예를 들어, 0.0.0.0/0을 대상으로 인터넷 게이트웨이를 지정하면, 해당 서브넷의 모든 아웃바운드 트래픽이 인터넷 게이트웨이를 통해 외부로 전달됩니다. 반면, 특정 IP 대역을 NAT 게이트웨이나 VPC 피어링 등으로 라우팅할 수도 있습니다.
라우팅 테이블의 실무 적용 예시
예를 들어, 퍼블릭 서브넷의 라우팅 테이블에는 다음과 같이 두 개의 라우트가 있을 수 있습니다.
| Destination | Target |
|---|---|
| 10.0.0.0/16 | local |
| 0.0.0.0/0 | igw-xxxxxx (인터넷 게이트웨이) |
이 예시에서 10.0.0.0/16으로 향하는 트래픽은 VPC 내부에서 라우팅(로컬 통신)되고, 0.0.0.0/0은 모든 외부 트래픽을 의미하며, 이 경우 인터넷 게이트웨이를 통해 외부 인터넷으로 나가게 됩니다. 반면, 프라이빗 서브넷의 경우 0.0.0.0/0에 NAT 게이트웨이 또는 NAT 인스턴스를 지정하여, 외부로 나가는 트래픽은 NAT를 거쳐 인터넷으로 나가고, 외부에서는 직접 들어올 수 없도록 설정합니다.
인터넷 게이트웨이의 역할과 연결 방법
인터넷 게이트웨이(Internet Gateway, IGW)는 VPC와 외부 인터넷 간의 통신을 연결해주는 AWS 네트워크 리소스입니다. 인터넷 게이트웨이가 VPC에 연결되어 있지 않으면, 해당 VPC의 리소스는 인터넷과 직접적으로 통신할 수 없습니다. 퍼블릭 서브넷의 EC2 인스턴스가 외부와 통신하려면, 반드시 인터넷 게이트웨이가 VPC에 연결되어 있어야 하며, 라우팅 테이블에 인터넷 게이트웨이로 향하는 라우트(0.0.0.0/0 → IGW)가 설정되어야 외부 인터넷 접속이 가능합니다.
인터넷 게이트웨이의 주요 특징은 상태 비저장(Stateless)이 아니라 상태 저장(Stateful) 방식이라는 점입니다. 즉, 인스턴스에서 인터넷으로 나가는 세션에 대해, 인터넷에서 해당 인스턴스로 들어오는 응답 트래픽을 자동으로 허용합니다. 하지만, 외부에서 내부로 들어오는 트래픽은 반드시 보안 그룹이나 네트워크 ACL을 통해 명시적으로 허용해야만 접근 가능합니다.
인터넷 게이트웨이 연결 과정은 다음과 같습니다.
1. VPC에 인터넷 게이트웨이를 생성
2. 인터넷 게이트웨이를 VPC에 연결(Attach)
3. 퍼블릭 서브넷의 라우팅 테이블에 0.0.0.0/0 → IGW 설정
4. EC2 인스턴스의 보안 그룹 인바운드 규칙에서 HTTP, SSH 등 필요한 포트 허용
이 과정을 따라야만 AWS SAA 자격증 시험에서 요구하는 네트워크 아키텍처의 기본 요건을 충족할 수 있습니다.
인터넷 게이트웨이와 NAT 게이트웨이의 차이
AWS에서 퍼블릭 서브넷과 프라이빗 서브넷의 보안 및 네트워크 설계 시, 자주 혼동하는 개념이 바로 인터넷 게이트웨이와 NAT 게이트웨이입니다. 인터넷 게이트웨이는 퍼블릭 서브넷에 배치된 리소스가 외부와 자유롭게 통신할 수 있게 해주지만, 프라이빗 서브넷에 위치한 리소스는 인터넷 게이트웨이만으로 외부 접속이 불가능합니다.
이때 사용하는 것이 NAT 게이트웨이입니다. 프라이빗 서브넷 내의 인스턴스가 인터넷으로 나가는 것은 허용하되, 외부에서 직접적으로 들어오는 것은 차단하고자 할 때 NAT 게이트웨이를 퍼블릭 서브넷에 배치하고 라우팅 테이블을 통해 경로를 지정합니다. 이로써 보안성은 유지하면서도 소프트웨어 업그레이드, 외부 API 호출 등 인터넷이 필요한 작업을 수행할 수 있게 됩니다.
실무에서의 VPC, 서브넷, 라우팅 테이블, 인터넷 게이트웨이 설계 전략
실제 AWS 아키텍처를 설계하는 과정에서 VPC, 서브넷, 라우팅 테이블, 인터넷 게이트웨이의 상호작용은 매우 중요합니다. 올바른 네트워크 구조 설계를 위해서는 다음과 같은 점을 반드시 고려해야 합니다.
첫째, VPC의 CIDR 블록을 충분히 넓게 잡아 향후 IP 충돌이나 확장 이슈를 방지해야 합니다. 둘째, 퍼블릭과 프라이빗 서브넷을 명확히 구분해, 보안 정책과 라우팅 테이블을 적절히 분리합니다. 셋째, 라우팅 테이블은 가능한 단순하게 유지하되, 필요에 따라 커스텀 라우팅 테이블을 활용해 특정 트래픽만 별도 경로로 분리할 수 있습니다. 넷째, 인터넷 게이트웨이와 NAT 게이트웨이의 역할을 명확히 이해하고, 보안 그룹과 네트워크 ACL 등 방화벽 정책과 연계하여 입출력 트래픽을 세밀하게 제어해야 합니다.
또한, 실무에서는 AWS SAA 자격증에서 다루는 기본 구조 외에도 VPC 피어링, 트랜짓 게이트웨이, VPN, Direct Connect 등 다양한 네트워크 옵션과의 연계도 빈번하게 이뤄집니다. 이때도 VPC, 서브넷, 라우팅 테이블, 인터넷 게이트웨이의 기본 원리를 확실히 숙지하고 있어야 복잡한 네트워크 아키텍처도 원활하게 설계할 수 있습니다.
보안 및 고가용성 측면에서의 네트워크 구성
AWS SAA 자격증에서는 네트워크 아키텍처의 보안성, 가용성, 그리고 확장성 확보가 매우 중요한 평가 항목입니다. 이를 위해 VPC, 서브넷, 라우팅 테이블, 인터넷 게이트웨이의 설계에 몇 가지 핵심 원칙이 적용됩니다.
먼저, 퍼블릭 서브넷에는 외부 노출이 반드시 필요한 리소스만 최소화하여 배치하고, 프라이빗 서브넷에는 데이터베이스, 내부 서버 등 민감한 리소스를 집중시켜 보안성을 극대화합니다. 퍼블릭 서브넷 리소스도 반드시 최소한의 포트만 외부에 개방하고, 보안 그룹과 네트워크 ACL을 통해 접근을 제한해야 합니다.
고가용성을 위해서는 각 가용 영역(Availability Zone)에 동일한 구조의 퍼블릭 및 프라이빗 서브넷을 분산 배치하고, 인터넷 게이트웨이와 NAT 게이트웨이도 멀티 AZ 구조로 구성하는 것이 중요합니다. 이를 통해 특정 AZ 장애 시에도 서비스가 지속될 수 있도록 합니다.
실제 사례를 통한 구성 예시
예를 들어, 이커머스 웹 애플리케이션을 AWS에 배포한다고 가정하면, VPC를 생성하고 두 개 이상의 가용 영역에 각각 퍼블릭 서브넷과 프라이빗 서브넷을 배치합니다. 퍼블릭 서브넷에는 로드 밸런서와 NAT 게이트웨이, 프라이빗 서브넷에는 EC2 웹 서버와 RDS 데이터베이스를 배치하고, 라우팅 테이블을 통해 퍼블릭 서브넷은 인터넷 게이트웨이에, 프라이빗 서브넷은 NAT 게이트웨이에 라우팅합니다.
이런 구조를 통해 외부 사용자는 로드 밸런서를 통해 웹 서버에 접속할 수 있고, 웹 서버는 NAT 게이트웨이를 통해 인터넷으로 나갈 수는 있지만 외부에서 직접 접속할 수는 없습니다. 데이터베이스 서버는 프라이빗 서브넷에만 존재하므로, 외부 침입 위험을 최소화할 수 있습니다.
AWS SAA 자격증 대비를 위한 정리
AWS SAA 자격증 취득을 준비하는 과정에서 VPC, 서브넷, 라우팅 테이블, 인터넷 게이트웨이의 개념과 구성 방식, 그리고 실무 적용 전략을 명확하게 이해하는 것이 필수적입니다. VPC를 통해 네트워크를 논리적으로 분리하고, 서브넷을 통해 세부 네트워크를 생성하며, 라우팅 테이블로 트래픽 경로를 제어하고, 인터넷 게이트웨이로 외부와의 연결을 설정하는 전 과정을 숙지해야 합니다.
이 네 가지 핵심 리소스의 원리와 상호작용을 정확히 이해하면, AWS SAA 자격증 시험에서 출제되는 네트워크 아키텍처 관련 문제뿐 아니라, 실무에서의 다양한 네트워크 설계 및 보안 강화 작업도 능숙하게 수행할 수 있습니다. 방대한 AWS 네트워크 구성의 핵심인 VPC, 서브넷, 라우팅 테이블, 인터넷 게이트웨이의 체계적인 학습은 클라우드 아키텍트로 성장하는 데 필수적인 밑거름이 될 것입니다.