VPC(virture private cloud)란 클라우드 환경에서의 가상 네트워크 망이 퍼블릭과 프라이빗의 논리적으로 독립된 네트워크 공간으로 구성된 것을 말한다.
vpc 안에는 퍼블릭 서브넷 , 프라이빗 서브넷, 라우트 테이블, 인터넷 게이트웨이 등이 구성된다.
VPC를 생성하기 위해서는 VPC 아이피 범위를 RFC1918 사설 아이피 대역에 맞추어 구축해야 한다. 사설 아이피는 VPC안에서 독립적으로 사용하는 아이피이다.
사설 아이피 대역:
한 번 설정된 아이피는 수정할 수 없으며 각 VPC는 하나의 리전에 종속된다.
서브넷은 VPC에서 작은 단위로 나눈 개념이다. 서브넷은 퍼블릭 서브넷, 프라이빗 서브넷으로 나뉜다.
라우터는 네트워크 통신을 수행할 때 어느 네트워크로 갈지 경로를 정해주는 역할을 라우팅이라고 하며, 라우팅을 하기 위한 장비를 라우터라고 한다.
VPC 생성 시 자동으로 가상 라우터가 생성된다.
라우팅 테이블은 라우팅을 하기 위해 정보를 저장하는 테이블이다.
VPC생성 시 자동으로 가상 라우팅 테이블이 생성된다.
VPC와 인터넷이 통신하기 위해서는 게이트웨이를 거쳐야지만 통신이 가능하다.
네트워크 ACL과 보안그룹은 방화벽과 같은 역할을 하며 인바운드 트래픽과 아웃바운드 트래픽 보안 정책을 설정할 수 있다. 우선 네트워크 ACL은 Stateless이며 모든 트래픽을 처리하기 위해 명시적인 규칙을 따른다. 네트워크 ACL은 모든 트래픽을 허용하도록 기본 설정되어 있기 때문에 불필요한 트래픽을 차단하도록 따로 설정해야 된다. 네트워크 ACL은 주로 서브넷 수준에서 구현된다.
보안그룹은 Statefull이며 인바운드 규칙에 대한 아웃바운드 응답을 자동으로 허용한다. (아웃바운드가 none 이여도 인바운드에서 정의된 규칙이 허용되면 아웃바운드가 none이여도 허용된다.) 보안그룹은 모든 트래픽의 접근을 차단되도록 기본 설정되어 있기 때문에 필요한 설정은 허용해줘야 된다. 보안그룹은 주로 인스턴스(EC2) 수준에서 구현된다.
aws 공식 문서
https://velog.io/@moonblue/vpc란
https://medium.com/harrythegreat/aws-가장쉽게-vpc-개념잡기-71eef95a7098