- 작성 **날짜:** 2026-02-27

## 📑 개념
> [!abstract] 
> 거대한 네트워크인 [[VPC(Virtual Private Cloud)]]를 더 효율적이고 안전하게 관리하기 위해 **더 작은 단위로 쪼갠 가상 네트워크**

 **참고로 VPC도 서브넷도 모두 논리적인 개념, 물리적인 동작은 가용 영역에서 이루어짐**
서브넷(Subnet)은 'Sub-network'의 줄임말로, 하나의 거대한 네트워크를 효율적으로 관리하기 위해 **더 작고 논리적으로 쪼개놓은 부분 네트워크**를 의미합니다.
## 📌 서브넷을 나누는 이유
> [!check] 
> - **보안 (Security):** 인터넷에 연결될 공간과 외부로부터 완전히 격리될 공간을 분리하기 위해서입니다.
>     
> - **성능 (Performance):** 네트워크 트래픽이 한꺼번에 몰리는 것을 방지하고 관리 효율성을 높입니다.
>     
> - **조직화:** 용도별(웹 서버용, DB용, 관리용 등)로 자원을 그룹화하여 관리하기 위함입니다.

## 📝 노트
> [!note]
> 
> - VPC가 아파트 단지라면 서브넷은 아파트단지의 동이라고 생각하면 됨.
> - AWS의 클라우드를 VPC 단위로 쪼개서 사용하고 그 VPC는 서브넷 단위로 쪼개서 사용함
> - 서브넷 단위로 분할하지 않으면 VPC로 접근하는 요청들은 VPC내에있는 모든 서비스들에게 전달해주어야함. 이를 막기위해 존재하는 개념(한번에 모든 동을 다 찾아가지 않게끔)

### 서브넷의 종류

| **구분**    | **퍼블릭 서브넷 (Public)**          | **프라이빗 서브넷 (Private)**       |
| --------- | ----------------------------- | ---------------------------- |
| **특징**    | 외부 인터넷과 양방향 통신 가능             | 외부 인터넷에서 직접 접근 불가            |
| **연결 방식** | **인터넷 게이트웨이(IGW)**와 연결됨       | 인터넷 게이트웨이와 연결되지 않음           |
| **배치 자원** | 로드 밸런서(ALB), 배스천 호스트(Bastion) | **백엔드 서버(.NET)**, 데이터베이스(DB) |
| **비유**    | 아파트 정문 안내소 (누구나 방문 가능)        | 아파트 내부의 안방 (가족만 접근 가능)       |

## 1. 왜 서브넷을 만드나요? (서브네팅의 이유)

네트워크를 쪼개지 않고 하나로 크게 쓰면 다음과 같은 문제가 생깁니다.

- **트래픽 과부하:** 모든 기기가 한 공간에 있으면, 불필요한 방송 신호(브로드캐스트)가 너무 많아져 네트워크가 느려집니다.
    
- **보안 취약:** 한 곳이 뚫리면 전체 네트워크의 모든 기기가 위험에 노출됩니다.
    
- **관리의 어려움:** 장치가 수만 대라면 어디서 문제가 생겼는지 찾기 매우 힘듭니다.
    

그래서 서브네팅(Subnetting)을 통해 네트워크를 목적이나 위치에 맞게 작게 분리하여 성능과 보안을 높입니다.

---

## 2. 서브넷은 어떻게 구분하나요? (서브넷 마스크)

IP 주소는 원래 하나처럼 보이지만, 서브넷 개념이 들어가면 두 부분으로 나뉩니다.

1. **네트워크 주소 (Network ID):** 어떤 동네(서브넷)인지 알려주는 주소
    
2. **호스트 주소 (Host ID):** 그 동네 안의 몇 호(기기)인지 알려주는 주소
    

이때 어디까지가 동네 주소이고, 어디서부터가 기기 주소인지를 구분해주는 기준점이 바로 서브넷 마스크(Subnet Mask)입니다.

- 예를 들어, `255.255.255.0`이라는 서브넷 마스크는 "앞의 세 덩어리(24비트)는 동네 이름이고, 마지막 한 덩어리만 너의 고유 번호야"라고 지정해주는 역할을 합니다.

## 3. 실생활 예시: 회사 네트워크

한 회사에 100명의 직원이 있을 때, 서브넷을 적용하면 다음과 같이 나눌 수 있습니다.

|**서브넷 이름**|**역할**|**접근 권한**|
|---|---|---|
|**서브넷 A**|개발팀|서버 및 개발 환경 접근 가능|
|**서브넷 B**|인사팀|개인정보 및 급여 시스템 접근 가능|
|**서브넷 C**|방문객용 Wi-Fi|인터넷만 가능, 내부 서버 접근 불가|
이렇게 나누면 개발팀 직원이 실수로 인사팀의 민감한 파일을 들여다보는 일을 물리적으로 차단할 수 있습니다.


## 4. 서브넷 간의 통신
- **같은 서브넷 안:** [[게이트웨이(Gateway)]] 없이 직접 소통합니다. (같은 동네니까요!)
    
- **서로 다른 서브넷:** 반드시 [[라우터(Router)]](또는 [[게이트웨이(Gateway)]])를 거쳐야 합니다. (다른 동네로 넘어가야 하니까요!)