AWS 서비스 구조
우리가 깃허브나, 넷플, 네이버를 이요할 때 퍼블릭인터넷의 다양한 노드를 통해서 퍼블릭인터넷에 존재하는 여러 다양한 웹사이트를 이용한다. S3나 클라우드 서비스들도 퍼블릭 인터넷을 통해 사용한다.
이중에 예외는 VPC다. VPC는 원칙적으로 퍼블릭인터넷을 통해 접근이 불가능하다. 따라서 다른 AWS 서비스들은 모두 퍼블릭으로 엔드포인트가 있어서 퍼블릭 접근이 가능하지만 VPC는 불가능하다.
이렇게 퍼블릭인터넷으로 접근 가능한 AWS 서비스들은 안에 있는 내부 AWS 클라우드 내부에서도 예외는 아니다.
무슨말이냐, 예를들어서 아마존 EC2로 S3로 접근하고 싶다 하면 바로 접근이 가능한게 아니다. AWS 클라우드 내부더라도 EC2에서 Internet Gateway를 이용해 퍼블릭인터넷으로 나간다음에 다시 S3로 들어와야 한다.
우리가 VPC를 이요한다는 것은 외부와 격리된 서버를 만드는게 목적이다.
즉, 가상으로 존재하는 데이터센터.
즉, 외부와 단절되어있는 가상의 네트워크 단위

참고
/24 면 24비트가 고정 따라서 10.0.0 까지가 고정
총 32개 중 24개 빠졌으니까 마지막 .0 은 8승 할당될 수 있다. 즉, 총 사용 가능한 IP 갯수는 2의 8승 - 5 = 256-5 = 251

요청이 들어오면,
1. Destination(CIDR Block)목록에서 가장 구체적인 걸 찾아다가 알려준다.
(10.0.0.0/16은 IP Range이지 하나의 IP가 아니다.)
2. 타겟이 local이라고 쳤을 떄 2️⃣ 처럼 들어 갈 수 있다.
10.0.0.0/16, 0.0.0.0/0에도 해당될 수 있다. 여기서 더 구체적인 10.0.0.0/16을 따르게 되는 것이다
클라이언트 요청이 들어오면
10.0.0.0/16이 가장 구체적이네? 그럼 local로 가야해~Q. 가장 구체적인건 어떻게 아나요?
/{여기에 붙는 숫자}가 클수록 구체적인 것이다.
Q. 만약 171 대역대가 들어온다면?
172.31.0.0/16,0.0.0.0/0둘 다 가능하지만 더 구체적인172.31.0.0/16의 pcx-... VPC 피어링 주소로 연결된다.peering은 VPC가 두대 이상일 때 쓴다.
Q. 만약 여러 대역대가 들어온다면?
나머지 트래픽은 매칭되는애가 없다면0.0.0.0/0의 igw-... 인터넷 게이트웨이 주소로 연결된다.
라우트 테이블이 연결되어 있기 때문에 이 서브넷A와 서브넷B끼리 통신을 할 수 있는 것이다.

예를들어 이 서브넷A안에 있는 EC2가 10.0.1.31로 뭔가를 보냈다면 라우트 테이블에 보내고 10.0.1.31한테 메시지 전달해줘. 하면 라우트테이블에서 이 메시지는 어디로 가야하지~?하고 라우트테이블의 Destination 참고해보니까 10.0.0.0/16에 매칭이 되네? > local로 보내~
결과적으로는 서브넷B의 10.0.1.31이 있는 EC2 인스턴스가 받아서 처리를 한다.

Q. 만약 서브넷A에서 8.8.8.8 외부로 트래픽을 보낸다고 했을 때 라우트 테이블에서는
0.0.0.0/0의 igw(인터넷 게이트웨이)로 보내게 된다.
그러면 인터넷 게이트웨이는 이 요청을 외부에 있는 퍼블릭 인터넷으로 보낸다. 그럼 8.8.8.8은 알아듣고 응답을 보내게됨.
따라서 인터넷 게이트웨이는 외부의 퍼블릭 인터넷으로 경로를 만들어주는 역할을 한다.
이 인터넷 게이트웨이로 경로가 있는 즉 어떤 트래픽이 이 인터넷 게이트 웨이로 들어갈 수 있는 라우트 테이블이 붙어있는 서브넷을 퍼블릭 서브넷이라 한다.