1. AWS VPC란?
- Virtual Private Cloud 의 약자, AWS 클라우드 내 논리적으로 독립된 섹션 제공
- 사용자가 정의한 가상 네트워크상에서 다양한 AWS 리소스를 실행할 수 있게 지원
- 독립된 가상의 클라우드 네트워크
- 사용자는 VPC 내에 IP 대역, 인터페이스, 서브넷, 라우팅 테이블, 인터넷 게이트웨이, 보안 그룹, 네트워크 ACL 등 생성, 제어 가능
2. 기본 네트워크 개념
OSI 7 레이어, TCP/IP 모델
IP 주소
- 공인 IP : 전 세계 유일한 주소, 인터넷
- 사설 IP : 맘껏 사용, 인터넷 사용시 NAT = Fixed
IP 통신
- 동일 네트워크 : 그냥 됨
- 다른 네트워크 : G/W 필요
- NAT(Network Address Traslation) 네트워크 주소 변환
- 1:1 NAT(or DNAT) : Floating IP
- 1:다 NAT(or SNAT, Masquerading)
IP
- 공인 IP = AWS Public IP(EC2 중지 후 시작 시 Public IP 변경됨), AWS Elastic IP(탄력적 IP, IP 고정 되지만 할당 후 미 사용시 과금)
TCP와 UDP, 포트번호(0 ~ 65535)
- 서버 IP 50.1.1.1 - 웹 서비스 : HTTP(TCP 80) / FTP(TCP 21/20)
구분 | TCP | UDP |
OSI 모델 | 4계층 (전송) | 4계층 (전송) |
연결 | 연결 지향성 | 비연결 지향성 |
신뢰성 | 보장 | X |
순서 | 순서 보장 | X |
제어 | 혼잡 제어, 흐름 제어 제공 | X |
속도 | 상대적으로 느림 | 상대적으로 빠름 |
서비스 | HTTP, SSH, FTP 등 | DNS, DHCP 등 |
- TCP와 UDP의 특성에 따라 제공되는 응용 프로그램 서비스가 있는데 이런 서비스를 구분하는 것이 포트번호
- IANA에서 TCP, UDP 포트번호 정의
- Well-Known Port : 0 ~ 1023
- Registered Port : 1024 ~ 49151
- Dynamic Port : 49152 ~ 65535
Ex) TCP 80 : HTTP / UDP 53 : DNS 서비스
DHCP(Dynamic Host Configuration Protocol)
- 동적으로 IPv4 주소를 일정기간 임대하는 프로토콜
- UDP 67, 68
- 동작 절차
DNS(Domain Name System)
- 도메인 네임 제공
- 도메인 네임 : 문자 형태로 구성된 이름
- Ex) google.com 과 IP 주소를 매핑
- UDP 53
라우터, 라우팅, 라우팅 테이블
- Network 글에서 자세히 다루겠습니다.
3. VPC 리소스
서브넷
- 네트워크 영역을 부분적으로 나눈 망
- 서브넷의 IP 대역은 VPC 의 IP 대역에 속해 있어야 하며, 서브넷은 1개의 가용 영역(AZ)에 종속 되어야함
예약되어 있는 IP주소
Example
VPC A(10.0.0.0/16) 내부 서브넷에 할당할 IP대역이 10.0.0.0/24
첫번째 주소: 10.0.0.0 - 네트워크 주소
두번째 주소: 10.0.0.1 - AWS VPC 가상 라우터 주소
세번째 주소: 10.0.0.2 - AWS DNS 서버 주소
네번째 주소: 10.0.0.3 - 향후 새로운 기능에 활용할 주소
마지막 주소: 10.0.0.255 - 네트워크 브로드캐스트 주소
VPC 내 여러 서브넷이 존재할 경우 첫번째 서브넷의 세번째 주소를 DNS 서버 주소로 사용
나머지 서브넷의 세번째 주소는 AWS에서 예약되어 있습니다.
- 퍼블릭 서브넷 : 공인 네트워크 개념, 외부 인터넷과 직접 통신 가능
- 프라이빗 서브넷 : 사설 네트워크 개념, 외부 인터넷과 직접 통신 불가한 폐쇄망
가상 라우터와 라우팅 테이블
- VPC 생성시 자동으로 가상 라우터 생성
- 라우팅 테이블을 가지고 있고, 목적지 네트워크로 라우팅
- 10.0.0.0/16 대역의 VPC 생성시 자동으로 가상 라우터 생성
- 가상라우터는 최초에 기본 라우팅 테이블 보유 - 로컬 네트워크에 대한 라우팅 경로만 잡혀 있음.
- 여기서 로컬 네트워크는 VPC 자체 대역, VPC 내에 생성된 서브넷은 라우팅 테이블의 로컬 네트워크에 의해 통신
- 가상 라우터에서는 서브넷별로 라우팅 테이블을 매핑 가능
- 기본 라우팅 테이블을 사용할 수도 있지만, 새로운 라우팅 테이블 생성 & 매핑하여 서브넷 당 개별 라우팅 테이블 생성 가능
인터넷 게이트웨이
- VPC와 인터넷 간의 논리적 연결
- VPC 당 1개 생성 가능
- 인터넷 게이트웨이를 통해 외부 인터넷 구간으로 통신할 수 있는 대상은 퍼블릭 IP를 사용하는 퍼블릭 서브넷 내의 자원
- 자신의 라우팅 테이블에 외부 인터넷 구간으로 나가는 타깃을 인터넷 게이트웨이로 지정해주어야함
- 퍼블릭 서브넷 내의 인스턴스가 외부 인터넷과 통신하기 위해 인터넷 게이트웨이를 관문으로 통신 중
- 양방향 연결을 지원하기 때문에 외부 인터넷에서 퍼블릭 서브넷의 IP로도 정상 통신 가능
NAT 게이트웨이
- 인터넷 게이트웨이 처럼 외부 인터넷 구간과 연결하는 관문 역할
- 차이점 : NAT
- 인터넷 구간은 퍼블릭 IP를 통해 통신하는데 반해, 프라이빗 IP는 인터넷 구간으로 넘어올수가 없기 때문에 NAT 게이트웨이가 프라이빗 IP를 퍼블릭 IP로 변환
- 프라이빗 서브넷 인스턴스의 프라이빗 IP를 퍼블릭 IP로 변환하여 외부 인터넷 구간으로 연결
- 한 방향으로만 동작. 즉, 프라이빗 서브넷에서 외부 인터넷으로는 통신 가능하지만 반대로는 불가능
보안 그룹과 네트워크 ACL
- VPC는 인스턴스 레벨과 서브넷 레벨 상에서 대상을 필터링 할 수 있는 보안 기술 사용 가능
- 인스턴스 레벨 : 보안그룹 (Security Group)
- 서브넷 레벨 : 네트워크 ACL (Access Control List)
- 보안 그룹은 인스턴스 별로 지정하는 보안기술
- 네트워크 ACL 은 서브넷 별로 지정하는 보안기술
- 인바운드 및 아운바운드 되는 데이터에 대해 허용 규칙, 거부규칙을 수립하여 원하는 데이터만 수용하도록 필터링
'Infra > cloud' 카테고리의 다른 글
[AFOS] 3주차 네트워킹 서비스 - 실습 : VPC 구성(프라이빗 서브넷) (0) | 2021.07.09 |
---|---|
[AFOS] 3주차 네트워킹 서비스 - 실습 : VPC 구성(퍼블릭 서브넷) (0) | 2021.07.09 |
[AFOS] 2주차 컴퓨팅 서비스 - 실습 : EC2 웹 서버 설치 (0) | 2021.07.09 |
[AFOS] 2주차 컴퓨팅 서비스 (0) | 2021.07.09 |
[AFOS] 1주차 AWS & 가상서버 - 실습 : EC2 배포 (0) | 2021.07.09 |