들어가기
aws스터디에서 VPC 부분을 맡아 정리한 내용입니다.
VPC는 독립된 가상의 클라우드 네트워크이다.
: AWS 클라우드 안에서 논리적으로 독립된 섹션을 제공하여,
사용자가 정의한 가상 네트워크상에서 다양한 AWS 리소스를 실행할 수 있게 지원.
AWS console에서 VPC Dashboard에 접근하면 다양한 VAP 리소스들을 확인해 볼 수 있다
![]()
구분 | 기본 VPC | 사용자 VPC |
---|---|---|
생성 주체 | AWS | 사용자 |
AWS 리소스 | 정해진 리소스 미리 생성 | 수동으로 생성 |
리전 별 생성 수 | 1개 | 최대 5개 (기본값) |
확장성
보안
사용자 중심
제약 사항
VPC에 대한 리소스를 알기 전에 기본적인 네트워크 개념을 학습하고 넘어가보자 ~~ !!
국체표준화기구(IOS)에서 개발한 모델로, 복잡한 네트워크 동작 과정을 7개의 계층으로 나누어 네트워크 통신 흐름을 이해할 수 있게 도와준다.
계층별로 하위 계층의 기능을 이용하고 상위 계층으로 기능을 제공하는 상하 관계를 맺고 있다.
IOS 7 레이어는 7개의 계층이 독립적으로 활동하고 있지만,
연관되서 유기적으로 동작하기 때문에 쌓여있다는 의미로 Stack 계층이라고도 표현한다.하위계층으로 내려갈수록 (7계층 -> 1계층) Encapsulation(캡슐화)이 진행되고,
상위계층으로 올라갈수록 De-Encapsulation(역캡슐화)가 진행된다.즉, 아래로 내려갈수록 데이터를 보내고자하는 단위가 점점 더 커진다는 의미다.
데이터 통신을 하는데 있어서 PDU(Protocol Data Unit)를 표준으로 통신하게 되고,
PDU 양식을 맞추기 위해 캡슐화 or 역캡슐화를 진행한다.
(아래의 이미지를 참고!)
[The following figure shows the encapsulation and de-encapsulation process in the OSI model]
[The following figure shows the encapsulation and de-encapsulation process in the TCP/IP model.]
통신분야에서의 캡슐화
OSI 계층모델에서 사용자 데이터가 각 계층을 지나면서,
하위 계층은 상위 계층으로부터 온 정보를 데이터로 취급하며,
자신의 계층 특성을 담은 제어정보(주소,에러제어 등)를 헤더화시켜, 이를 붙이는(포장하는) 일련의 과정이다.역캡슐화는 데이터를 받는 과정으로 데이터가 전송 매체를 통해 전송한 후 헤더가 벗겨지게 되는 것이다.
1 Layer - Physical 계층
2 Layer - Data Link 계층
3 Layer - Network 계층
4 Layer - Transport 계층
5 Layer - Session 계층
6 Layer - Presentation 계층
7 Layer - Application 계층
IP(Internet Protocal)
: 인터넷 상의 네트워크 자원들을 구분하는 고유한 주소로,
OSI Layer에서 3계층에 해당하며 IP주소는 IP 버전4 (IPv4)와 IP 버전6 (IPv6)으로 구분 짓는다.
구분 | IPv4 | IPv6 |
---|---|---|
주소 길이 | 32bit | 128bit |
표기 방법 | 8비트씩 4개의 파트로 10진수 표현 (39.118.188.233 ) | 16비트씩 8개의 파트로 16진수 표현(2002:0221:ABCD:CDEF:0000:0000:FFFF:1234 ) |
주소 개수 | 약 43억개 | 약 43억 x 43억 x 43억 x 43억 |
표에서 보여진대로 IPv4와 IPv6는 표기 방법, 가용 숫자에서 큰 차이를 보인다.
예전부터 IPv4는 가용 숫자 문제 및 효율성 문제가 제기되고 있음에 따라
IPv6가 해당 문제에 진보된 특성을 보이지만 여전히 IPv4를 주로 쓰고 있다고 한다.
기본적으로 네트워크의 통신 용도에 따라
퍼블릭 네트워크( 실제 인터넷 구간으로 통신하는 공공 네트워크 )와
프라이빗 네크워크( 인터넷 구간이 아닌 내부적으로 통신하는 사설 네트워크 )로 구분 짓을 수 있고,
이 네트워크들이 사용하는 IPv4주소 대역이 지정되어 있다.
[Public Service, Private Network]
Public IP (공인 IP)
인터넷 구간의 통신 대상을 식별하기 위해
ISP(Internet Service Providor:인터넷 서비스 공급자)에서 제공하는 IP 주소
Private IP (사설 IP)
일반 가정이나 회사 등의 독립된 네트워크에서 사용하는 내부 IP주소.
관리자에 의해 할당되며 독립된 네트워크 상에서 유일한 주소 갖고, Private IP 주소를 통해 외부 인터넷 구간과 통신 불가능.
Private IP주소는 3가지 대역으로 고정
- Class A: 10.0.0.0 ~ 10.255.255.255
- Class B: 172.16.0.0 ~ 172.31.255.255
- Class c: 192.168.0.0 ~ 192.168.255.255
서브넷
부분적인 네트워크를 의미한다.
모든 네트워크 망이 거대한 하나의 망으로 이루어진 형태는 아니다.
네트워크망에서 서브넷을 통해 부분적인 네트워크망으로 나누어지고 서로 연결되어 있다.
그럼, 나누어진 서브넷은 서로 어떻게 구분할까? => 서브넷 마스크 사용!
서브넷 마스크
IP주소에 네트워크 ID와 호스트 ID를 구분하는 기준값이다.
=> 동일한 서브넷에 속한 IP 주소의 네트워크 ID의 값은 모두 동일!
=> 호스트 ID를 통해 개별 구분!
TCP, UDP
OSI 7 Layer 중 4계층에 사용되는 대표적인 전송 프로토콜이다.
TCP, UDP의 차이 -> 신뢰성있는 전송 여부
구분 | TCP | UDP |
---|---|---|
OSI 모델 | 4계층 (전송 계층) | 4계층 (전송 계층) |
연결 | 연결 지향성 | 비연결 지향성 |
신뢰성 | 보장 O | 보장 X |
순서 | 데이터 순서 보장 O | 데이터 순서 보장 X |
제어 | 혼잡 제어, 흐름 제어 제공 O | 혼잡 제어, 흐름 제어 제공 X |
속도 | 상대적으로 느림 | 상대적으로 빠름 |
서비스 | HTTP, SSH, FTP 등 | DNS, DHCP 등 |
Port번호
TCP, UDP의 특성에 따라 제공되는 응용 프러그램 서비스가 있고, 이런 서비스를 구분할 때 포트 번호를 이용한다.
범위에 따라 크게 3가지로 구분 짓음 (IANA 단체에서 지정)
- 잘 알려진 포트(Well-Known Port: 0~0123)
- 등록된 포트(Registered Port: 1024~49151)
- 동적 포트(Dynamic Port: 49152~65535)
개념
동적으로 IPv4 주소를 일정 기간 임대를 하는 프로토콜이다.
절차
중앙 집중형 서버/클라이언트 방식으로 동작한다.
즉, DHCP 서버가 존재하고 네트워크 호스트가 클라이언트 서버가 되어 서버에게 IP할당을 요청하는 구조이다.
도메인 네임을 제공하기 위한 기술.
도메인 네임과 IP주소와 매핑하여 제공하는 기술.
(DNS에 대한 상세 정보는 Route 53 부분에서 다시 다룰것!)
개념
네트워크 통신을 수행할 때 거쳐 가는 경로를 잡아 주는 OSI 7 Layer에서
3계층인 Network 계층의 핵심적인 기능 수행.
네트워크는 여러개의 서브넷으로 이루어져 있고, 목적지 IP로 향할 때 여러 노드를 거쳐서 통신.
복잡하게 연결된 네트워크망에서 최적의 경로를 잡아 통신하는 것
라우터, 라우팅 테이블
라우터는 라우팅 테이블을 통해 경로 파악 및 목적지 대상으로 데이터 전달.
개념
서브넷의 일반적인 개념은 네트워크 영역을 부분적으로 나눈 망으로 정의할 수 있다.
클라우드 환경의 VPC 에서도 서브넷을 통해 네트워크를 분리하여 나눌 수 있다.
퍼블릭 서브넷
공인 네트워크 개념으로 외부 인터넷 구간과 직접적으로 통신할 수 있는 공공 네트워크이다.
프라이빗 서브넷
사설 네트워크 개념으로 외부 인터넷 구간과 직접적인 통신을 할 수 없는 페쇄적인 네트워크이다.
VPC를 생성하면 자동으로 가상 라우터가 생성된다.
가상 라우터는 라우팅 테이블을 가지고 있어 목적지 네트워크로 라우팅하여 통신된다.
VPC와 인터넷 간의 논리적인 연결이다.
VPC에서 인터넷 구간으로 나가는 관문이라 생각하기!
인터넷 게이트웨이는 VPC당 1개만 연결 가능
인터넷 게이트웨이를 통해 외부 인터넷 구간으로 통신할 수 있는 대상은 퍼블릭 IP를 사용하는 퍼블릭 서브넷 내의 자원.
(인터넷 게이트 웨이에 대한 상세 동작은 인터넷 연결을 학습하면서 다루기!)
인터넷 게이트웨이처럼 외부 인터넷 구간과 연결하는 관문 역할을 하고 있다.
인터넷 게이트웨이와 차이점은 NAT라는 명칭으로 알아볼 수 있다.
추가로, NAT 게이트웨이는 한쪽 방향으로 동작한다!
프라이빗 서브넷 -> 외부 인터넷 통신 O
외부 인터넷 -> 프라이빗 서브넷 통신 X
VPC는 인스턴스 레벨과 서브넷 레벨 상에서 대상을 필터링 할 수 있는 보안 기술을 사용할 수 있다.
보안 그룹: 인스턴스 별로 지정하는 보인기술
네트워크 ACL: 서브넷 별로 지정하는 보안 기술로 구분 지어 볼 수 있음.
학습 자료
- 따라하며 배우는 AWS 네트워크 입문 - 김원일, 서종호
- The logical mapping between OSI basic reference model and the TCP/IP stack.
- AWS docs: 퍼블릭 및 프라이빗 서브넷이 있는 VPC(NAT)
- OSI 7 계층 (OSI 7 Layers) [ 인프라 네트워크 (Infrastructure Network) ]
- computernetworkingnotes: encapsulation and de-encapsulation process
- Encapsulation, Encapsulating 캡슐화