VPC(Virtual Private Cloud)란 ? 클라우드 주요 3사 VPC 소개
AWS의 VPC(Virtual Private Cloud)는 사용자에게 논리적으로 격리된 네트워크 환경을 제공합니다. 이 환경을 통해 AWS 클라우드 리소스 간의 네트워크를 설정하고 관리할 수 있습니다. VPC의 개념은 클라우드 네트워크의 기본 요소 중 하나로, Microsoft Azure와 Google Cloud Platform(GCP)에서도 유사하게 제공됩니다. 구체적인 설명을 AWS VPC를 중심으로 하고, Azure 및 GCP의 유사한 기능과 차이점을 소개하겠습니다.
1. AWS의 VPC(Virtual Private Cloud)
AWS VPC는 가상 네트워크를 생성하여 사용자가 직접 네트워크 설정을 관리할 수 있게 합니다. 주요 기능은 다음과 같습니다:
1) 서브넷 구성:
- VPC 내부에서 여러 서브넷을 생성할 수 있으며, 각 서브넷은 VPC 내 IP 주소 범위의 특정 부분을 차지합니다.
- 서브넷은 Public과 Private으로 나뉩니다. Public 서브넷은 인터넷 게이트웨이와 연결되어 외부에서 접근할 수 있는 반면, Private 서브넷은 인터넷에 직접 접근할 수 없습니다.
2) IP 주소 및 CIDR 설정:
- VPC 생성 시 CIDR(Classless Inter-Domain Routing) 범위를 설정해야 하며, 이를 기반으로 IP 주소가 할당됩니다.
- 개인 IP와 공인 IP를 사용하여 네트워크 트래픽을 제어할 수 있습니다.
3) 라우팅 테이블:
- 네트워크 트래픽이 어디로 이동해야 하는지 정의합니다.
- 각 서브넷에는 라우팅 테이블이 연결되며, 라우팅 규칙을 통해 서브넷 간 또는 외부 네트워크와의 통신을 제어할 수 있습니다.
4) 인터넷 게이트웨이 및 NAT 게이트웨이:
- 인터넷 게이트웨이(IGW)를 통해 Public 서브넷에서 인터넷에 접근할 수 있게 하며, NAT 게이트웨이를 통해 Private 서브넷에서 인터넷 연결을 설정할 수 있습니다.
5) 보안 그룹과 네트워크 ACL:
- 보안 그룹: 인스턴스 레벨의 가상 방화벽으로, 인바운드 및 아웃바운드 트래픽을 제어합니다.
- 네트워크 ACL: 서브넷 레벨의 트래픽 제어 목록으로, 서브넷 내부의 모든 리소스에 대한 트래픽을 제어합니다.
6) 피어링:
- 두 VPC 간에 네트워크 연결을 설정하여 서로 다른 VPC의 리소스가 통신할 수 있도록 하는 기능입니다.
2. Microsoft Azure의 VNet(Virtual Network)
Azure는 VPC와 유사한 개념으로 VNet을 제공합니다. Azure VNet은 AWS VPC와 많은 유사점을 가지며, 다음과 같은 주요 기능이 있습니다:
1) 서브넷: VNet 내부에 서브넷을 생성할 수 있습니다. Public, Private 서브넷의 구분 없이, 네트워크 보안을 위해 서브넷에 NSG(Network Security Group)를 설정해 트래픽을 제어합니다.
2) IP 주소 및 주소 공간: VNet은 사용자 정의 주소 공간(CIDR)을 통해 설정됩니다. IP 주소는 공용 및 사설로 구분되어 네트워크에 할당됩니다.
3) 라우팅 및 NSG(Network Security Group):
- 라우팅 테이블과 네트워크 보안 그룹을 통해 서브넷 또는 특정 리소스 간의 트래픽 흐름을 제어할 수 있습니다.
- NSG는 AWS의 보안 그룹과 유사하며 인스턴스 및 서브넷 레벨에서 트래픽 제어 규칙을 설정합니다.
4) VPN 게이트웨이 및 피어링:
- VPN 게이트웨이를 통해 VNet 간 또는 온프레미스 네트워크와의 연결을 설정할 수 있습니다.
- VNet 피어링은 Azure의 VNet 간에 네트워크 연결을 설정하여, 다른 VNet에 있는 리소스와 통신할 수 있게 합니다.
5) 인터넷 연결 및 프라이빗 엔드포인트:
- 퍼블릭 서브넷의 리소스는 공용 IP를 통해 인터넷에 연결할 수 있습니다.
- Private Link 기능을 통해 Private Endpoint를 설정하여 퍼블릭 인터넷을 거치지 않고 VNet 내에서 Azure PaaS 서비스에 접근할 수 있습니다.
3. Google Cloud Platform의 VPC
GCP에서는 AWS와 동일하게 VPC라는 이름을 사용합니다. 주요 기능은 다음과 같습니다:
1) 서브넷:
- GCP의 VPC는 전역(Global) VPC로, 단일 VPC 네트워크 내에서 여러 리전(지역)과 여러 서브넷을 구성할 수 있습니다. AWS와 Azure의 VPC와 달리, GCP VPC는 글로벌 네트워크를 제공합니다.
- 각 서브넷은 특정 리전에 속하지만, 같은 VPC 내의 다른 서브넷과 통신할 수 있습니다.
2) IP 주소 및 CIDR:
- GCP VPC는 기본적으로 RFC 1918 주소를 사용하며, CIDR 범위를 설정해 IP 주소를 할당합니다.
- 프라이빗 IP와 퍼블릭 IP를 통해 트래픽을 제어합니다.
3) 방화벽 규칙:
- GCP VPC에는 인바운드 및 아웃바운드 트래픽을 제어하는 방화벽 규칙이 있습니다.
- AWS 보안 그룹과 비슷하지만, GCP 방화벽은 인스턴스가 아닌 네트워크 레벨에서 설정됩니다.
4) 라우팅 및 클라우드 라우터:
- GCP VPC에는 라우팅 테이블이 있으며, 이를 통해 네트워크 트래픽을 관리합니다.
- Cloud Router를 사용해 VPC 간의 라우팅을 동적으로 설정할 수 있습니다.
5) 인터넷 게이트웨이 및 NAT 게이트웨이:
- 인터넷 연결을 위해 인터넷 게이트웨이가 자동으로 설정되며, Private 서브넷의 인스턴스가 인터넷에 접근하도록 NAT 게이트웨이를 설정할 수 있습니다.
6) VPC 피어링 및 공유 VPC:
- VPC 피어링을 통해 두 개의 VPC 네트워크 간에 통신이 가능합니다.
- 공유 VPC 기능을 통해 여러 프로젝트가 동일한 VPC 네트워크를 공유할 수 있습니다.
4. 결론
AWS VPC, Azure VNet, GCP VPC 모두 유사한 가상 네트워크 기능을 제공하며, 특정 클라우드에 맞는 방식과 추가 기능이 있습니다.