1. 사설 IP (Privated IP)
: 한정된 ip 주소를 최대한 활용하기 위해 IP 주소를 분할하고자 만든 개념
→ IPv4 기준 최대 43억개는 이미 고갈 됨
사설망(Private Network)
•
사설망 내부에는 외부 인터넷 망으로 통신이 불가능한 사설 IP로 구성
•
외부로 통신할 때는 통신 가능한 공인 IP 로 나누어 사용
•
보통 하나의 망에는 사설 IP를 부여받은 기기들과 NAT 기능을 갖춘 Gateway로 구성
NAT (Network Address Translation)
: 사설 아이피와 공용 아이피 사이에서 서로 주소를 변화해주는 방법
[NAT 종류]
1.
Dynamic NAT: 1개의 사설 IP를 가용 가능한 공인 IP로 연결
→ 공인 IP 그룹에서 현재 사용 가능한 IP를 가져와서 연결
2.
Static NAT : 하나의 사설 IP를 고정된 하나의 공인 IP로 연결
→ AWS Internet Gateway가 사용하는 방식
3.
PAT(Port Address Translation): 많은 사설 IP를 하나의 공인 IP로 연결
→ NAT Gateway가 사용하는 방식
2. CIDR
: IP 주소의 영역을 여러 네트워크 영역으로 나누기 위해 IP를 묶는 방식
→ 여러개의 사설망을 구축하기 위해 망을 나누는 방법
CIDR Block/ CIDR Notation
1.
CIDR Block : IP 주소의 집합
→ 호스트 주소 비트 만큼 IP 주소 보유 가능
Ex) 192.168.2.0/24
•
네트워크 비트: 24
•
호스트 주소: 32-24 = 8, 2^8=256개의 IP 주소 보유
•
192.168.2.0 ~ 192.168.2.255까지의 주소
2.
CIDR Notation : CIDR Block을 표시하는 방법
•
네트워크 주소 + 호스트 주소 로 구성
•
각 호스트 주소 숫자 만큼 IP를 가진 네트워크 망 형성 가능
3. 서브넷
: 네트워크 안의 네트워크로, 큰 네트워크를 잘게 쪼갠 단위
•
큰 네트워크에 부여된 IP 범위를 조금씩 잘라 작은 단위로 나눈후, 각 서브넷에 할당하는 방식
→ 서브넷은 일정 IP 주소의 범위를 보유
AWS의 구조
•
AWS의 클라우드 서비스들은 공용 인터넷을 통해 사용 (외부에서 접근 가능)
•
VPC는 원칙적으로 외부에서 VPC에 접근할 수 없음
→ AWS 내부에 있는 서비스에 연결하는 경우
Ex) Amazon EC2 → S3에 접근 하고 싶은 경우, EC2에서 퍼블릭 인터넷으로 나간 다음에 다시 들어 와야하기 때문에 인터넷 게잍웨이를 통해서만 외부로 접근 가능
→ VPC의 목적 자체가 외부와 격리된 네트워크를 만드는 것
VPC
: 사용자의 AWS 계정 전용 가상 네트워크이자 가상으로 존재하는 데이터 센터
•
외부로부터 격리되어 있는 가상의 네트워크
→ VPC는 AWS클라우드에서 다른 가상 네트워크와 논리적으로 분리되어 있음
•
외부로부터 격리된 네트워크 컨테이너 구성 가능
→ AWS EC2 인스턴스와 같은 리소스를 VPC에서 실행할 수 잇음
→ 원하는 대로 사설망 구축가능 (부여된 IP 대역을 분할해서 사용)
•
리전 단위로 사용
[VPC 기능]
[VPC 사용사례]
[VPC 구성 요소]
1.
서브넷
: VPC 하위 단위로, VPC에 할당된 IP를 더 작은 단위로 분할한 개념
•
하나의 서브넷은 하나의 가용영역(AZ) 안에 위치
•
CIDR block range로 IP 주소 지정
[AWS 서브넷의 IP 개수]
→ AWS의 사용가능 IP 숫자는 5개를 제외하고 계산
Ex) 10.0.0.0/24
•
10.0.0.0: 네트워크 어드레스
•
10.0.0.1: VPC Router
•
10.0.0.2: DNS Server
•
10.0.0.3: 미래에 사용을 위해 남겨 둠
•
10.0.0.255: 네트워크 브로드캐스트 어드레스
→ 위의 5개를 제외, 총 사용 가능한 IP 개수는 2^8 -5 =251
[서브넷의 종류]
a.
퍼블릭 서브넷: 외부에서 인터넷을 통해 연결할 수 있는 서브넷
•
인터넷 게이트웨이(IGW)를 통해 외부의 인터넷과 연결되어 있음
•
안에 위치한 인스턴스에 퍼블릭 IP 부여 가능
•
웹 서버, 어플리케이션 서버 등 유저에게 노출되어야 하는 인프라
인터넷 게이트웨이 (IGW)
: VPC가 외부의 인터넷과 통신할 수 있도록 경로를 만들어주는 리소스
→ 기본적으로 확장성과 고가용성이 확보되어 있음
→ IPv4, IPv6 지원 (IPv4의 경우 NAT 역할 수행)
→ 라우팅 테이블에서 경로 설정 후 접근 가능
b.
프라이빗 서브넷: 외부에서 인터넷을 통해 연결할 수 없는 서브넷
•
외부 인터넷으로 경로가 없음
•
퍼블릭 IP 부여 불가능
•
데이터베이스, 로직 서버 등 외부에 노출될 필요가 없는 인프라
→ 웹서버나 어플리케이션 서버들이 내부적으로 필요해서 접속하고, 외부 사용자가 접속 할 필요가 없음
2.
인터넷 게이트 웨이
3.
NACL/ 보안 그룹
4.
라우팅 테이블
: 트래픽이 어디로 가야할지 알려주는 이정표
→ VPC 생성시 기본으로 하나 제공
•
Destination 목록에서 가장 구체적인 것을 찾아서 매칭해서 알려 줌
Ex) 10.0.1.231
•
가장 구체적인 것은 /E 에서 E값이 큰 것 일수록 구체적임
•
0.0.0.0/0 : 모든 IP를 포함하는 블록
→ 서브넷 A의 EC2가 10.0.1.31로 메세지 전송
5.
NAT Gateway
: Amazon VPC의 프라이빗 서브넷에 있는 인스턴스에서 인터넷에 쉽게 연결할 수 있도록 지원하는 가용성이 높은 AWS 관리형 서비스
→ 프라이빗 인스턴스가 외부의 인터넷과 통신하기 위한 통로
→ 서브넷 단위이고, NAT 게이트웨이는 퍼블릭 서브넷에 있어야함
6.
VPC Endpoint
[VPC 주요 사항]
•
VPC 생성 시 만들어지는 리소스 : 라우팅 테이블, 기본 NACL, 기본 보안 그룹
→ 서브넷 생성시 모두 기본 라우팅 테이블로 자동 연동
•
서브넷 생성시 AWS는 총 5개의 IP를 미리 점유함
•
VPC에는 단 하나의 Internet Gateway만 생성 가능
→ Internet Gateway 생성 후, 직접 VPC에 연동 필요
→ Internet Gateway는 자체적으로 고가용성/장애 내구성을 확보
•
보안 그룹은 VPC 단위
•
서브넷은 가용 영역 단위 (1 서브넷 = 1 가용 영역)