AWS VPC(기초 개념)
테넌트 (Tenent)
클라우드 서비스 이용자가 갖게 되는
혹 다른 이용자와, 물리적으로는 하나의 서버를 공유하게 되더라도
AWS에서는 하나의 관리자 계정(AWS 콘솔 루트 사용자)에 의해 관리되는 환경을 테넌트라 할 수 있다.
Region
국가 참고: AWS Region Table
AZ (Availability Zone)
동일 리전안에서 리소스가 운용되는 데이터 센터를 Availability Zone(줄여서 AZ)으로 나눠서 관리한다.
여러개의 AZ에 동일 리소스/서비스를 분산/배포해서, 특정 데이터 센터(zone)에서 발생하는 장애에 대비할 수 있다.
CIDR (Classless Inter-Domain Routing)
VPC resource는 CIDR로 IP대역을 정의한다.
일반적으로 VPC는 private IP 대역인 다음 대역 내에서 CIDR을 정의한다.
[ 그림1 – 공유기를 사용하는 네트워크 ]
[ 그림2 – 공유기에 대응하는 AWS VPC 네트워크 ]
클라우드 서비스 이용자가 갖게 되는
자신만의 격리된 환경
을 테넌트라고 한다.혹 다른 이용자와, 물리적으로는 하나의 서버를 공유하게 되더라도
논리적으로 분리된 멀티 테넌트 환경
에 의해서 클라우드 리소스를 보호 받을 수 있다.AWS에서는 하나의 관리자 계정(AWS 콘솔 루트 사용자)에 의해 관리되는 환경을 테넌트라 할 수 있다.
Region
국가 참고: AWS Region Table
AZ (Availability Zone)
동일 리전안에서 리소스가 운용되는 데이터 센터를 Availability Zone(줄여서 AZ)으로 나눠서 관리한다.
여러개의 AZ에 동일 리소스/서비스를 분산/배포해서, 특정 데이터 센터(zone)에서 발생하는 장애에 대비할 수 있다.
CIDR (Classless Inter-Domain Routing)
VPC resource는 CIDR로 IP대역을 정의한다.
일반적으로 VPC는 private IP 대역인 다음 대역 내에서 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)
여기서
예를들면 10.1.1.0/24 의 경우
2진수로
여기서 24는 앞에서 24비트인
/
뒤에 붙는 숫자 8, 12, 16은 IP의 앞에서부터 각각 8비트, 12비트, 16비트가 네트워크 주소로 사용 됨을 의미한다. 32비트로 이뤄진 ipv4 주소에서 네트워크 주소를 제외한 24, 20, 16비트가 호스트를 나타내는 주소로 사용된다.예를들면 10.1.1.0/24 의 경우
2진수로
00001010.00000001.00000001.00000000/24
로 나타낼 수 있고여기서 24는 앞에서 24비트인
00001010.00000001.00000001
를 고정하고 마지막 8비트를 변경가능한 IP 대역 (10.1.1.0 ~ 10.1.1.255)으로 사용하게된다.VPC (Virtual Private Cloud)
- Amazon Virtual Private Cloud 사용 설명서에 따르면, VPC는
사용자의 AWS 계정 전용 가상 네트워크
를 의미한다. - VPC는 AWS 클라우드에서 다른 가상 네트워크와 논리적으로 분리되어 있고, Amazon EC2 인스턴스와 같은 AWS 리소스를 VPC에서 실행할 수 있다.
- VPC는 반드시 하나의 Region에 종속되어 운영되며, 다수의 AZ를 이용하여 설계할 수 있다.
- VPC에 단일 CIDR(Classless Inter-Domain Routing) 블록을 지정할 수 있다. 허용된 블록 크기는 /16 넷마스크 ~ /28 넷마스크이고, 따라서 VPC는 16 ~ 65,536개의 IP 주소를 포함할 수 있다.
물리 네트워크와 비교해보면…
VPC 메뉴의 각 항목을 설명하기 전에 물리 네트워크 예제를 간단히 이해하고 넘어가면, VPC의 각 항목이 각각 물리 네트워크의 어떤 부분에 매칭이 되는지 그려보면서 이해할 수 있어 도움이 된다.
아래는 Internet ISP에 연결된 공인 IP(210.1.22.33)를 가정용 공유기(Router)와 스위치를 이용해 사설(가상) 네트워크(192.168.0.0/24)로 공유해서 인터넷을 사용하는 간단한 홈랜 네트워크 구조이다.

그림1 에서 파란색 점선은 private ip(virtual ip)로 통신하는 부분, 붉은색 점선은 public ip(real ip)로 통신하는 부분을 나타낸다.
가정에서 흔히 사용하는 공유기는 여러가지 기능을 제공하는데 이 중 VPC의 이해를 도와줄 공유기의 주요 기능을 살펴보면 다음과 같다.
- 라우터 (Router)
라우터는 서로 다른 네트워크간의 통신을 중계한다.
여기서다른 네트워크란 subnet mask가 다른 네트워크
로 이해하면 쉽다. - 스위치 (Switch), DHCP
전송 시에 사용하는 OSI 7 Layer에 따라 L2, L3, L4, L7으로 구분한다.
공유기 내부에서 사용하는 스위치나, 저가에 판매되는 대부분의 스위치는 L2 스위치를 칭한다.
각 포트에 연결된 MAC address를 기억하고 있다가 스위치로 들어온 요청에서 destination MAC address를 읽어, 해당 MAC address로 연결된 port로 데이터를 전송하는 역할을 한다. - NAT (Network Address Translation)
외부 네트워크와 통신할 때는 반드시 public IP를 통해야 한다.
그런데, 공유기 내부의 장비(PC)들은 private IP만 할당받았기 때문에, private IP만으로는 외부 네트워크와의 통신이 불가능하다.
이때 공유기의 NAT기능을 통해서 외부로 나가는 요청은 public IP로 변환(IP Masquerading)되어 전송되고, 요청에 대한 응답이 오면 요청했던 내부 IP로 전달해주는 역할을 한다. - DHCP (Dynamic Host Configuration Protocol)
공유기에 연결된 새로운 장비에 동적으로 IP 주소를 할당한다. - 방화벽 (Firewall)
내부로 들어오는/외부로 나가는 IP/PORT를 특정 규칙으로 통제할(열거나 닫을) 수 있다.
그림1의
공유기를 사용하는 네트워크
를 AWS VPC에 매칭해서 그려보면 다음과 같다.
앞에서 설명했던 공유기의 주요기능을 다음과 같은 AWS resource가 대신한다고 볼 수 있다.
- 라우터 (Router)
Internet Gateway + Route Table이 라우터를 대신한다.
Internet Gateway는 VPC마다 최대 하나씩 할당하며, VPC의 Internet연결을 위해 사용한다.
Route Table은 (서브넷의) 네트워크 트래픽을 전달할 위치를 결정하는데 사용한다. - 스위치 (Switch), DHCP(Dynamic Host Configuration Protocol)
AWS는 스위치를 별도로 구분하지 않고, Subnet이 (가상)스위치의 기능을 포함한다.
가상 스위치는 가상 라우터와 가상 머신 인스턴스의 가상 NIC(Network Interface Card)이 연결되는 접점이된다.하나의 가상 스위치에 하나의 서브넷이 할당
되는데, 여기서 서브넷은 가상 머신 인스턴스가 사용할 수 있는 사설 IP주소의 범위를 의미한다.
서브넷에 연결된 인스턴스는 기동 시 DHCP를 통해 IP 주소를 할당받게 된다. - NAT (Network Address Translation)
NAT instance나, NAT Gateway가 NAT를 대신한다. - 방화벽 (Firewall)
NACL(Network ACL)과 Security Group이 방화벽을 대신한다.
댓글
댓글 쓰기