VPC, 네트워크
사설 IP (Private IP): 내부 네트워크상에서 사용되는 주소로 인터넷 상에서는 사용할 수 없는 IP 입니다. 회사 내부 네트워크나 학교 공용 컴퓨터 등에서 사용되며, 사설 IP는 하나의 네트워크 안에서 유일합니다. 사설 IP는 같은 사설망 안에서 IP가 중복되면 안되지만 다른 사설망끼리는 IP가 중복돼도 무방합니다.
RFC1918 | IP 주소 영역 | 사용 가능한 주소 개수 |
---|---|---|
24bit block | 10.0.0.0/8 | 16,777,216 |
20bit block | 172.16.0.0/12 | 1,047,576 |
16bit block | 192.168.0.0/16 | 65,536 |
공인 IP (Public IP): 공인 IP는 전세계적으로 유일한 IP입니다. 인터넷을 통한 통신을 하기 위해서는 공인 IP가 반드시 있어야 합니다. 공인 IP의 경우 각 나라들마다 관리하는 기관이 있는데, 우리나라의 경우 한국인터넷진흥원에서 관리하고 있습니다.
내부적으로는 사설망에서 사설 IP로 통신하고 있지만 인터넷과 통신할 때는 공인 IP가 할당된 라우터나 공유기를 이용하여 인터넷과 통신할 수 있는 것입니다.
VPC (Virtual Private Cloud)
논리적으로 격리된 가상의 사설 네트워크에서 NHN Cloud의 리소스를 운영할 수 있는 기능을 제공합니다. 각각의 VPC는 완전히 독립된 서브넷, 라우팅 테이블과 게이트웨이를 구성할 수 있으며 각각을 제어할 수 있습니다.
VPC는 사설 네트워크이므로 VPC에 들어가는 인스턴스와 로드 밸런서와 같은 리소스들은 고유의 사설 IP와 인터페이스를 갖게 됩니다. VPC 또한 사설 네트워크를 구성하는 것이기 때문에 RFC 1918 규약에 의거하여 사설 대역 범위에서 VPC를 생성할 수 있습니다.
VPC 구성 요소
용어 | 표기 | 설명 |
---|---|---|
Subnet | 서브넷 | Subnetwork를 의미하며 IP 네트워크 중 더 작은 단위로 세분화된 IP 주소 영역입니다. |
Internet Gateway | 인터넷 게이트웨이 | 통상적으로 게이트웨이로 알려져 있으며 Subnet에 의해 구성된 네트워크가 외부와 연결되는 통로를 의미합니다. |
NAT Gateway | NAT 게이트웨이 | 인터넷 게이트웨이와 유사하게 외부와 연결되는 통로입니다. 소스 IP가 고정된 IP로 변환되어 통신됩니다. |
Routing Table | 라우팅 테이블 | CIDR notation에 의해 정의되는 전달 경로를 기술하는 테이블로 목적지 주소에 의해 전달되는 장비를 지정하거나 우회시킬 수 있습니다. |
Private Network | 프라이빗 네트워크 | 인터넷 주소 구조에서 사설 네트워크를 정의하는 IP 영역으로 표기된 네트워크를 의미하며 퍼블릭 망에서 이들 트래픽은 전달되지 않습니다. |
Peering | 피어링, 리전간 피어링 | 서로 다른 두 VPC를 연결하는 것을 피어링이라고 하며 이는 내부적으로 숨겨진 방식을 이용하여 두 VPC를 연결합니다. 리전 간 피어링은 서로 다른 리전에 생성된 두 개의 VPC를 연결하는 기능입니다. |
Interface | 인터페이스 | 인스턴스를 네트워크에 연결하기 위한 장치를 네트워크 인터페이스라고 합니다. |
Colocation Gateway | 코로케이션 게이트웨이 | NHN Cloud에서 하이브리드로 제공하는 고객의 네트워크를 연결하기 위한 기능이며 한국(평촌) 리전에만 제공됩니다. |
Service Gateway | 서비스 게이트웨이 | 서비스 게이트웨이는 플로팅 IP를 쓰지 않고 트래픽이 인터넷을 경유하지 않고도 VPC 외부의 서비스를 이용할 수 있게 합니다. |
Subnet
- Subnet은 VPC의 하위 단위로 VPC 범위 내에서 용도에 맞게 네트워크 공간을 세분화하여 사용하도록 하는 것입니다.
- 서브넷의 경우에는 VPC 주소 범위에 포함되어야 하며 주소 길이는 같거나 작아야 합니다.
- 서브넷이 생성되면 VPC에 포함된 기본 라우팅 테이블에 자동으로 연결됩니다.
- 용도에 맞게 나눈 서브넷끼리는 별도의 라우팅 설정없이 통신할 수 있습니다.
- VPC 범위 내에 있는 트래픽들은 로컬 게이트웨이로 통신하니 같은 VPC 내의 서브넷끼리도 별도 라우팅 설정없이 내부 통신이 가능합니다.
Routing Table
- CIDR notation에 의해 정의되는 전달 경로를 기술하는 테이블로 목적지 주소에 의해 전달되는 장비를 지정하거나 우회시킬 수 있습니다.
일반적으로 네트워크 요청이 발생하면 데이터는 우선 라우터로 향하게 됩니다. 라우터는 목적지이고 라우팅 테이블은 각 목적지에 대한 이정표입니다. 데이터는 라우터로 향하게 되며 네트워크 요청은 각각의 요청에 정의된 라우팅 테이블에 따라 작동됩니다.
Internet Gateway
- Private Network로 만들어진 VPC는 외부 연결이 불가능한데, 인터넷 게이트웨이를 이용하여 인터넷을 액세스할 수 있습니다.
NAT Gateway
- 인터넷 게이트웨이와 유사하게 외부와 연결되는 통로입니다. 소스 IP가 고정된 IP로 변환되어 통신됩니다.
인터넷 게이트웨이 경로가 설정되어 있지 않은 프라이빗 서브넷 내의 DB 서버를 외부에서 요청되는 인바운드는 필요 없더라도 인스턴스의 펌웨어나 주기적인 업데이트가 필요하여 아웃바운드 트래픽만 허용되어야 하는 경우가 있는데 이런 경우 NAT Gateway를 사용하면 됩니다. 보안 측면에서도 활용할 수 있는 서비스입니다.
VPC peering
- 각 피어링은 전이되지 않습니다.
- 피어링은 서로 다른 두 개의 VPC를 연결하는 기능입니다.
- 보통의 경우 VPC는 네트워크 영역이 다르기 때문에 서로 통신이 불가능하며, 플로팅 IP를 이용하여 연결할 수 있으나 이는 네트워크 사용량에 따라 추가 과금됩니다. 따라서 두 개의 VPC를 연결하는 기능을 제공하는데 이를 피어링이라고 합니다.
VPC Service Gateway
- 서비스 게이트웨이는 플로팅 IP를 쓰지 않고 트래픽이 인터넷을 경유하지 않고도 VPC 외부의 서비스를 이용할 수 있게 합니다.
- 서비스 게이트웨이 생성 시 선택된 서비스와 자동으로 할당된 IP는 1:1 연결 관계를 유지하며, VPC에서는 서비스 게이트웨이 IP를 이용하여 내부 네트워크를 경유해 대상 서비스를 안전하게 이용할 수 있습니다.