목록으로

클라우드

OpenStack Horizon 완전 가이드: OpenStack 웹 대시보드의 구조와 활용

BeanCon
OpenStack Horizon 클라우드 대시보드 일러스트

OpenStack Horizon의 개념, 아키텍처, Keystone 연동, 사용자 역할, 관리 기능, 커스터마이징, 배포, 보안, 장단점과 활용 사례를 정리한 완전 가이드입니다.

관리자와 운영자, 그리고 일반 사용자는 클라우드 리소스를 매번 CLI로만 다루기보다 브라우저에서 한눈에 보이는 대시보드를 필요로 합니다. OpenStack Horizon은 OpenStack의 공식 웹 대시보드로서 컴퓨트, 네트워킹, 스토리지, 아이덴티티, 이미지, 오케스트레이션과 같은 주요 기능을 웹 인터페이스로 제공합니다.

OpenStack Horizon이란?

OpenStack Horizon은 OpenStack 서비스에 대한 그래픽 접근을 제공하는 공식 웹 대시보드입니다. Nova, Neutron, Cinder, Swift, Keystone, Glance, Heat, Octavia, Designate, Magnum 같은 서비스와 연동되어 사용자가 브라우저에서 자원을 확인하고 조작할 수 있게 해 줍니다.

왜 Horizon이 필요한가?

openstack server create
openstack volume create
openstack network create

CLI와 API는 자동화에 강력하지만, 신규 사용자, 헬프데스크 팀, 비기술 사용자, 경영진이나 현업 담당자처럼 매일 빠르게 상태를 확인하고 작업해야 하는 사람들에게는 브라우저 기반 인터페이스가 훨씬 효율적입니다. Horizon은 이러한 요구를 중앙 포털 하나로 묶어 줍니다.

Horizon 아키텍처

Web Browser
HTTPS
Horizon
Django Application
Keystone
Authentication
Nova
Neutron
Cinder
Glance
Swift
Heat

핵심 기술

기술 역할
Python애플리케이션 로직
Django웹 프레임워크
HTMLUI 구조
CSS스타일링
JavaScript인터랙션
OpenStack APIs백엔드 통신

주요 구성 요소와 Keystone 통합

Horizon 대시보드는 사용자 인터페이스를 제공하고, 서비스 계층은 인증, 리소스 조회, 세션 처리, API 요청 전달을 담당합니다. Keystone은 인증, 인가, 토큰 관리를 맡으며 사용자는 Horizon 로그인 후 토큰을 발급받아 OpenStack 서비스와 상호작용합니다.

Horizon 사용자 역할

일반 사용자
인스턴스, 볼륨, 네트워크, Floating IP, 보안 그룹 관리
프로젝트 관리자
프로젝트 멤버, 할당량, 리소스, 테넌트 설정 관리
클라우드 관리자
시스템 리소스, 하이퍼바이저, 서비스, 호스트, 사용자, 전역 설정 관리

Horizon 대시보드 구조

Project
Compute
Network
Storage
Images
Security
Admin
Users
Projects
Hypervisors
Services
Resource Usage

컴퓨트·네트워크 관리

Nova 연동으로 사용자는 인스턴스 생성, 중지, 재부팅, 크기 조정, 마이그레이션, 콘솔 로그 확인을 할 수 있습니다. Neutron 연동으로는 네트워크, 서브넷, 라우터, Floating IP, 보안 그룹을 관리할 수 있으며 네트워크 생성, 서브넷 생성, 라우터 생성, 네트워크 연결 같은 작업을 순서대로 수행합니다.

스토리지·이미지 관리

Cinder 연동으로 볼륨 생성, 연결, 스냅샷 생성과 복원, 용량 확장을 할 수 있고, Swift 연동으로는 컨테이너 생성, 파일 업로드, 객체 다운로드, 메타데이터 관리가 가능합니다. Glance 연동을 통해 이미지를 업로드하거나 다운로드하고, 사용자 정의 템플릿을 만들며, 가시성을 조정할 수 있습니다. 지원 형식은 QCOW2, RAW, VMDK, VHD, ISO입니다.

보안·아이덴티티·모니터링

영역 주요 기능
보안 그룹SSH 22, HTTP 80, HTTPS 443 허용 규칙 설정
키 페어SSH 키 생성, 공개 키 가져오기, 접근 자격 관리
아이덴티티사용자 생성, 프로젝트 생성, 역할 할당, 권한 관리
모니터링CPU, RAM, 스토리지, 네트워크, 하이퍼바이저 상태 확인
vCPUs
256
Used: 144
RAM
1024 GB
Used: 612 GB
Storage
100 TB
Used: 48 TB

Horizon 패널

패널 기능
ComputeVM 관리
NetworkNeutron 리소스
Storage볼륨과 객체 저장소
Identity사용자와 프로젝트
OrchestrationHeat 템플릿
Monitoring지표 조회

Horizon 커스터마이징과 플러그인

Horizon의 강점은 확장성과 커스터마이징입니다. 회사 로고, 브랜딩, 테마, 사용자에게 노출할 패널, 대시보드 배치, 접근 제어를 조정할 수 있고, Kubernetes 관리, 모니터링, 과금, 보고서, 백업 같은 기능을 플러그인 형태로 붙일 수 있습니다.

Horizon 플러그인 아키텍처

Horizon
Plugin
Custom Integration
New Dashboard Panel

Horizon 배포 아키텍처

Browser
Horizon Node 1
Horizon Node 2
Horizon Node 3
OpenStack Control Plane

세션 관리와 보안 모범 사례

  • 세션 저장소는 로컬 DB, Memcached, Redis를 사용할 수 있습니다.
  • 프로덕션에서는 HTTPS를 항상 적용하고 HTTP는 노출하지 않습니다.
  • 지원되는 경우 MFA를 적용해 계정 탈취 위험을 줄입니다.
  • 세션 타임아웃, Secure Cookie, CSRF 보호, 감사 로그를 활성화합니다.
  • 관리자 접근은 일반 사용자 화면과 분리하고 Keystone 역할 기반 접근 제어를 적용합니다.

일반적인 설정 파일

경로 내용
/etc/openstack-dashboard/Horizon 설정 루트
local_settings.pyKeystone 엔드포인트, 세션, SSL, 캐시, 대시보드 옵션

Horizon의 장점과 한계

Horizon은 쉬운 학습 곡선, 중앙 집중형 관리, 멀티 테넌트 지원, 역할 기반 접근 제어, 오픈소스라는 장점이 있습니다. 반면 대규모 자동화에는 적합하지 않고, 고급 기능은 CLI가 더 편할 수 있으며, API 기능이 먼저 나오고 GUI는 뒤따르는 경우가 있습니다. 또한 매우 큰 환경에서는 속도 저하와 추가 웹 인프라 요구가 발생할 수 있습니다.

Horizon vs OpenStack CLI

기능 Horizon CLI
GUI아니오
자동화제한적우수
학습 난이도쉬움보통
대량 작업제한적강함
스크립팅아니오
API 커버리지좋음완전

실제 사용 사례와 베스트 프랙티스

기업 프라이빗 클라우드에서는 부서별 VM 배포와 스토리지, 네트워크 구성을 분리하고, 관리형 클라우드에서는 브랜드 포털로 고객에게 리소스를 제공합니다. 교육용 랩에서는 학생이 CLI를 배우지 않아도 브라우저로 실습할 수 있고, 개발 환경에서는 빠르게 테스트 환경을 만들 수 있습니다. 운영에서는 Horizon 노드를 2대 이상 구성하고, Redis 또는 Memcached로 세션을 중앙화하며, 필요한 기능만 노출하고, Keystone 연동과 기업용 ID 연동(LDAP, Active Directory, SAML, OpenID Connect)을 함께 사용합니다.

결론

OpenStack Horizon은 OpenStack 클라우드를 운영하는 데 필요한 핵심 그래픽 인터페이스입니다. Django 기반의 확장 가능한 구조, Keystone 및 각종 OpenStack 서비스와의 긴밀한 통합, 역할 기반 권한 제어, 브랜드 커스터마이징과 엔터프라이즈 인증 연동을 통해 관리자와 일반 사용자 모두에게 실용적인 웹 포털을 제공합니다. 자동화와 복잡한 작업은 CLI와 API가 더 적합하지만, Horizon은 접근성과 가시성을 제공하는 필수 구성요소로 남아 있습니다.

댓글

0

댓글을 불러오는 중입니다.