VPC(Virtual Private Cloud)란 AWS 계정 전용 가상네트워크로 AWS클라우드에서 다른 가상 네트워크와 논리적으로 분리되어 있다



위의 그림은 흔하게 볼 수 있는 AWS 를 이용한 웹서비스 아키텍처의 모습으로, 여러대의 EC2 를 각각의 Private Network 로 묶고, 각 VPC 를 Router 를 통해서 인터넷에 연결시키는 모습이다.

위와 같이 VPC의 구성 시 웹서비스 아키텍처에 필요한만큼 서비스를 구성할 수 있으며, IP 주소 범위, 서브넷, 라우팅 테이블, 네트워크 게이트웨이 및 보안 설정과 같은 서비스를 제공한다.

VPC 내부의 각 Instance 들은 Private IP Public IP를 갖으며 이는 main routing table에 의해 게이트웨이를 거쳐 인터넷과 연결하며 이 부분을 EC2 네트워크 엣지라 한다.


 기본 VPC 구축 시, 인터넷 게이트웨이가 포함되며 각각 기본 Subnet Public subnet으로 구성이 된다Internet에 붙어야 한다면 Public, 연결되지 않는다면 Private subnet을 사용해도 무방하다

 이 때, 기본이 아닌 VPC 구축 시 Private IP만 존재하고 Public IP가 없기 때문에 서로는 통신할 수 있으나 Internet에 연결할 수 없다. 이 때 게이트웨이를 추가하고 EIP(Elastic IP)를 연결하여 인터넷 사용이 가능하다.


따라서 위의 그림과 같은 아키텍처를 만들기 위해서는 각 VPC 를 Private으로 구성하고 앞에 NAT 역할을 위해 Public 연결을 지원하는 EIP를 가진 게이트웨이를 두거나 VPC 자체를 Public 으로 구성하는 설계 2가지가 가능하다.


VPC의 Subnet에서는 방화벽과 ACL(네트워크 접근 제어 목록) 을 통한 보안 계층을 지원한다.


VPC에서 Instance 시작시 다음과 같은 장점이 있다.


(1)  인스턴스 시작 및 중지에 상관없이 유지되는 고정 IP


(2)  다수의 IP 할당 가능


(3)  네트워크 인터페이스 및 보안 그룹 설정 가능


(4)  Instance Inbound traffic 제어 (Ingress Filtering) Outbound traffic 제어(Egress Filtering) 가능


(5)  ACL을 통한 접근 제어 가능


실무에서 클라우드를 사용하게 된다면 VPC를 구성하지 않는 경우는 거의 없다고 봐도 무방하다. 간단한 개념이고 설정도 쉽지만 잘 숙지해놓자.

+ Recent posts