👋🏻
클래스리스 IP 주소 관리 체계
클래스리스 IP 주소 관리 체계는 CIDR(Classless Inter-Domain Routing) 이라고 불립니다.
우선 클래스리스 IP를 알기 전, 기존 방식인 클래스 기반 IP에 대해서도 저는 잘 모르기 때문에 알아보도록 하겠습니다.
클래스 기반 IP
여기서 클래스는 하나의 IP주소에서 네트워크 영역과 호스트 영역을 나누는 방법이면서 약속이라 생각하면 됩니다.
원래 IP 주소는 아래 표 처럼 나눠져 있었습니다.
| A | 0~127. ~ | 앞 8비트 = 네트워크 |
| B | 128~191. ~ | 앞 16비트 |
| C | 192~223. ~ | 앞 24비트 |
예시를 들어 쉽게 설명하자면
192.168.1.0 이면 클래스 C이자 네트워크 24비트에 해당되겠죠.
근데 이 방식의 문제점은
- 필요한 만큼만 못 씀
- 너무 크게 주거나 너무 작게 줌 (극과 극?)
- IP 낭비가 심해짐
이를 보완하기 위해 나온게 클래스리스 방식입니다!
클래스리스 (CIDR)
클래스리스는 IP 주소 범위를 효율적으로 나누는 방식입니다. 예전에는 아까 말한 A/B/C 클래스처럼 고정된 범위만 썼는데 CIDR은 원하는 크기로 IP 범위를 나눌 수 있습니다.
즉 쉽게 말하면 클래스리스란 말 그대로 A, B, C 클래스로 구분하지 않고 필요한 크기만 잘라서 쓰는 방식입니다.
표현 방식은 IP주소/서브넷비트수 이렇게 표현합니다
서브넷 (Subnet)
위에 잠깐 서브넷이란 단어가 나왔었는데 서브넷은 대규모 네트워크를 더 작고 관리하기 쉬운 하위 네트워크 (더 작은 네트워크) 단위로 나눈겁니다.
그런데 하위 네트워크로 나누는 이유는 무엇일까요?
- 제한된 IP 주소를 낭비 없이 할당 가능
- 도메인을 작게 나누어 트래픽 혼잡을 줄여 성능이 향상 됨
- 서브넷 간 통신을 제어해서 보안을 강화
등등의 장점이 있다고 합니다..
AWS에서의 서브넷
VPC 안에서 여러 개의 서브넷을 만들 수 있다고 합니다.
여기서 VPC는 AWS 안에서 내가 직접 설계하는 사설 네트워크입니다.
| CIDR | |
| 퍼블릭 서브넷 | 10.0.1.0/24 |
| 프라이빗 서브넷 | 10.0.2.0/24 |
공인 IP와 사설 IP
공인 IP
인터넷 전체에서 유일하게 사용되는 IP 주소입니다. 외부 인터넷에서 직접 접근 가능한 주소이죠
공인 IP의 특징으로는
- 전 세계에서 중복 불가능하고
- 인터넷 통신 가능
- ISP(통신사)에서 할당
- 웹 서버 운영할 때 필요
- 외부에서 접속 가능
사설 IP
공인 IP와 반대되게 사설 IP는 내부 네트워크에서만 사용하는 IP 주소입니다. 예를 들어 집이나 학교, 회사 같은 내부망에서만 쓰입니다.
사설 IP의 특징으로는
- 인터넷에서는 직접 사용
- 여러 곳에서 같은 주소 사용 가능
- 공유기 안에서만 의미 있음
- 외부에서는 접근 불가
- 공인 IP 뒤에 숨어 있음 (NAT 사용)
NAT (Network Address Translation)
NAT는 사설 IP를 가진 서버가 인터넷으로 나갈 수 있게 해주는 장치입니다.
외부에서 내부로 들어오는 건 막고, 내부에서 외부로만 나가게 합니다.
이게 필요한 상황으로는 프라이빗 서브넷 서버가 업데이트 다운로드나 외부 API 호출을 해야할 때 필요합니다.
AWS에서는 NAT Gateway와 NAT Instance를 사용합니다
여기서 NAT Gateway와 NAT Instance는 프라이빗 서브넷에 있는 인스턴스가 인터넷으로 나가게 해주는 장치입니다.
ACL (Access Control List)
ACL이란 IP, 포트, 프로토콜 기준으로 트래픽을 허용하거나 차단하는 규칙 리스트입니다.
ACL의 역할은
- 특정 IP만 접속 허용
- 불필요한 외부 접근 차단
- 내부 네트워크 보호
- 서버 접근 통제
즉, 네트워크 레벨에서 보안을 위해 걸러내는 과정이라고 보면 쉽습니다!
AWS에서의 ACL이란?
AWS VPC에서는 ACL을 Network ACL(NACL) 이라고 부릅니다.
특징으로는
- 서브넷 단위로 적용
- 인바운드와 아웃바운드를 각각 설정
- 규칙 번호 순서대로 평가
- Allow와 Deny를 모두 사용 가능
- Stateless 방식
여기서 Stateless는 들어오는 트래픽과 나가는 트래픽을 서로 별개로 판단하는 방식입니다.
보안 그룹 (Security Group)
보안 그룹은 AWS에서 EC2 같은 리소스에 적용하는 가상 방화벽입니다.
서버에 들어오고 나가는 네트워크 트래픽 중에서 어떤 IP와 포트가 접근할 수 있는지 허용 규칙으로 관리합니다.
주요 역할은
- 외부 접근 제어 (IP 제한)
- 포트 개방/차단 관리
- 서버 보안 강화
즉 보안 그룹은 서버 앞단에서 접근을 통제하는 출입 관리표 역할을 합니다.
AWS Region
AWS Region은 전세계적으로 특정 국가나 도시 단위로 구성된 물리적으로 독립된 클라우드 운영 구역입니다.
각 Region 안에는 여러 개의 AZ(Availability Zone) 존재합니다
AWS Region의 역할로는
- 사용자와 가까운 위치에서 서비스를 제공하기 떄문에 빠른 속도
- 국가별에 맞게 데이터 저장
- 대규모 문제를 다른 지역과 분리
- AWS 리소스를 생성하고 관리하는 기준 위치
AWS의 IAM Role과 User
여기서 IAM이란 AWS 리소스에 대한 접근 권한을 관리하는 서비스입니다.
누가, 어떤 리소스에, 어떤 작업을 할 수 있는지를 관리합니다.
IAM User는 사람을 구별하기 위한 사용자 계정입니다.
Access Key 발급이 가능하며 이제 저희가 개발하면서 콘솔에 접속할 때나 로컬에서 AWS CLI 사용할 때 사용합니다.
IAM Role은 특정 주체가 대신 맡아서 쓰는 임시 권한입니다.
User와 가장 큰 차이점은 Role은 로그인 계정이 아니고 고정 Access Key가 없습니다.
이건 다른 AWS 계정이나 GitHub Actions 같은 외부 서비스에 접근할 때 사용합니다
AWS VPC (Virtual Private Cloud)
AWS VPC는 AWS 안에서 내가 직접 설계해서 쓰는 가상 네트워크입니다.
즉 내가 만든 네트워크 공간 안에 배치한다고 생각하면 됩니다.
VPC의 역할은
- 네트워크 공간을 직접 만들 수 있음
- 보안 그룹 직접 설정
- 인터넷 연결 여부 결정 (만약 게이트웨이 붙이면 외부 접속이 가능하게 됨)
- 퍼블릭 서브넷은 웹 서버로 프라이빗 서브넷은 데이터베이스 서버로 설계 가능
이처럼 AWS 인프라의 가장 기본이 되는 네트워크 단위입니다.
VPC 생성 스크린샷

🎉
오늘은 네트워크 기본에 대해 알아봤는데
저한텐 생각보다 좀 어려웠던 것 같습니당.. 그래도 이번 기회에 다른 분야도 파볼 수 있었던 것 같아요!