[정의]
- 오픈스택(OpenStack)은 오픈소스 클라우드 플랫폼
- 가상 머신, 네트워크, 스토리지를 관리하는 다양한 서비스로 구성
- 각 서비스는 모듈화되어 독립적으로 동작하며, API를 통해 통합 관리가 가능
🔹 1. OpenStack 개요
OpenStack은 IaaS(Infrastructure as a Service) 솔루션. 퍼블릭/프라이빗 클라우드 구축에 활용됩니다.
AWS, Azure 같은 클라우드 인프라를 직접 구축하려는 기업에서 사용되며, VM 생성, 네트워크 관리, 스토리지 할당 등의 기능을 제공합니다.
✔ 주요 특징
- 오픈소스 기반 클라우드 플랫폼
- API 중심의 서비스 통합
- 다양한 가상화 기술(KVM, Xen, VMware) 지원
- 네트워크, 스토리지, 컴퓨팅 자원 자동화
🔹 2. OpenStack 아키텍처 및 주요 구성 요소
OpenStack은 여러 개의 핵심 서비스로 구성되며, 각 서비스가 협력하여 클라우드를 운영합니다.
✅ 📌 OpenStack 아키텍처 다이어그램
┌───────────────────────────────────┐
│ Horizon (Dashboard) │
└───────────────────────────────────┘
│
▼
┌───────────────────────────────────────────────┐
│ Keystone (Identity Service) │
└───────────────────────────────────────────────┘
│ │ │
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌──────────────────┐
│ Nova │ │ Neutron │ │ Cinder │
│ (Compute) │ │ (Networking) │ │ (Block Storage)│
└───────────────┘ └───────────────┘ └──────────────────┘
│ │ │
▼ ▼ ▼
┌───────────────┐ ┌─────────────────────┐ ┌────────────────────┐
│ Glance │ │ Swift │ │ Heat │
│ (Image) │ │ (Object Storage) │ │ (Orchestration) │
└───────────────┘ └─────────────────────┘ └────────────────────┘
✅ 📌 OpenStack 주요 구성 요소
서비스 | 설명 | 기능 |
Horizon | 대시보드 | OpenStack을 웹 UI로 관리하는 인터페이스 |
Keystone | 인증 서비스 | 사용자 인증, API 접근 제어, 서비스 간 인증 제공 |
Nova | 컴퓨팅 | 가상 머신(VM) 배포 및 관리 (KVM, Xen 등 지원) |
Neutron | 네트워크 | 가상 네트워크, 라우터, 방화벽, 로드 밸런서 관리 |
Cinder | 블록 스토리지 | VM에 연결 가능한 블록 스토리지 (EBS 유사) |
Glance | 이미지 서비스 | OS 이미지 저장 및 관리 (Ubuntu, CentOS 등) |
Swift | 오브젝트 스토리지 | 대용량 데이터 저장 (S3 유사) |
Heat | 오케스트레이션 | 인프라 자동 배포 (AWS CloudFormation 유사) |
개념 아키텍처
논리적인 아키텍처
🔹 3. OpenStack 구성 요소 상세 설명
1️⃣ Horizon (대시보드)
- 웹 UI를 제공하며, OpenStack의 모든 자원을 시각적으로 관리할 수 있음.
- CLI(Command Line Interface) 없이 GUI에서 서버, 네트워크, 스토리지 관리 가능.
2️⃣ Keystone (인증 서비스)
- OpenStack 내 모든 서비스에 대한 인증(Authentication) 및 권한 관리를 담당.
- 사용자 계정 및 프로젝트(Role-Based Access Control, RBAC) 관리 가능.
- API를 통해 토큰 기반 인증 제공.
3️⃣ Nova (컴퓨팅 관리)
- OpenStack의 가상 머신(VM) 생성 및 관리 서비스.
- KVM, Xen, VMware 등의 하이퍼바이저 지원.
- 오토스케일링, 멀티 테넌시 기능 포함.
4️⃣ Neutron (네트워크 서비스)
- 가상 네트워크 및 서브넷, 라우터, 방화벽, 로드밸런서 관리.
- SDN(Software Defined Networking) 기능 지원.
- Open vSwitch(OVS), Linux Bridge 기반 가상 네트워크 설정 가능.
5️⃣ Cinder (블록 스토리지)
- VM에서 사용할 수 있는 블록 스토리지(Volume) 제공.
- AWS EBS(Elastic Block Storage)와 유사.
- Ceph, NFS, iSCSI 등 다양한 스토리지 백엔드 지원.
6️⃣ Glance (이미지 서비스)
- OpenStack에서 OS 이미지를 저장 및 관리하는 서비스.
- VM을 생성할 때 Ubuntu, CentOS, Windows 등의 이미지 사용 가능.
- QCOW2, RAW, VMDK 등의 이미지 포맷 지원.
7️⃣ Swift (오브젝트 스토리지)
- AWS S3와 유사한 오브젝트 스토리지 서비스.
- 대량의 비정형 데이터(이미지, 로그, 백업 파일 등) 저장.
- 데이터 중복 저장(Replication) 및 내구성 보장.
8️⃣ Heat (오케스트레이션)
- 클라우드 인프라 자동 배포 및 관리 서비스.
- YAML 기반 Infrastructure as Code(IaC) 지원.
- AWS CloudFormation과 유사한 방식으로 OpenStack 리소스를 코드로 정의.
🔹 4. OpenStack 작동 과정 예시
📌 가상 머신(VM) 생성 시 프로세스
1️⃣ 사용자가 Horizon(웹 UI) 또는 CLI에서 가상 머신 생성 요청.
2️⃣ Keystone이 인증 후 Nova에 요청 전달.
3️⃣ Nova가 가상 머신을 배포하고, 필요한 OS 이미지를 Glance에서 다운로드.
4️⃣ Neutron이 가상 머신의 네트워크 설정을 구성.
5️⃣ Cinder가 블록 스토리지를 할당하여 VM에 연결.
6️⃣ Swift를 통해 추가 데이터 저장 가능.
🎯 마무리
✔ OpenStack은 클라우드 인프라를 관리하는 오픈소스 IaaS 플랫폼입니다.
✔ 각 구성 요소가 독립적으로 동작하며, API를 통해 서로 통신합니다.
✔ Nova, Neutron, Cinder, Keystone, Glance, Swift, Heat 등 다양한 서비스가 존재합니다.
✔ OpenStack을 사용하면 자체 클라우드 환경을 구축 및 운영할 수 있습니다.
'🔹Openstack' 카테고리의 다른 글
Keystone 생성 방법 (0) | 2025.02.03 |
---|---|
Rocky Linux 8.10에 OpenStack 설치하기 (0) | 2025.02.03 |