'Route Table'에 해당하는 글 1건

  • 2015.02.06 VPC 

VPC

Server/AWS 2015. 2. 6. 23:49

VPC(Virtual Private Cloud) 란 가상의 네트워크 망을 생성하는 것으로써, EC2 의 네트워크 계층이다. 특정 서비스를 생성하기 전에 그 서비스를 위치시킬 공간(네트워크 망) 을 사용자 정의로 만드는 작업이다. VPC는 실제 데이터센터 처럼 매우 유사한 가상 네트워크 환경을 제공한다. private IP 네트워크를 효율적으로 구성하기 위해 사용되며, 서브넷의 추가/제거, 게이트웨이의 연결, 라우팅 테이블 변경, 네트워크 ACL 수정 등을 하며 VPC를 구성할 수 있다. 



VPC 구성 방법


IP 대역을 설정하여 VPC 를 생성하고, 생성된 VPC 범위에 Subnets 을 추가하고 Routing Tables 를 설정하면 네트워크 망 구성을 마칠 수 있다. 간단하게 VPC 마법사로 VPC는 물론 서브넷, 게이트웨이 및 라우팅 테이블을 한 번에 만들 수 있다. public 이나 private, VPN 이나 혼합 VPC 등을 구성할 수도 있으며, 상세 설정을 위한 커스텀 설정도 가능하다.


VPC IP 대역(IPv4 CIDR 블록) 으로 설정 가능한 범위는 다음과 같다.

  • 10.0.0.0 - 10.255.255.255 (10.0.0.0/8)
  • 172.16.0.0 - 172.31.255.255 (172.16.0.0/12)
  • 192.168.0.0 - 192.168.255.255 (192.168.0.0/16)

허용된 블록 크기는 최소 /28 netmask(IP 주소 16개) 에서 최대 /16 netmask(IP 주소 65,536개) 이다.


VPC 의 가용영역(a/b/c) 에 하나 이상의 Subnets 추가할 수 있으며, Subnet CIDR 블록에서는 첫 4개의 IP 주소와 마지막 IP 주소는 AWS 에서 예약된 IP 이므로 사용할 수 없다. 예로 Subnet CIDR 블록이 10.0.0.0/24 라면 10.0.0.0, 10.0.0.1, 10.0.0.2, 10.0.0.3, 10.0.0.255 IP 주소는 사용자가 임의적으로 사용할 수 없다. 또한 VPC 간에 혹은 Subnets 간에 IP 대역이 중복될 수 없다.


Subnets 에는 외부로 나가는 아웃바운드 트래픽에 대해 routing table 이 연결되어야 한다. 인터넷 게이트웨어(igw) 로 라우팅 되는 경우 public(공개) subnet, 그렇지 않으면 private(비공개) subnet 이라고 한다.


VPC 사용에 대한 추가 비용은 없다 (VPN, NAT Gateway 등은 유료). 각종 인스턴스를 생성하기 전에 관리 콘솔에서 Networking의 VPC를 선택하면 VPC 대시보드를 볼 수 있다.

 

 

 

 

좌측에는 이미 생성된 VPC 리소스들, 우측에는 인스턴스가 서비스될 지역(Region)과 상태가 나타난다.


아래는 AWS 에서 외부(Internet) 로 트래픽이 이동하는 과정이다.

 

AWS > Region > VPC > Subnet > Route Table > Internet Gateway > Internet

 

 

Region
AWS 의 데이터센터는 미주, 유럽, 아시아 등 세계 각각의 지역에 구축 되어 있다. 이 중에 인스턴스의 서비스 목적을 고려해서 최적의 지역(가까운?)을 선정한다. 인스턴스 생성 후에 다른 지역으로 이전하게 되면 추가적인 비용이 소요될 수 있으므로 신중히 결정한다. 또한 지역별로 서비스 가격도 차이가 있고, 제공하지 않는 서비스도 있으니 잘 살펴보아야 한다.

 

VPC
자동으로 구성된 VPC이며 사설 IP로 172.31.0.0/16 CIDR 블록을 가지므로 총 65,536개의 private IP 를 할당할 수 있다. Default Subnet은 항상 '/20'의 netmask 가 지정되므로 서브넷 하나당 4,096개의 IP 주소를 할당할 수 있다. Default Subnet은 기본적으로 인터넷 접속이 자유로운 public subnet으로 지정되어 있다. 별다른 구성없이 EC2 인스턴스 등을 생성하면 기본적으로 default VPC 내에 인스턴스가 배치된다.

 

Subnet
VPC에 할당된 사설IP를 여러 개의 네트워크 대역으로 분리하기 위해 사용된다. 이곳의 가용 영역(Availability Zone)에 인스턴스를 원하는 대로 분산 배치할 수 있다. 각 Default Subnet 별 가용 IP는 172.31.0.0/16 을 subnet mask /20 으로 쪼개어 4091개 이다. B class IP 에 /20 의 CIDR subnet 을 적용하면 4096개 이지만 AWS 내부 예약 IP 를 빼서 4091개가 된다.

 

Internet Gateway
VPC의 외부 인터넷 통신을 담당하며 하나의 VPC에는 하나의 인터넷 게이트웨이만 연결할 수 있다.

 

Route Table
모든 subnet 간에 내부 통신을 위해 존재하는 target 으로 'local' 이 설정되며 수정할 수 없다. Default route table 의 내부 통신은 사설 IP 대역(172.31.0.0/16) 의 local 로, 외부 통신은 공용 IP 대역(0.0.0.0/0) 의 인터넷 게이트웨이(igw) 로 이루어 진다.

 

 

DHCP Option
기본적으로 아마존이 제공하는 DHCP 서버 대신에 사용자 서버를 참조해서 인스턴스들이 가동되게 할 수 없다. 하지만 AWS 에서 DNS/NTP/NetBIOS 서버를 구축해 놓았다면 이 곳에서 변경이 가능하다. 다만 AWS 인스턴스들은 public IP 를 기본적으로 가질 수 없기 때문에, public IP를 갖는 서버는 지정할 수 없다.

 

Network ACL
Security Group 과 비슷하지만, 서브넷 자체, 즉 네트워크 단에 대한 방화벽 역할을 하며 서브넷 당 한 개만 설정이 가능하다. 허용/차단 규칙 적용. 기본적으로 Inbound / Outbound 연결이 모두 허용된 상태이다.

 

Security Group
인스턴스 단위로 방화벽이 적용, 한 인스턴스에 여러 개의 설정 가능. 허용 규칙만 적용이 가능하며, 수정된 규칙 적용시 기존 세션에는 영향이 없다.

 


WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,