
이번 포스팅에서는 AWS에서 Server를 구축하기 전 필요한 VPC와 네트워크 리소스를 설정하는 방법을 단계별로 설명합니다. AWS 환경에서 Server를 사용하기 위해 필요한 퍼블릭 및 프라이빗 서브넷, 라우팅 테이블, 인터넷 게이트웨이, NAT 게이트웨이 등을 구성해봅시다.
| Region | VPC_Name | CIDR | Subnet_Name | CIDR | Routing_Table_Name |
|---|---|---|---|---|---|
| ap-northeast-2 | vpc-main-network | 10.0.0.0/16 | subnet-public-a | 10.0.0.0/24 | rtb-public-main |
| subnet-public-c | 10.0.1.0/24 | rtb-public-main | |||
| subnet-private-a | 10.0.40.0/24 | rtb-private-a | |||
| subnet-private-c | 10.0.41.0/24 | rtb-private-c |
VPC 생성 버튼 클릭.vpc-main-network10.0.0.0/16
VPC 생성: 왜 필요한가?
VPC(Virtual Private Cloud)는 AWS에서 리소스를 배치할 수 있는 논리적으로 격리된 네트워크 환경입니다.
VPC를 생성하면, 네트워크를 독립적으로 구성하고 제어할 수 있으며, IP 주소 범위, 서브넷, 라우팅 테이블, 게이트웨이 등을 설정할 수 있습니다.
본 실습에서는 애플리케이션 및 데이터베이스 서버를 배치하기 위한 네트워크 환경의 기반을 구성하기 위해 VPC를 생성합니다.
서브넷 생성 버튼 클릭.아래 정보를 참고하여 서브넷 생성:
| 서브넷 이름 | 가용 영역 | CIDR |
|---|---|---|
| subnet-public-a | ap-northeast-2a | 10.0.0.0/24 |
| subnet-public-c | ap-northeast-2c | 10.0.1.0/24 |
| subnet-private-a | ap-northeast-2a | 10.0.40.0/24 |
| subnet-private-c | ap-northeast-2c | 10.0.41.0/24 |
VPC: vpc-main-network 선택 후 각 서브넷에 대한 CIDR 및 가용 영역 입력.
서브넷 추가 버튼을 활용해 한 번에 여러 서브넷을 생성.

새 서브넷 추가 버튼을 통해 4개 서브넷 차례대로 생성



완료가 되면 다음과 같이 생성

Subnet 생성: 왜 필요한가?
서브넷(Subnet)은 VPC 내에서 네트워크를 더 세분화한 영역입니다.
퍼블릭 서브넷은 인터넷에 연결될 수 있는 리소스를 배치하며, 프라이빗 서브넷은 인터넷에 직접 노출되지 않는 리소스를 배치합니다.
본 실습에서는 애플리케이션 서버와 데이터베이스 서버를 분리하고 보안성을 높이기 위해 퍼블릭 서브넷과 프라이빗 서브넷을 각각 생성합니다.
퍼블릭 서브넷에는 Bastion Server나 웹 서버를, 프라이빗 서브넷에는 데이터베이스 서버를 배치하는 구성을 목표로 합니다.
서브넷 목록에서 subnet-public-a 선택 → 작업 → 서브넷 설정 편집.

퍼블릭 IPv4 주소 자동 할당 활성화 체크 → 저장.


subnet-public-c도 동일하게 설정.
퍼블릭 서브넷에 퍼블릭 IPv4 자동 할당: 왜 필요한가?
퍼블릭 서브넷에 배치된 리소스(예: Bastion Server)가 인터넷에 액세스하려면 퍼블릭 IP가 필요합니다.
본 설정을 통해 퍼블릭 서브넷에 생성되는 인스턴스가 자동으로 퍼블릭 IP를 할당받아 인터넷 통신이 가능하도록 설정합니다.
라우팅 테이블 탭으로 이동 후 라우팅 테이블 생성 버튼 클릭.
아래 정보를 입력:
| 라우팅 테이블 이름 | 연결된 서브넷 이름 |
|---|---|
| rtb-public-main | subnet-public-a, subnet-public-c |
| rtb-private-a | subnet-private-a |
| rtb-private-c | subnet-private-c |
각 라우팅 테이블에 적절히 이름과 VPC를 설정.

rtb-public-main 선택 → 서브넷 연결 탭 → 서브넷 연결 편집.

subnet-public-a, subnet-public-c 선택 후 저장.

rtb-private-a 및 rtb-private-c도 동일하게 연결.
rtb-private-a 설정

rtb-private-c 설정

Routing Table 설정: 왜 필요한가?
라우팅 테이블(Routing Table)은 네트워크 트래픽의 경로를 정의하는 역할을 합니다.
퍼블릭 서브넷과 프라이빗 서브넷 각각에 적절한 트래픽 경로를 설정해야만 서브넷 내 리소스가 외부와 통신할 수 있습니다.
본 실습에서는 퍼블릭 서브넷의 트래픽을 인터넷 게이트웨이로, 프라이빗 서브넷의 트래픽을 NAT 게이트웨이로 라우팅하도록 설정합니다.
인터넷 게이트웨이 탭 → 인터넷 게이트웨이 생성 클릭
이름: igw-main-network

생성된 IGW를 vpc-main-network에 연결
VPC에 연결 클릭

기존에 생성한 VPC 연결

Internet Gateway 생성: 왜 필요한가?
인터넷 게이트웨이(IGW)는 VPC와 인터넷 간의 통신을 가능하게 해주는 AWS 리소스입니다.
퍼블릭 서브넷에 배치된 리소스(Bastion Server 또는 웹 서버)가 인터넷에 접속하거나 인터넷으로부터 요청을 받을 수 있도록 하는 데 필요합니다.
rtb-public-main 선택 → 라우팅 탭 → 라우팅 편집

라우팅 추가:
0.0.0.0/0igw-main-network 
저장

Public Routing Table에 Internet Gateway 경로 추가: 왜 필요한가?
인터넷 게이트웨이가 생성되었더라도, 퍼블릭 서브넷의 트래픽이 인터넷 게이트웨이를 통해 나가도록 명시적인 경로 설정이 필요합니다.
이 작업을 통해 퍼블릭 서브넷에 배치된 리소스가 인터넷과 통신할 수 있도록 라우팅 경로를 정의합니다.
NAT 게이트웨이 탭 → NAT 게이트웨이 생성 클릭
이름: natgw-private-access
서브넷: subnet-public-a
탄력적 IP 할당 선택 → 생성

NAT Gateway 생성: 왜 필요한가?
NAT(Network Address Translation) 게이트웨이는 프라이빗 서브넷의 리소스가 인터넷에 액세스할 수 있도록 하면서도, 외부로부터 직접 접근은 차단하는 역할을 합니다.
프라이빗 서브넷의 데이터베이스나 내부 서비스가 소프트웨어 업데이트나 외부 API 호출 등을 위해 인터넷 액세스가 필요할 때 사용됩니다.
rtb-private-a 선택 → 라우팅 탭 → 라우팅 편집

라우팅 추가:
0.0.0.0/0.natgw-private-access 
저장
Private Routing Table에 NAT Gateway 경로 추가: 왜 필요한가?
NAT 게이트웨이를 생성한 후, 프라이빗 서브넷의 라우팅 테이블에 NAT 게이트웨이로 트래픽을 보내는 경로를 추가해야 합니다.
이 작업을 통해 프라이빗 서브넷에 배치된 리소스가 NAT 게이트웨이를 통해 인터넷과 통신할 수 있게 됩니다.