R&D/클라우드

OpenStack : network & subnet 을 활용한 VPC 만들기

sunshout 2025. 1. 12. 01:10

1. Neutron의 네트워크란?

Neutron에서 네트워크는 가상 2계층(Layer 2) 세그먼트로, 인스턴스(가상 머신) 간의 연결을 제공합니다. 이는 전통적인 네트워크의 VLAN과 유사하지만, OpenStack 가상 환경에서 작동합니다.

네트워크의 주요 특징:

  • 분리(Segmentation): Neutron 네트워크는 VLAN, VXLAN, 또는 GRE 터널을 사용하여 트래픽을 분리할 수 있습니다.
  • 다중 테넌시(Multi-Tenancy): 각 OpenStack 프로젝트(테넌트)는 독립적인 네트워크를 생성 및 관리할 수 있습니다.
  • 유연성: 네트워크는 내부 네트워크(테넌트 전용)일 수도 있고, 외부 네트워크(인터넷 연결 가능)일 수도 있습니다.

네트워크 생성:

네트워크는 OpenStack 대시보드(Horizon) 또는 CLI를 통해 생성할 수 있습니다.

CLI 사용 예:

openstack network create <네트워크_이름>

예:

openstack network create my-private-network

결과: 가상 환경 내에 2계층 도메인이 생성됩니다.


2. Neutron의 서브넷이란?

**서브넷(subnet)**은 네트워크에 IP 주소 범위 및 관련 네트워크 구성(예: DNS, 게이트웨이 등)을 정의하는 역할을 합니다. 서브넷은 3계층(Layer 3)에서 작동하며, Neutron 네트워크에 할당되어 인스턴스에 IP 주소를 제공합니다.

서브넷의 주요 특징:

  • IP 주소 할당: 네트워크에 사용할 CIDR(예: 192.168.1.0/24)을 정의합니다.
  • DHCP: DHCP를 통해 인스턴스에 자동으로 IP 구성을 제공합니다.
  • 게이트웨이: 서브넷 외부로 트래픽을 라우팅하기 위한 기본 게이트웨이를 지정합니다.
  • DNS: 도메인 이름 해석을 위한 DNS 서버를 구성합니다.

서브넷 생성:

네트워크를 생성한 후 서브넷을 연결할 수 있습니다.

CLI 사용 예:

openstack subnet create \
  --network <네트워크_이름> \
  --subnet-range <CIDR> \
  [--gateway <게이트웨이_IP>] \
  [--dns-nameserver <DNS_IP>] \
  <서브넷_이름>

예:

openstack subnet create \
  --network my-private-network \
  --subnet-range 192.168.1.0/24 \
  --gateway 192.168.1.1 \
  --dns-nameserver 8.8.8.8 \
  my-private-subnet

결과: 지정된 IP 범위 및 구성을 가진 서브넷이 생성되며, 관련 네트워크에 연결된 인스턴스가 이 서브넷을 통해 IP 주소를 할당받을 수 있습니다.