오픈스택 인스턴스 VM 생성과정
오픈스택 환경에서 주요한 작업 중 하나는 바로 인스턴스를 생성하는 과정입니다. 이 과정을 자동화하고 효율적으로 관리할 수 있는 오픈스택 기능이 제공되고, 기업과 개발자들이 온프로미스 클라우드 환경을 유연하게 운영할 수 있도록 합니다.
오픈스택을 활용하면 사용자는 단 몇 번의 클릭이나 API 호출만으로 컴퓨팅, 네트워크, 스토리지 자원을 활용하여 인스턴스를 생성할 수 있습니다. 이는 기존의 복잡한 하드웨어 설정 과정과 비교해 대폭적인 시간 절약과 관리 효율성을 제공합니다.
서버에서 직접 커맨드를 사용해 생성할 수 있고, 대시보드인 호라이즌을 통해 인스턴스를 생성할 수 있습니다. 하지만 인스턴스 생성에 필수적인 과정은 동일합니다. 그래서 이번에는 오픈스택에서 인스턴스를 생성할 때 어떤 순서로 진행되는지 알아보겠습니다.
오픈스택 인스턴스 생성과정

위 시쿼스 다이어그램은 위에서부터 아래로 시간순으로 진행됩니다.
설명의 편의를 위해 인증 컴포넌트인 '키스톤'이 관여하는 부분은 제외했습니다.
다이어그램에서 주요 요소인 User, Clance, Nova, Neutron 이 있습니다.
- User : 사용자
- Glance : 이미지 컴포넌트
- Nova : 컴퓨트 컴포넌트
- Neutron : 네트워크 컴포넌트
인스턴스 생성 순서
- 리소스 생성 단계 (노란색 영역)
각 컴포넌트에게 인스턴스 생성 시 필요한 리소스 생성합니다.
각 컴포넌트에 개별적인 요청을 하기 때문에 동시에 처리가 가능한 영역이고 일부 컴포넌트는 업로드 및 리소스의 구성으로 인한 "처리 시간"이 발생하므로202 Accepted
코드를 전달하기도 합니다. - 인스턴스의 리소스 요청 단계 (연두색 영역)
'노바 컴포넌트'에게 인스턴스 생성을 요청하면, 노바 컴포넌트가 인스턴스 생성에 필요한 리소스를 가진 컴포넌트에게 요청을 하고 리소스 정보를 전달받습니다. - 인스턴스 생성 완료 단계 (초록색 영역)
노바 컴포넌트는 필요한 모든 리소스를 전달받고 인스턴스를 생성합니다.
(만약 리로스가 생성만 되어 있고, 비정상이라면 이 단계에서 생성이 실패하게 됩니다.)
가장 기초적인 생성과정에 대해 알아보았습니다. 각 컴포넌트들은 http 프로토콜과 rabbitmq 같은 메시지큐로 서로 통신하고 있으며, 키스톤 컴포넌트의 인증,인가 과정을 비롯한 생각보다 더 복잡한 구조로 작동되고 있습니다. 이러한 부분은 설치된 오픈스택의 설정마다 다르며, 공식 문서를 참고하시기 바랍니다.
