VPC** (Virtual Private Cloud) : 사용자가 정의한 가상 네트워크에서 AWS 리소스를 실행할 수 있는 논리적으로 격리된 AWS 클라우드 섹션을 프로비저닝 할 수 있음서브넷** (subnet) : 퍼블릭 또는 프라이빗 리소스 그룹, VPC에 있는 IP 주소의 범위(1) Amazon Virtual Private Cloud (Amazon VPC)
AWS 리소스에 경계를 설정하는 데 사용할 수 있는 네트워킹 서비스
→ AWS 리소스용 프라이빗 IP 범위 정의 or VPC에 EC2 인스턴스나 ELB와 같은 요소를 배치
VPC 내에서 여러 서브넷으로 리소스를 구성할 수 있음
역할 : VPC 내에 있는 IP 주소의 모음으로 리소스를 그룹화할 수 있도록 도와줌
네트워킹 규칙을 이용해서 리소스를 공개할지 않을지를 제어
(2) 인터넷 게이트웨이 (IGW)
인터넷의 퍼블릭 트래픽이 VPC에 액세스하도록 허용! 일종의 공개된 게이트
VPC와 인터넷 간의 연결. 즉, IWG 없으면 아무도 VPC 내의 리소스에 액세스 불가능
(3) 가상 프라이빗 게이트웨이 (Virtual Private Gateway)
보호된 인터넷 트래픽(프라이빗 트래픽)이 VPC로 들어오도록 허용하는 구성요소! 일종의 비공개 게이트
온프레미스 데이터 센터나 사내 네트워크 같은 프라이빗 네트워크와 VPC 간의 VPN 연결을 설정할 수 있음
승인된 네트워크에서 나오는 트래픽만 VPC로 들어가도록 허용
(4) AWS Direct Connect
데이터 센터와 VPC 간에 비공개 전용 연결을 설정하는 서비스! 즉, 비공개 전용 광섬유 회선 (물리적인 회선)
최대한 짧은 지연시간 및 최대한 높은 수준의 보안, 네트워크 비용 절감, 대역폭 문제 해결
단일 VPC에 여러 유형의 리소스를 위한 여러 유형의 게이트웨이가 연결될 수 있음 (같은 VPC이지만 서브넷이 모두 다름)



IGN / VPG / Direct Connect
네트워크 강화, 애플리케이션 보완, 사용자 ID 인증 및 권한 부여, 분산 서비스 거부(DDoS) 방지, 데이터 무결성, 암호화 등
처리하는 다양한 도구가 있음 (게이트웨이는 경계에만 적용!)
(1) 서브넷
보안 또는 운영 요구 사항에 따라 리소스를 그룹화할 수 있는 VPC 내의 한 섹션
종류
· 퍼블릭 서브넷 : 누구나 액세스할 수 있어야 하는 리소스가 포함됨 (ex) 온라인 상점의 웹사이트)
· 프라이빗 서브넷 : 프라이빗 네트워크를 통해서만 액세스할 수 있는 리소스가 포함됨 (ex) 고객의 개인정보 및 주문 내역이 포함된 데이터베이스)
ex) 퍼블릭 서브넷 내의 AWS EC2 인스턴스가 프라이빗 서브넷 내의 데이터베이스와 통신하는 애플리케이션


퍼블릭 서브넷과 프라이빗 서브넷
(2) VPC의 네트워크 트래픽
패킷은 인터넷 게이트웨이를 통해 VPC로 들어감 → 서브넷에 출입 유무? 권한 필요
서브넷 경계를 지나는 모든 패킷은 네트워크 ACL에서 검사! (출입 권한을 체크함)
(3) 네트워크 액세스 제어 목록 (ACL, Access Control List)
네트워크 ACL : 서브넷 수준에서 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽 (인바운드 제어와 아웃바운드 제어 별도, 둘 다 각각 검사)
각 AWS 계정에는 기본 네트워크 ACL이 포함됨
→ VPC를 구성할 때 계정의 기본 네트워크 ACL을 사용하거나 사용자 지정 네트워크 ACL을 생성 가능
계정의 기본 네트워크 ACL은 기본적으로 모든 인바운드 및 아웃바운드 트래픽을 허용하지만 사용자가 자체 규칙을 추가하여 수정할 수 있음
사용자 지정 네트워크 ACL은 사용자가 허용할 트래픽을 지정하는 규칙을 추가할 때까지 모든 인바운드 및 아웃바운드 트래픽 거부
명시적 거부 규칙 : 패킷이 목록의 다른 모든 규칙과 일치하지 않으면 해당 패킷은 거부되도록 설정, 모든 네트워크 ACL에 있음
패킷의 특정 Amazon EC2 인스턴스에 도달할 수 있는지 평가 X (패킷만 평가함! 모든 네트워크 제어 문제 해결 X)
(4) 상태 비저장 패킷 필터링
아무것도 기억하지 않고 각 방향 (인바운드 및 아웃바운드)으로 서브넷 경계를 통과하는 패킷만 확인 (NACL에 해당)
네트워크 ACL은 규칙 목록에 따라 패킷 응답을 확인하여 허용 또는 거부 결정
(5) 보안 그룹
Amazon EC2 인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽 (인스턴스 수준의 방화벽)
기본적으로 모든 인바운드 트래픽 거부, 모든 아웃바운드 트래픽 허용
서브넷 내에 여러 인스턴스가 있는 경우
(6) 상태 저장 패킷 필터링


서브넷 1에서 서브넷 2로 패킷이 이동하는 과정 (1) : 보안 그룹, NACL 거쳐 나옴


서브넷 1에서 서브넷 2로 패킷이 이동하는 과정 (2) : NACL, 보안 그룹 거쳐 인스턴스에 들어감

서브넷에서 패킷이 이동하는 모식도