본 학습은 따라하며 배우는 AWS 네트워크 입문 서적을 통해 진행했습니다.
VPC(Virtual Private Cloud)
AWS 클라우드 내 논리적으로 독립된 섹션을 제공하여 사용자가 정의한 가상 네트워크상에서 다양한 AWS 리소스를 실행할 수 있도록 지원
- 독립된 가상의 클라우드 네트워크
VPC 종류
- Default VPC
- 리전별로 1개씩 생성
- 기본 VPC 내에 AWS 리소스가 미리 정해짐
- Custom VPC
- 사용자 정의에 의해 수동으로 AWS 리소스를 생성하고 제어
VPC 특징
확장성
클라우드 기반에 손쉽게 VPC 자원을 생성하고 삭제가 가능하며, 설정 및 관리에 편의성을 제공
보안
인스턴스 레벨과 서브넷 레벨에서 인바운드 및 아웃바운드 필터링을 수행하도록 보안 그룹과 네트워크 ACL을 제공하여 보안을 강화
사용자 중심
VPC 내 리소스에 대해 사용자가 원하는 대로 손쉽게 제어할 수 있으며, 네트워크 지표 및 모니터링 툴을 활용하여 사용자에게 높은 가시성을 제공
제약 사항
전통적인 네트워크 환경에서 사용 가능했던 기능이 제한되어 있거나 일부분만 사용 가능하여 기술적 제약이 따름
- 기술적 제약: 브로드 캐스트, 멀티 캐스트, IP 기반 Failover 프로토콜(VRRP, HSRP) 등
- 본 기술적 제약은 AWS에서 지속적으로 개선 중
서브넷(Subnet)
네트워크 영역을 부분적으로 나눈 망
- 클라우드 환경의 VPC에서도 서브넷을 통해 네트워크를 분리하여 구분 가능
서브넷 도식화
예약된 주소
IP 대역이 10.0.0.0/24 라면 10.0.0.0 ~ 10.0.0.255
- 첫 번째 주소 = 네트워크 주소: 10.0.0.0
- 두 번째 주소 = AWS VPC 가상 라우터 주소: 10.0.0.1
- 세 번째 주소 = AWS DNS 서버 주소: 10.0.0.2
- 네 번째 주소 = 향후 새로운 기능에 활용할 주소: 10.0.0.3
- 마지막 주소 = 브로드캐스트 주소: 10.0.0.255
퍼블릭 서브넷
공인 네트워크 개념으로, 외부 인터넷 구간과 직접적으로 통신할 수 있는 공공 네트워크
프라이빗 서브넷
사설 네트워크 개념으로, 외부 인터넷 구간과 직접적인 통신을 할 수 없는 폐쇄적인 네트워크
- NAT 게이트웨이가 있으면 통신이 가능
가상 라우터와 라우팅 테이블
가상 라우터는 라우팅 테이블을 가지고 있어 목적지 네트워크로 라우팅하여 통신
- VPC를 생성하면 자동으로 가상 라우터가 생성
- 최초에 기본 라우팅 테이블은 로컬 네트워크에 대한 경로만 존재
- 로컬 네트워크는 VPC의 자체 대역으로, VPC 내에 생성된 서브넷은 라우팅 테이블의 로컬 네트워크에 의해 통신이 가능
- 가상 라우터에서는 서브넷 당 개별적인 라우팅 테이블 보유 가능
인터넷 게이트웨이
VPC와 인터넷 간의 논리적 연결
- VPC에서 인터넷 구간으로 나가는 관문
- VPC당 한 개만 연결 가능
- 양방향으로 연결을 지원하기에 외부 인터넷 구간에서 퍼블릭 서브넷의 퍼블릭 IP로도 정상적인 통신이 가능
인터넷 게이트웨이 도식화
NAT 게이트웨이
외부 인터넷 구간과 연결하는 관문 및 IP 주소 변환
- 프라이빗 IP는 인터넷 구간으로 넘어올 수가 없지만, NAT 게이트웨이를 통해 프라이빗 IP를 퍼블릭 IP로 변환하여 통신을 지원
- 한 쪽 방향으로만 동작 (프라이빗 서브넷 -> 외부 인터넷)
NAT 게이트웨이 도식화
보안 그룹과 네트워크 ACL
인스턴스 레벨과 서브넷 레벨 상에서 대상을 필터링 할 수 잇는 보안 기술을 사용
- 인바운드 및 아웃바운드 되는 데이터에 대해 허용 규칙과 거부 규칙을 수립하여 원하는 데이터만 수용할 수 있도록 필터링
- 인스턴스 레벨: 보안 그룹(Security Group)
- 인스턴스 별로 지정하는 보안 기술
- 서브넷 레벨: 네트워크 ACL(Access Control List)
- 서브넷 별로 지정하는 보안 기술