0. 개요
AWS의 EC2를 사용하다가 문득 아래와 같은 의문이 들었습니다.
“어떤 기술로 하드웨어를 가상화하여 관리할 수 있을까? 또, 어떻게 직접 구축해 볼 수 있을까?”
의문을 해결하기 위해 국내 클라우드 서비스를 제공하는 여러 기업의 홈페이지를 방문해 봤습니다.
그 중, 오케스트로라는 기업이 오픈스택(Openstack)을 사용하여 제 의문점을 해결하고 있었습니다.
1. 오픈스택이란?
오픈스택은 풀링된 가상 리소스를 사용하여 IaaS 프라이빗 및 퍼블릭 클라우드를 구축, 관리하는 오픈소스입니다.
💡 풀링된 가상 리소스란, 가상화된 자원을 중앙 집중식으로 관리 및 제공하는 것을 의미합니다.
오픈스택은 데이터센터에 설치되고, 가상화 서비스를 제공합니다.
즉, 오픈스택은 데이터센터 전체의 컴퓨팅, 스토리지, 네트워킹 리소스 등의 대규모 풀을 제어하는 클라우드 운영체제로서 API를 통해 관리 및 프로비저닝을 할 수 있습니다.
오픈스택을 사용하면 모든 물리 서버를 하나의 풀로서 관리할 수 있다는 이점이 있습니다.
또, 웹 인터페이스 제공을 통한 리소스 프로비저닝 및 표준 IaaS 기능 외에도
다른 서비스 간 오케스트레이션, 장애 관리 및 서비스 관리 등을 제공하여 애플리케이션의 고가용성을 보장할 수 있습니다.
출처 : https://www.openstack.org/
2. 오픈스택 핵심 구성요소
오픈스택은 여러 개별 프로젝트로 구성되어 있습니다.
각 개별 프로젝트는 특정 클라우드 기능을 하며, 하나로 통합되어 오픈스택의 클라우드 인프라스트럭처를 구축 및 관리하는데 사용됩니다.
오픈스택 공식 문서에 나와있는 프로젝트 맵 그림은 아래와 같습니다.
출처 : https://docs.openstack.org/contributors/ko_KR/common/introduction.html
2.1 Nova
인스턴스를 관리하는 서비스를 제공합니다. 다양한 하이퍼바이저를 지원하여 유연한 컴퓨팅 환경을 제공합니다. 더 자세한 내용은 여기를 참고하시기 바랍니다. AWS EC2와 비슷합니다.
2.2 Horizon
GUI 대시보드를 제공하여, 사용자 및 관리자가 인프라를 쉽게 사용할 수 있도록 합니다. AWS Management Console과 비슷합니다.
2.3 Glance
가상 머신 이미지를 관리합니다. 흔히, 운영체제를 설치할 때 ISO와 같은 디스크 이미지 파일을 사용합니다. Glance는 OVA, ISO와 같은 다양한 형식의 이미지를 관리합니다. AWS AMI과 비슷합니다.
2.4 Neutron
네트워크 관리를 합니다. 서브넷, 라우터, 방화벽, 로드 밸런서 등 네트워크에 필요한 다양한 기술을 지원합니다. AWS VPC와 비슷합니다.
2.5 Keystone
인증 및 접근 제어를 관리합니다. 오픈스택 서비스 간의 통합 인증 서비스를 제공합니다. AWS IAM과 비슷합니다.
2.6 Swift
대용량 데이터 저장 및 관리 서비스를 제공합니다. 데이터의 중복성, 확장성, 내구성을 보장합니다. 이미지, 백업, 아카이브 데이터 저장에 적합합니다. AWS S3와 비슷합니다.
2.7 Clinder
인스턴스에 연결할 수 있는 가상 디스크 볼륨을 제공합니다. AWS EBS와 비슷합니다.
2.8 Heat
템플릿 기반의 리소스 생성 및 관리 서비스를 제공합니다. AWS CloudFormation과 같이 IaC로 리소스를 생성할 수 있습니다. 또, Kubernetes와 같이 오토 스케일링도 지원합니다.
2.9 Ironic
베어 메탈 프로비저닝 서비스로, 물리적 서버를 프로비저닝 및 관리하는 기능을 제공합니다. 가상화가 아닌 실제 물리 하드웨어 자원을 필요로 할 때 사용합니다.
3. TripleO 아키텍처
TripleO 아키텍처는 오픈스택의 배포 및 운영을 효율적으로 하기 위해 관리의 영역과 서비스 영역을 분리한 아키텍처입니다.
물리 장치 제어 및 관리를 위한 관리의 영역을 UnderCloud라 하고, 고객에게 서비스를 제공하는 영역을 OverCloud라 합니다.
이는 UnderCloud의 오픈스택 위에 OverCloud의 오픈스택이 있는 형태로서,
Openstack On Openstack의 앞 글자를 따서 TripleO라 이름이 지어졌습니다.
출처 : https://docs.openstack.org/tripleo-docs/latest/install/introduction/architecture.html
Cloud는 다수의 고객을 대상으로 하나의 물리적 자원을 가상화하여 공유합니다.
따라서, 관리자는 UnderCloud의 오픈스택에서 OS 배포, 서비스 별 물리 자원 배포등을 수행하게 됩니다.
또, 접근 권한 역시 관리자만 쓰기 때문에 일반 사용자는 UnderCloud에 접속할 수 없습니다.
일반 사용자는 오직 OverCloud의 오픈스택에 접근하여 게스트 OS 배포 등의 제한된 기능만 사용할 수 있어야 합니다.
'인프라' 카테고리의 다른 글
클라우드 (0) | 2024.06.05 |
---|---|
씬 프로비저닝과 씩 프로비저닝 (0) | 2024.05.28 |
IPv4와 서브넷 (0) | 2024.05.28 |
도커 네트워크 구성 (0) | 2024.05.27 |