Amazon Virtual Private Cloud(VPC)란, 사용자가 정의한 가상 네트워크 입니다. 이를 통해 AWS 리소스를 사용 할 수 있습니다.
IP 대역을 설정해서, 해당 IP 대역을 사용 하는 가상 네트워크를 만든 것이 VPC 입니다.
하나의 VPC는 논리적으로 분리
되어 있기 때문에,서로 다른 VPC는 VPC 피어링
과 같은 서비스를 이용 하지 않으면 VPC간 통신은 어려울 수 있습니다.
VPC내 에서 네트워크를 분리 시킨 것이 Subnet 입니다. 즉 실제적으로 VPC 로 잡은
즉, VPC에서 할당 받은 IP 대역들을 나눠 Subnet에 IP를 할당합니다. 이 Subnet에 있는 IP 대역을 이용하여 생성된 네트워크를 사용하는 AWS 리소스 (EC2, RDS 등) 에 IP를 제공 합니다.
그림에 있는 것들 중 몇가지에 대해서 설명 하도록 하겠습니다.
라우팅 테이블(route table)은 서브넷과 게이트웨이를 통해서 네트워크 트래픽을 어디로 통하게 할지 정하는 것을 칭합니다.
Private Subnet은 내부를 향하도록 하는 라우팅 테이블
과 연결 되고 Public Sunbnet은 IGW를 통해 외부 인터넷과 트래픽 통신이 되도록 하는 라우팅 테이블
과 연결이 됩니다.
먼저, VPC와 Subnet등 그림 과 같이 리소스 들 을 생성할 예정 입니다.
AWS 로그인 후, VPC를 검색 -> VPC 를 클릭 합니다.
VPC 대시보드에 가면 VPC 생성 버튼이 있습니다. 이 버튼을 클릭 합니다.
VPC 생성 화면에서 생성할 리소스 > VPC 등
을 클릭해, VPC 와 서브넷을 동시에 생성 해 줍니다.
앞서 작성한 것 처럼 Subnet에 대한 CIDR 블록의 값을 설정 해줍니다.
나머지 값들은 기본값 그대로 나두도록 하고 VPC를 생성합니다.
NAT 게이트웨이에 대해서는 Private Subnet에 EC2를 생성하며 생성 하도록 하겠습니다.
생성하기를 클릭하면 자동으로 VPC, Subnet 뿐 아니라 Internet Gateway 와 라우팅 테이블을 생성 해줍니다.
생성된 라우팅 테이블을 보면 4개가 생성 되었고, 기본적으로 10.0.0.0/16
인 경우 local(같은 내부 VPC)
과 통신 되도록 정책이 설정 되어 있습니다.
라우팅 테이블을 이용해서, 출발지 대상에 따라 목적지를 NAT, IGW, VGW, 피어링 연결등 트래픽을 제어할 수 있습니다.
이와같이 모든 자원등이 생성된 것을 확인 되었으면 이제 Public 서브넷과 Private 서브넷에 EC2를 생성 해서 각 서브넷과 통신, 인터넷으로의 통신을 해보도록 합시다 :)