AWS로 서버설계를 할때 개념을 잡고가자.
매번 말하는 VPN 이 뭘까?
가 있다고치자.
이렇게 물리적으론 다르지만 , 가상의 네트워크상을 묶는거임.
하는 이유 : 만약 보안상 네트워크 분리를 위해서라면 이것저것 할게많기때문에
VPC 란?
이와 비슷하게 VPC가 없다면 EC2 인스턴스(서버) 들이 서로 연결되고 인터넷과 연결됩니다.
이 구조는 시스템의 복잡도를 엄청 끌어올리고 1개를 추가하면 모든 인스턴스를 수정해야함.
VPC에따라 다르게 네트워크 설정을 줄 수 있습니다. 또한 각각의 VPC는 완전히 독립된 네트워크처럼 작동하게됩니다.
서브넷 -> VPC를 쪼갠거 -> 따라서 서브넷 마스크가 더 높게되고 , 아이피 범위가 더 작은값을 가짐 !!!!
172.31.0.0/ 20 -> 20개가 네트워크, 12개가 호스트 부분. 이 경우, "172.31.0.0" 주소 범위에서 총 2^12 (4096)개의 호스트를 가질 수 있는 서브넷이 생성됩니다. 즉 더 많은 안방이 있다.
네트워크 요청 발생
1. 데이터는 라우터로 향함 ( 라우터 : 목적지 )
2. 라우팅 테이블 (목적지 이정표)을 조회
3. 이 서브넷 A의 라우팅 테이블은 172.31.0.0/16 즉 VPC 안의 네트워크 범위를 갖는 네트워크 요청은 로컬에서 찾음.
BUT 그 이외 외부로 통하는 트래픽은 처리 못함.
이때 인터넷 게이트웨이를 사용함.
인터넷게이트웨이는 VPC와 인터넷을 연결해주는 하나의 관문임.
요약 )
VPC 안에 서브넷 있고,
그들끼리는 로컬에서 찾되, 그 외 요청은 게이트웨이임.
그리고 보안그룹은 들어오는 트래픽 ( 인바운드 ) 와 나가는 트래픽 ( 아웃바운드) 에 맞춰 설정하면 됨.
네트워크 ACL + 보안그룹이 방화벽같은 역할을 함.
네트워크 ACL 이랑 보안그룹 차이점 :
stateless 하고 stateful 함.
-> 참고 https://inpa.tistory.com/entry/WEB-%F0%9F%93%9A-Stateful-Stateless-%EC%A0%95%EB%A6%AC