KR102183786B1 - 마이그레이션 제어 방법 및 마이그레이션 제어 시스템 - Google Patents

마이그레이션 제어 방법 및 마이그레이션 제어 시스템 Download PDF

Info

Publication number
KR102183786B1
KR102183786B1 KR1020190066625A KR20190066625A KR102183786B1 KR 102183786 B1 KR102183786 B1 KR 102183786B1 KR 1020190066625 A KR1020190066625 A KR 1020190066625A KR 20190066625 A KR20190066625 A KR 20190066625A KR 102183786 B1 KR102183786 B1 KR 102183786B1
Authority
KR
South Korea
Prior art keywords
cloud
resource
information
script
network
Prior art date
Application number
KR1020190066625A
Other languages
English (en)
Inventor
염근혁
박준석
윤동규
김대호
Original Assignee
부산대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 부산대학교 산학협력단 filed Critical 부산대학교 산학협력단
Priority to KR1020190066625A priority Critical patent/KR102183786B1/ko
Application granted granted Critical
Publication of KR102183786B1 publication Critical patent/KR102183786B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/119Details of migration of file systems

Abstract

마이그레이션 제어 방법 및 마이그레이션 제어 시스템이 개시된다. 본 발명의 일실시예에 따른 마이그레이션 제어 방법은, 클라우드 간 마이그레이션 실행 명령이 입력되면, 제1 클라우드 내 이동 대상으로 지정되는 리소스에 대해 수집되는 자원 정보에 기초하여, 상기 리소스에 대한 인스턴스 타입을 결정하는 단계와, 상기 제1 클라우드와 연결된 게이트웨이 장치로부터 수집한 네트워크 정보에 따라, 이동 목적지의 제2 클라우드에 네트워크를 설정하는 단계, 및 상기 네트워크 설정에 따라, 상기 제2 클라우드 내에, 상기 인스턴스 타입에 상응하는 리소스 인스턴스를 생성하는 것에 의해, 상기 제1 클라우드 상의 상기 리소스를, 상기 제2 클라우드 내로 마이그레이션하는 단계를 포함한다.

Description

마이그레이션 제어 방법 및 마이그레이션 제어 시스템{METHOD AND SYSTEM FOR CONTROLLING MIGRATION BETWEEN CLOUDS}
본 발명은 이종 클라우드 환경에서 프로그래밍형 인프라 기반으로 클라우드 간 마이그레이션을 자동화 하는 기술에 관한 것이다.
본 발명의 배경이 되는 기술은 다음의 문헌에 개시되어 있다.
1) 등록번호: 10-1675818 (2016.11.08), "클라우드 마이그레이션을 위한 파라미터화된 다이나믹 모델"
2) 공개번호: 10-2017-0023121 (2017.03.02), "멀티테넌트 어플리케이션 서버 환경에서의 파티션 마이그레이션을 위한 시스템 및 방법"
3) 등록번호: 10-1343617 (2013.07.22), "클라우드 환경에서 서비스품질 보장을 위한 서비스수준협약 관리방법"
종래에는 가상 머신을 마이그레이션 하기 위해 가상 머신의 상태를 그대로 복제하는 방법을 주로 사용하였다.
구체적으로는 가상 머신을 이미지로 만들어 추출하고, 이동 목적지에 해당 이미지를 업로드한 후, 그 이미지를 이용해 가상 머신을 생성하는 방법이다.
하지만 이와 같은 방법에서는 이미지를 추출하는 과정, 이동 목적지에 이미지를 업로드하는 과정에 많은 시간이 소요될 수 있다.
이에 따라, 프로그래밍형 인프라(Infrastructure-as-Code)의 개념을 차용하여, 클라우드 간 마이그레이션을 자동화 함으로써, 클라우드 간 마이그레이션이 쉽고 빠르게 실행되도록 하기 위한 기술이 요구되고 있다.
본 발명의 실시예는 프로그램 코드로 이미지와 가상 머신을 생성하고 제어하는 도구를 활용하여, 이종 클라우드 환경에서의 마이그레이션의 제어를 자동화 하는 것을 목적으로 한다.
본 발명의 실시예는 마이그레이션 할 가상 머신(소스 머신)으로부터 수집한 자원정보를 바탕으로 생성한 프로그램 코드(Ansible 코드)를 이용하여, 이동 목적지의 클라우드에서 기본적으로 제공되는 이미지에, 상기 자원 정보를 이식하는 방식으로, 클라우드 간 마이그레이션을 쉽고 빠르게 실행하는 것을 목적으로 한다.
본 발명의 일실시예에 따른 마이그레이션 제어 방법은, 클라우드 간 마이그레이션 실행 명령이 입력되면, 제1 클라우드 내 이동 대상으로 지정되는 리소스에 대해 수집되는 자원 정보에 기초하여, 상기 리소스에 대한 인스턴스 타입을 결정하는 단계와, 상기 제1 클라우드와 연결된 게이트웨이 장치로부터 수집한 네트워크 정보에 따라, 이동 목적지의 제2 클라우드에 네트워크를 설정하는 단계, 및 상기 네트워크 설정에 따라, 상기 제2 클라우드 내에, 상기 인스턴스 타입에 상응하는 리소스 인스턴스를 생성하는 것에 의해, 상기 제1 클라우드 상의 상기 리소스를, 상기 제2 클라우드 내로 마이그레이션하는 단계를 포함할 수 있다.
또한, 본 발명의 실시예에 따른 마이그레이션 제어 시스템은, 클라우드 간 마이그레이션 실행 명령이 입력되면, 제1 클라우드 내 이동 대상으로 지정되는 리소스에 대해 수집되는 자원 정보에 기초하여, 상기 리소스에 대한 인스턴스 타입을 결정하는 분석부와, 상기 제1 클라우드와 연결된 게이트웨이 장치로부터 수집한 네트워크 정보에 따라, 이동 목적지의 제2 클라우드에 네트워크를 설정하는 설정부, 및 상기 네트워크 설정에 따라, 상기 제2 클라우드 내에, 상기 인스턴스 타입에 상응하는 리소스 인스턴스를 생성하는 것에 의해, 상기 제1 클라우드 상의 상기 리소스를, 상기 제2 클라우드 내로 마이그레이션하는 처리부를 포함할 수 있다.
본 발명에 따르면, 이동 목적지의 클라우드에서 기본적으로 제공되는 이미지에, 소스 머신으로부터 수집한 자원 정보를 이식하는 방식으로 마이그레이션을 실시함으로써, 종래 기술에서의 이미지 추출 및 이동 목적지로의 이미지 업로드에 따른 시간을 절감하여, 클라우드 간 마이그레이션을 쉽고 빠르게 실시할 수 있다.
본 발명에 따르면, 프로그래밍형 인프라(Infrastructure-as-Code)의 개념을 차용하여, 프로그램 코드로 이미지와 가상 머신을 생성하고 제어하는 도구를 활용함으로써, 클라우드 간 마이그레이션 제어를 자동화 할 수 있다.
본 발명에 따르면, 프로그램 코드를 이용하여 원격에서 리소스를 관리할 수 있어 재사용 및 유지보수 측면에서 이점을 가질 수 있다.
도 1은 본 발명의 일실시예에 따른 마이그레이션 제어 시스템의 구성을 도시한 블록도이다.
도 2는 본 발명의 일실시예에 따른 마이그레이션 제어 시스템의 전체 구성 및 실행 순서를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 마이그레이션 제어 시스템에서, 네트워크 설정 과정을 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 마이그레이션 제어 시스템에서, 가상머신을 구축하는 스크립트 및 이미지의 일례를 도시한 도면이다.
도 5는 본 발명의 일실시예에 따른 마이그레이션 제어 시스템에서, 클라우드 VPC에 구축한 가상머신에 어플리케이션을 설치하는 과정을 도시한 도면이다.
도 6는 본 발명의 일실시예에 따른 마이그레이션 제어 시스템에서, 이종 클라우드 환경에서 일부의 리소스를 마이그레이션 하는 일례를 도시한 도면이다.
도 7은 본 발명의 일실시예에 따른 마이그레이션 제어 시스템에서, 자원 정보에 따라 인스턴스 타입을 결정하는 프로그램 코드의 일례를 도시한 도면이다.
도 8은 본 발명의 일실시예에 따른 마이그레이션 제어 시스템에서, 클라우드에 네트워크를 설정하는 프로그램 코드의 일례를 도시한 도면이다.
도 9는 본 발명의 일실시예에 따른 마이그레이션 제어 시스템에서, 리소스 인스턴스에 어플리케이션을 설치하는 프로그램 코드의 일례를 도시한 도면이다.
도 10은 본 발명의 일실시예에 따른 마이그레이션 제어 방법의 순서를 도시한 흐름도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 발명의 일실시예에 따른 마이그레이션 제어 시스템은, 클라우드 간 마이그레이션 실행 명령의 발생에 연동하여, 이동 대상으로 지정되는 제1 클라우드 내 리소스(예, 가상머신)로부터, 자원 정보(예, 가상머신의CPU 정보, 메모리 정보 등의 머신 스펙 정보)를 수집하고, 상기 자원 정보를 분석하여, 상기 리소스에 대한 인스턴스 타입을 결정하고, 상기 제1 클라우드와 연결되어 있는 게이트웨이 장치로부터, 네트워크 정보(예, 게이트웨이 IP 정보)를 수집하고, 상기 네트워크 정보에 기초하여, 이동 목적지로 지정되는 제2 클라우드와 상기 게이트 장치와의 네트워크를 설정하고, 상기 네트워크 설정에 따라, 상기 제2 클라우드 내에, 상기 인스턴스 타입('flavor')에 상응하는 리소스 인스턴스(예, 타겟머신)를 생성하는 것에 의해, 상기 리소스를 제2 클라우드로 마이그레이션 할 수 있다.
여기서 '리소스'는 물리머신이나 가상머신과 같은 컴퓨팅 자원 뿐만 아니라, 컴퓨팅 자원 상에서 동작하는 시스템 소프트웨어와 사용자 소프트웨어와 같은 어플리케이션, 그리고 데이터를 포함할 수 있다.
본 발명의 마이그레이션 제어 시스템은, 프로그램 코드로 가상머신을 생성해 제어하는 소프트웨어 도구를 활용해, 이종 클라우드 환경에서 보유하는 리소스들의 마이그레이션을 손쉽게 제어할 수 있어, 마이그레이션의 자동화를 도모할 수 있다.
도 1은 본 발명의 일실시예에 따른 마이그레이션 제어 시스템의 구성을 도시한 블록도이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 마이그레이션 제어 시스템(100)은, 분석부(110), 설정부(120) 및 처리부(130)를 포함하여 구성할 수 있다. 실시예에 따라, 마이그레이션 제어 시스템(100)은 수집부(140)를 더 포함하여 구성할 수 있다.
분석부(110)는 클라우드 간 마이그레이션 실행 명령의 입력에 따라, 제1 클라우드(101) 내 이동 대상으로 지정되는 리소스에 대해 수집되는 자원 정보에 기초하여, 상기 리소스에 대한 인스턴스 타입을 결정한다.
일례로, 분석부(110)는 상기 실행 명령으로부터 마이그레이션 실행 조건을 확인하고, 이동 출발지인 제1 클라우드(101) 내의 리소스 중, 상기 실행 조건을 만족하는 적어도 일부의 리소스를 이동 대상으로 지정할 수 있다.
여기서 실행 조건('마이그레이션 규칙')은, 어떤 상황(Condition)에서 어떤 개체(Entity)를 어디(Target)로 이동할 것인지를 정의한 것일 수 있다. 이는 상기 실행 명령을 입력한 사용자 단말(혹은 인프라 관리자)에서 보유 중인 리소스의 상황이나 요구 사항에 따라 임의로 정의할 수 있다.
마이그레이션 규칙의 일례로, if: Source.live_time>72h then: Source.Migrate(Target=Public.GCE)로 정의되는 경우, 마이그레이션 할 가상머신(즉 '소스머신')의 구동 시간이 72시간을 초과하면, 해당 소스머신을 퍼블릭 클라우드인 Google Compute Engine으로 마이그레이션 하는 것을 의미할 수 있다.
이 경우 분석부(110)는 제1 클라우드(101)에서 72시간을 초과해 구동하는 가상머신을 상기 이동 대상으로 지정하고, 상기 가상머신의 이동 목적지를 퍼블릭 클라우드 중, 상기 제1 클라우드(101)와 지리적 위치가 같은 아시아권의 제2 클라우드(102)로 지정할 수 있다.
<소스머신으로부터 수집하는 정보>
분류 이름 설명
머신 스펙 CPU Info. CPU의 코어 수와 클럭 수치
Memory Info. 메모리 사이즈
Disk Info. 디스크 (저장 장치) 사이즈
OS Info. OS 이름 및 버전
설치 정보 Platform SW Info. 설치되어 있는 플랫폼 소프트웨어의 리스트 및 버전 정보
User SW Info. 설치되어 있는 사용자 소프트웨어의 리스트 및 저장소 정보
Data List 마이그레이션할 데이터의 경로와 리스트
네트워크 정보 IP Address 머신에 할당된 IP 주소
Subnet 머신이 존재하는 서브넷의 IP 대역
Firewall Rule 활성화된 방화벽 규칙 (접근 제어 규칙)
VPC Gateway Address 클라우드와 프라이빗 네트워크의 연결을 위한 VPC 게이트웨이의 IP 주소
인증 정보 SSH Key 인증에 쓰이는 SSH 공개키
마이그레이션 수행을 위해서는, [표 1]과 같이, 소스머신의 스펙에 대한 정보, 설치되어 있는 어플리케이션과 데이터에 대한 정보, 소스머신이 속해 있는 네트워크에 대한 정보, 및 에이전트(Agent)나 다른 가상머신과의 통신을 위한 인증 정보가 필요하게 되며, 이와 같은 정보를 마이그레이션을 위한 각종 도구의 입력값으로 사용하여 마이그레이션의 제어가 자동화 되도록 할 수 있다.
즉 분석부(110)는 제1 클라우드(101) 상의 가상머신으로부터 수집되는 정보를 지속적으로 모니터링하여, 실행 조건을 만족하는 가상머신을 이동 대상으로 지정할 수 있다.
본 명세서에서 리소스는, 물리머신 또는 가상머신을 포함한 컴퓨팅 자원과, 상기 컴퓨팅 자원 상에서 실행되는 어플리케이션 및 데이터 중 적어도 하나를 포함할 수 있다.
상기 자원 정보는, 마이그레이션 할 가상머신의 CPU 정보와 메모리 정보 및 디스크 정보 중 적어도 하나의 머신 스펙 정보와, 상기 가상머신에 설치된 어플리케이션의 리스트와 버전 및 저장소값 중 적어도 하나의 설치 정보를 포함할 수 있다. 또한 상기 설치 정보에는 데이터의 경로와 리스트가 더 포함될 수 있다.
실시예에 따라, 마이그레이션 제어 시스템(100)은 수집부(140)를 더 포함하여 구성될 수 있다.
수집부(140)는 설정 관리 도구(예, 'ANSIBLE')의 실행에 의해, 상기 리소스를 구성하는 가상머신의 사양과 관련된 머신 스펙 정보를, 상기 자원 정보로서 상기 리소스로부터 수집한다.
또한 수집부(140)는 상기 설정 관리 도구의 실행에 의해, 상기 가상머신 상에 설치된 어플리케이션의 리스트와 버전 및 저장소값 중 적어도 하나의 설치 정보를 더 수집할 수 있다.
상기 설정 관리 도구는 마이그레이션 할 가상머신(소스머신)으로부터 상기 머신 스펙 정보와 설치 정보의 값을 읽어오기 위해 이용되는 소프트웨어 도구로서, 'ANSIBLE'을 예시할 수 있다.
한편 상기 설정 관리 도구는 상기 읽어온 값을 바탕으로 이동 목적지의 제2 클라우드(102)에 네트워크를 설정하는 데에도 이용될 수 있으며, 사용자 단말로부터 입력된 정보에 따라 제2 클라우드(102)에 네트워크를 설정하는 경우에는 클라우드 API가 이용될 수 있다.
상기 설정 관리 도구 또는 클라우드 API의 실행에 의해, 제2 클라우드(102)에 네트워크가 설정되면, 후술하는 처리부(130)에서는, 'Packer'와 같은 이미지 생성 도구를 활용하여, 상기 소스 머신에 대한 리소스 인스턴스, 즉 타겟 머신을 제2 클라우드(102)에 생성할 수 있다.
일례로 분석부(110)는 CPU 정보, 메모리 정보 및 OS 정보 중 적어도 하나에 따라 마련되는 복수의 인스턴스 타입 중에서, 상기 머신 스펙 정보에 상응하는 제1 인스턴스 타입(예, 'n1-standard-2')을, 상기 리소스에 대한 인스턴스 타입으로 결정할 수 있다.
구체적으로 분석부(110)는 CPU 코어 수와 클럭 수치, 메모리 사이즈, 디스크 사이즈, OS의 이름 및 버전 중 적어도 하나를 분석하여, 마이그레이션 할 가상머신에 대한 인스턴스 타입을 결정할 수 있다.
예를 들어, 도 7을 참조하면, 분석부(110)는 CPU 코어 수와 메모리 사이즈에 따라 4종류의 인스턴스 타입(flavor)을 마련해 두고, 마이그레이션 할 가상머신으로부터 수집한 자원 정보에 기초하여, 상기 가상머신의 인스턴스 타입을 결정할 수 있다.
즉, 분석부(110)는 CPU 코어 수가 2000을 초과하거나 메모리 사이즈가 30000을 초과하는 가상머신의 인스턴스 타입(flavor)을, 'n1-standard-16'으로서 결정하고, CPU 코어 수가 10000을 초과하거나 메모리 사이즈가 15000을 초과하는 가상머신의 인스턴스 타입(flavor)을, 'n1-standard-8'로서 결정하고, CPU 코어 수가 5000을 초과하거나 메모리 사이즈가 7500을 초과하는 가상머신의 인스턴스 타입(flavor)을, 'n1-standard-4'로서 결정하고, CPU 코어 수가 2500을 초과하거나 메모리 사이즈가 3750을 초과하는 가상머신의 인스턴스 타입(flavor)을, 'n1-standard-2'로서 결정할 수 있다.
설정부(120)는 제1 클라우드(101)와 연결된 게이트웨이 장치(미도시)로부터 수집한 네트워크 정보에 따라, 이동 목적지의 제2 클라우드(102)에 네트워크를 설정한다.
상기 네트워크 정보는 마이그레이션 할 가상머신(소스머신)이 속해 있는 네트워크에 관한 정보로서, 예를 들면 게이트웨이 IP 주소일 수 있다.
일례로 수집부(140)는 상기 설정 관리 도구의 실행에 의해, 상기 게이트웨이 장치로부터 게이트웨이 IP 주소를 수집하고, 설정부(120)는 상기 설정 관리 도구의 실행에 의해, 게이트웨이 IP 주소를 이용하여, 상기 제2 클라우드와 상기 게이트웨이 장치 간 네트워크를 설정할 수 있다.
예를 들어, 설정부(120)는 제1 클라우드(101)에서 VPC 게이트웨이 장치와 연결되어 있는 경우, 상기 VPC 게이트웨이 장치로부터 수집한 게이트웨이 IP 정보를 기초로, 제2 클라우드(102)에, VPC(Virtual Private Cloud) 네트워크를 설정할 수 있다.
이와 같이 설정부(120)는 퍼블릭 클라우드인 제2 클라우드(102)에도 제1 클라우드(101)과 마찬가지로 VPC 네트워크를 설정함으로써, 프라이빗 클라우드에서 퍼블릭 클라우드로의 이종 클라우드 간 마이그레이션이 용이하게 수행되도록 할 수 있다.
또한 상기 네트워크 정보는 사용자 단말로부터 입력되는 가상머신의 IP 주소, 가상머신이 속한 서브넷의 IP 대역 및 방화벽 접근 제어 규칙 중 적어도 하나를 포함할 수 있다.
또한, 설정부(120)는 사용자 단말로부터 상기 리소스를 구성하는 가상머신의 IP 주소, 가상머신이 속한 서브넷의 IP 대역 및 방화벽 접근 제어 규칙 중 적어도 하나의 네트워크 정보가 입력될 경우, 클라우드 API의 실행에 의해, 상기 네트워크 정보를 이용하여, 상기 제2 클라우드 내에 서브넷과 방화벽을 설정할 수 있다.
예를 들어, 도 3을 참조하면, 설정부(120)는 제1 클라우드(101, 310) 상의 가상머신에 관한 네트워크 정보에 기초하여, 제2 클라우드(102, 320)에 VPC 네트워크를 설정하고, 서브넷과 방화벽을 설정할 수 있다.
실시예에 따라, 설정부(120)는 프라이빗 네트워크로 연결된 제1 클라우드(101) 상의 가상머신을, 퍼블릭 클라우드인 제2 클라우드(102)로 마이그레이션 시, 마이그레이션 하지 않는 다른 가상머신이 제1 클라우드(101) 상에 남아 있을 경우에, 제1 클라우드(101)와 제2 클라우드(102) 사이를 VPN(Virtual Private Network) 터널링을 통해 연결하여, 하이브리드 클라우드로 운영되도록 할 수 있다.
즉 설정부(120)는 제1 클라우드(101)와 연결되는 VPN 게이트웨이 장치로부터 수집한 게이트웨이 IP 정보를 이용해, 제2 클라우드(102)에 VPN 게이트웨이를 생성하고, 상기 VPN 게이트웨이 장치와, 제2 클라우드(102) 상의 VPN 게이트웨이를 연결함으로써, 제1 클라우드(101)와 제2 클라우드(102) 간 VPN 터널링을 설정할 수 있다.
이에 따라 제2 클라우드(102) 상의 리소스 인스턴스(타겟 머신)에서 구동하는 동안 제1 클라우드(101) 상의 다른 가상머신의 데이터가 필요해질 경우, 상기 VPN 터널링을 통해 상기 데이터에 손쉽게 접근할 수 있게 된다.
처리부(130)는 상기 네트워크 설정에 따라, 제2 클라우드(102) 내에, 상기 인스턴스 타입에 상응하는 리소스 인스턴스를 생성하는 것에 의해, 제1 클라우드(101) 상의 상기 리소스를, 제2 클라우드(102) 내로 마이그레이션 한다.
즉 처리부(130)는 마이그레이션 할 제1 클라우드(101)의 가상머신(소스머신)에 대한 타겟 머신을 제2 클라우드(102)에 생성 함으로써, 상기 가상머신의 마이그레이션을 실행할 수 있다.
처리부(130)는 이미지 생성 도구(예, 'Packer')의 실행에 의해, 제2 클라우드(102)로 마이그레이션 할 가상머신에 관한 기본 이미지를, 상기 제1 인스턴스 타입에 상응하는 이미지로 변경하여, 상기 변경한 이미지를 이용해, 상기 리소스 인스턴스를 생성할 수 있다.
일례로 처리부(130)는 가상머신을 생성하기 위해 필요한 여러 타입의 기본 이미지들을 제2 클라우드(102) 상에 미리 마련해두고, 기본 이미지들 중에서, 상기 제1 인스턴스 타입('n1-standard-2')과 가장 유사한 기본 이미지를 식별할 수 있다. 처리부(130)는 상기 식별한 기본 이미지로부터 얻어진 스크립트에서, CPU 정보, 메모리 정보 및 OS 정보 중 적어도 하나를, 상기 제1 인스턴스 타입 내의 CPU 코어 수, 클록 수, 메모리 사이즈 등에 맞춰 세부 변경하여 제1 스크립트를 작성하고, 상기 제1 스크립트의 컴파일에 의해, 상기 가상머신의 리소스 인스턴스(타겟 머신)를 생성할 수 있다.
다른 일례로, 도 4를 참조하면, 처리부(130)는 상기 이미지 생성 도구의 실행에 의해, 상기 기본 이미지로부터 얻어진 스크립트에, 상기 제1 인스턴스 타입에 관해 마련된 코드(420) "machine_type" : "n1-stamdard-2"를 포함시켜 제1 스크립트(410)("builders")를 작성할 수 있다. 처리부(130)는 상기 제1 스크립트(410)의 컴파일에 따라, 생성되는 이미지(430) "image-123"를 이용하여, 상기 제2 클라우드 내에 상기 가상머신에 상응하는 리소스 인스턴스(타겟머신)를 생성할 수 있다. 여기서 이미지(430)는 상기 기본 이미지를 마이그레이션 할 가상머신의 인스턴스 타입에 맞춰 변경한 이미지일 수 있다.
즉, 처리부(130)는 이동 목적지의 제2 클라우드(102)에 이미 마련되어 있는 기본 이미지 위에, 마이그레이션 할 가상머신의 정보에 따라 간단히 세팅하는 것 만으로, 제1 클라우드(101)의 가상머신을 제2 클라우드(102)로 손쉽게 이동할 수 있다.
따라서, 본 발명에 의해서는, 제1 클라우드(101) 상의 가상머신을 복제해서 제2 클라우드(102)로 이동하는 종래 기술에 비해, 이미지 추출 시간과 추출한 이미지를 이동 목적지로 업로드하는 시간을 생략하여, 빠르고 편리하게 가상머신의 마이그레이션을 실행할 수 있다.
실시예에 따라, 수집부(140)는 상기 설정 관리 도구의 실행에 의해, 상기 제2 클라우드에 마이그레이션 할 가상머신 상에 설치된 어플리케이션의 리스트와 버전 및 저장소값 중 적어도 하나의 설치 정보를 더 수집할 수 있다.
여기서 어플리케이션은 가상머신에서 구동하는 시스템 소프트웨어 또는 사용자 소프트웨어일 수 있다.
처리부(130)는 상기 이미지 생성 도구의 실행에 의해, 상기 설치 정보에 기초하여 생성한 코드를 상기 제1 스크립트 내에 포함시켜, 제2 스크립트를 작성하고, 상기 제2 스크립트의 컴파일에 따라, 상기 어플리케이션을 상기 제2 클라우드 내의 상기 리소스 인스턴스에 설치하는 것에 의해, 제1 클라우드(101) 상의 상기 리소스를, 제2 클라우드(102) 내로 마이그레이션 할 수 있다.
예를 들어, 도 5 및 도 9를 참조하면, 처리부(130)는 마이그레이션 할 가상머신에 설치되어 있는 어플리케이션의 리스트와 버전 및 사용하는 저장소값 등의 설치 정보에 따라 도 5의 코드(530) 및 도 9와 같이 ANSIBLE 코드를 생성하고, ANSIBLE 코드를 제1 스크립트(도 4의 410)에 포함시켜 제2 스크립트를 작성할 수 있다. 처리부(130)는 상기 제2 스크립트의 컴파일에 따라, 생성되는 이미지를 이용하여, 설치된 어플리케이션을 포함하여 소스머신의 제2 클라우드(102)로의 마이그레이션을 용이하게 실행할 수 있다.
즉 처리부(130)는 상기 제2 스크립트의 컴파일에 의해, 제2 클라우드(102)에 생성할 타겟머신에, 소스머신에 설치되어 있는 어플리케이션을 설치할 수 있다.
또한, 실시예에 따라, 상기 설정 관리 도구의 실행에 의해, 마이그레이션 할 가상머신이 보유하는 데이터의 리스트와 저장경로를 더 포함하여 상기 설치 정보가 수집되는 경우, 처리부(130)는 상기 이미지 생성 도구의 실행에 의해, 상기 설치 정보에 기초하여 생성한 코드를, 상기 제2 스크립트 내에 포함시켜, 제3 스크립트를 작성하고, 상기 제3 스크립트의 컴파일에 따라, 상기 데이터를 상기 제2 클라우드로 이동하는 것에 의해, 상기 제1 클라우드 상의 상기 리소스를, 상기 제2 클라우드 내로 마이그레이션 할 수 있다.
예를 들어, 처리부(130)는 마이그레이션 할 가상머신이 보유하는 데이터의 리스트와 저장경로 등의 설치 정보에 기초해 생성한 ANSIBLE 코드를, 제1 스크립트(도 4의 410)에 포함시켜 제3 스크립트를 작성할 수 있다. 처리부(130)는 상기 제3 스크립트의 컴파일에 따라, 생성되는 이미지를 이용하여, 보유한 데이터를 포함하여 소스머신의 제2 클라우드(102)로의 마이그레이션을 용이하게 실행할 수 있다.
즉 처리부(130)는 상기 제3 스크립트의 컴파일에 의해, 제2 클라우드(102)에 생성할 타겟머신으로, 소스머신이 보유한 데이터를 이동시킬 수 있다.
실시예에 따라, 처리부(130)는 스크립트의 실행에 의해 제2 클라우드(102)에 생성한 리소스 인스턴스를, 원격 접속 프로토콜(SSH)을 통해 원격으로 제어할 수 있다.
예를 들어, 처리부(130)는 상기 제1 스크립트의 실행에 의해 제2 클라우드(102)에 리소스 인스턴스가 생성되면, 상기 리소스 인스턴스를 원격으로 제어하여, 마이그레이션 할 가상머신에 설치된 어플리케이션을 상기 리소스 인스턴스에 설치하게 하고, 상기 가상머신이 보유한 데이터를, 상기 리소스 인스턴스로 가져오게 할 수 있다.
또한 실시예에 따라, 분석부(110)는 제1 클라우드(101) 내의 리소스 중, 선정된 마이그레이션 실행 조건을 만족하는 적어도 일부의 리소스가 상기 이동 대상으로 지정되는 경우, 처리부(130)는 상기 이동 대상이 만족하는 실행 조건에 따라, 상기 이동 목적지로 지정되는 제2 클라우드(102)에 상기 리소스 인스턴스를 생성하여, 제1 클라우드(101) 상의 일부의 리소스를 상기 제2 클라우드로 마이그레이션 할 수 있다.
예를 들어, 도 6을 참조하면, 프라이빗 클라우드(610)에 대해 마이그레이션 실행 명령이 입력될 경우, 분석부(110)는 프라이빗 클라우드(610)에서 동작하는 가상머신(VM1, VM2, VM3) 중, CPU 클록 수, 메모리 사이즈 및 구동 시간 등에 따라 선정된 실행 조건을 만족하는 가상머신(VM1, VM2)을 이동 대상으로 지정하고, 상기 실행 조건에 따라, 프라이빗 클라우드(610)와 동일한 지역(예, '아시아권')에 있는 퍼블릭 클라우드(620)를 이동 목적지로 지정할 수 있다.
설정부(120)는 이동 목적지인 퍼블릭 클라우드(620)에, VPC 게이트웨이 장치로부터 수집한 게이트웨이 IP 정보를 설정함으로써, 프라이빗 클라우드(610)와 마찬가지로 퍼블릭 클라우드(620)에도 VPC 네트워크를 설정할 수 있다.
또한 설정부(120)는 사용자 단말로부터 입력된 가상머신의 IP 주소, 가상머신이 속한 서브넷의 IP 대역 및 방화벽 접근 제어 규칙 중 적어도 하나의 네트워크 정보를 토대로, 퍼블릭 클라우드(620)에 서브넷과 방화벽(firewall)을 설정할 수 있다.
처리부(130)는 이미지 생성 도구(Packer)의 실행에 의해, 퍼블릭 클라우드(620)에 이미 업로드 되어 있는 기본 이미지로부터 얻어진 스크립트 내에, 가상머신(VM1, VM2)으로부터 수집되는 자원 정보에 기초하여 생성한 ANSIBLE 코드를 추가하여 제2 스크립트를 작성하고, 상기 제2 스크립트의 컴파일에 의해, 가상머신(VM1, VM2)의 타겟 머신을, 퍼블릭 클라우드(620)에 생성할 수 있다.
즉 처리부(130)는 프라이빗 클라우드(610) 상의 가상머신(VM1, VM2)을, 퍼블릭 클라우드(620)로 마이그레이션 할 수 있다.
또한 처리부(130)는 가상머신(VM1, VM2)에 설치된 어플리케이션(Web App, Apache2)을, 퍼블릭 클라우드(620)의 타겟머신(VM1, VM2)에 설치하고, 가상머신(VM2)이 보유하는 데이터를 타겟머신(VM2)로 이동할 수 있다.
이때 설정부(120)는 도 6에서와 같이 프라이빗 클라우드(610) 내에 마이그레이션 되지 않은 가상머신(VM3)이 있으면, 프라이빗 클라우드(610)와 퍼블릭 클라우드(620) 간에 VPN 터널링을 설정하여, 퍼블릭 클라우드(620)의 타겟머신(VM1, VM2)에서 구동 중에 프라이빗 클라우드(610) 상의 가상머신(VM3)이 보유한 백업 파일에 접근할 수 있도록 할 수 있다.
이처럼 본 발명에 따르면, 일부의 가상머신 만을 마이그레이션 하더라도, 상기 VPN 터널링에 의해 이기종의 프라이빗 클라우드(610)와 퍼블릭 클라우드(620)를 하이브리드로 운영할 수 있어, 보유한 리소스를 제약 없이 손쉽게 공유할 수 있게 할 수 있다.
도 2는 본 발명의 일실시예에 따른 마이그레이션 제어 시스템의 전체 구성 및 실행 순서를 도시한 도면이다.
도 2를 참조하면, 본 발명에 따른 마이그레이션 제어 시스템('제어 시스템')(200)은 언제-어떻게-어디로 이동할 것인지를 나타내는 마이그레이션 규칙을 미리 정의해 두고, 컴퓨팅 자원으로부터 수집한 특성 및 정보에 따라, 마이그레이션 규칙을 만족하는지 판단할 수 있다.
마이그레이션 제어 시스템(200)은 마이그레이션 규칙을 만족하는 컴퓨팅 자원을 이동 대상으로 지정하고, 마이그레이션을 실행할 수 있다.
이동 대상이 되는 컴퓨팅 자원은 소스 머신(Source Machine)(210)을 의미하고, 이동이 완료된 컴퓨팅 자원은 타겟 머신(Target Machine)(220)을 의미할 수 있다.
마이그레이션 제어 시스템(200)은 소스 머신(210)이 속한 네트워크에 대한 정보에 기초하여, 이동 목적지의 클라우드에 네트워크('VPC 네트워크')를 설정할 수 있다.
마이그레이션 제어 시스템(200)은 네트워크 설정된 클라우드에, 소스 머신(210)과 동일하거나 유사한 성능을 가지는 타겟 머신(220)을 생성한 후, 소스 머신(210)에 설치되어 있던 소프트웨어(플랫폼 소프트웨어, 사용자 소프트웨어)에 대한 설치 정보를 이용하여 타겟 머신(220)에 상기 소프트웨어를 설치하고, 소스 머신(210)이 보유한 데이터를 타겟 머신(220)으로 이동시킬 수 있다.
상기 이동이 완료하면, 타겟 머신(220)은 소스 머신(210)과 같은 성능, 같은 소프트웨어, 같은 데이터를 가지게 되므로, 소스 머신(210)의 마이그레이션이 완료된 것으로 볼 수 있다.
이처럼 본 발명에 따르면, 종래 기술에 비해 빠르게 컴퓨팅 자원을 마이그레이션 할 수 있고, 코드를 이용하여 리소스를 관리하기 때문에 재사용 및 유지보수 측면에서 이점을 가질 수 있다.
도 3은 본 발명의 일실시예에 따른 마이그레이션 제어 시스템에서, 네트워크 설정 과정을 도시한 도면이다.
일반적으로 기업에서는 다수의 가상머신들이 서로 통신할 수 있는 내부망(프라이빗 네트워크)을 운영하는데, 클라우드 서비스에서도 이와 같은 환경을 만들어줄 수 있다. 이러한 서비스를 일반적으로 VPC(Virtual Private Cloud) 라고 부른다.
도 3을 참조하면, 온-프레미스 환경의 제1 클라우드(310) 내의 가상머신을 이동 목적지의 제2 클라우드(320)로 마이그레이션 할 경우, 해당 가상머신이 기존과 같이 다른 가상머신들과 통신하거나 외부망(인터넷)과도 통신할 수 있어야 한다.
따라서, 마이그레이션 제어 시스템(제어 시스템)(300)은 마이그레이션 준비 단계에서 수집한 기존의 가상머신의 네트워크 정보와 클라우드 서비스 API를 이용하여, 이동 목적지의 제2 클라우드(320)에 클라우드 VPC 환경을 구축하고, 기존 가상머신이 속해 있던 네트워크와 같은 대역의 VPC 및 서브넷과, 방화벽 규칙을 제2 클라우드(320)에 마찬가지로 생성할 수 있다.
실시예에 따라, 제어 시스템(300)은 제1 클라우드(310) 내의 모든 리소스를 제2 클라우드(320)로 마이그레이션 하지 않고, 일부의 리소스를 제1 클라우드(310)에 남겨둔 채, 제1 클라우드(310)와 제2 클라우드(320)를 하이브리드로 운영할 수도 있다.
이를 위해, 제어 시스템(300)은 제1 클라우드(310)에 구축된 온-프레미스(On-premise) 네트워크와 제2 클라우드(320)에 새로 구축할 클라우드 VPC를 하나의 내부망인 것처럼 연결하기 위해, VPN(Virtual Private Network)을 이용할 수 있다.
즉 제어 시스템(300)은 온-프레미스 네트워크의 VPN 게이트웨이의 주소를 받아오고, 클라우드 VPC 상에도 VPN 게이트웨이를 생성한 뒤, 두 VPN 게이트웨이를 연결하는 VPN 터널링을 설정할 수 있다.
도 4는 본 발명의 일실시예에 따른 마이그레이션 제어 시스템에서, 가상머신을 구축하는 스크립트 및 이미지의 일례를 도시한 도면이다.
도 4에는 코드 기반의 이미지 생성 도구(예, 'Packer')의 실행에 의해 작성되는 제1 스크립트("builders")(410)와, 제1 스크립트(410)의 컴파일에 의해 생성되는 이미지("image123")(430)의 일례가 도시되어 있다.
도 4를 참조하면, 마이그레이션 제어 시스템은 이동 목적지의 클라우드에서 제공되는 기본 이미지로부터 얻어진 스크립트에, 마이그레이션 할 가상머신의 자원정보에 따라 생성한 ANSIBLE 코드(420) "machine_type" : "n1-stamdard-2"를 추가하여, 제1 스크립트("builders")(410)를 작성할 수 있다. ANSIBLE 코드(420)에는 상기 가상머신의 인스턴스 타입("n1-stamdard-2")이 포함될 수 있다.
종래 기술에 따르면, 소스머신의 이미지를 추출하고 그 이미지를 클라우드에 업로드하여 타겟머신을 생성하고 있으나, 본 발명의 마이그레이션 제어 시스템에서는 이미지 생성 도구('Packer')를 이용하여, 클라우드에 이미 마련된 기본 이미지를, 소스머신에서 수집한 정보에 따라 각종 환경을 세팅하는 방식으로 변경하여 타겟머신을 생성할 수 있기 때문에, 소스머신의 이미지를 복제해 오는 기존 방식에 비해 쉽고 빠르게 마이그레이션을 실행할 수 있다.
마이그레이션 제어 시스템은 코드 기반으로 이미지를 생성하는 대표적인 도구로 Packer를 이용할 수 있고, 설정 관리 도구(Ansible 등)와 연계하여 소스 머신 상의 소프트웨어와 데이터들이 설치된 상태의 이미지를 생성할 수 있다. 마이그레이션 제어 시스템은 상기 이미지를 이용해 가상머신의 리소스 인스턴스, 즉 타겟 머신을 이동 목적지에 새롭게 생성할 수 있다.
Packer 스크립트에서 사용되는 변수들은 사용자의 입력 또는 [표 1]의 정보를 이용해 결정될 수 있다. 일례로 타겟머신의 인스턴스 타입(flavor)은 소스머신으로부터 수집한 CPU 정보, 메모리 정보 파일로부터 추출한 CPU 코어 수, 클럭 수, 메모리 용량 등을 참고하여 가장 유사한 타입으로 결정될 수 있다.
도 5는 본 발명의 일실시예에 따른 마이그레이션 제어 시스템에서, 클라우드 VPC에 구축한 가상머신에 어플리케이션을 설치하는 과정을 도시한 도면이다.
도 5를 참조하면, 마이그레이션 제어 시스템(제어 시스템)(500)은 클라우드에서 제공하는 기본 이미지를 그대로 사용하여 타겟머신(520)을 생성하는 것이 아니라, 소스머신(510)과 같은 소프트웨어 및 데이터를 타겟머신(520)에 세팅할 수 있다.
이를 위해 제어 시스템(500)은 Ansible과 같은 설정 관리(Configuration Management) 도구를 활용할 수 있다.
제어 시스템(500)은 Ansible과 같은 도구를 이용해 프로그램 코드(530)로 설치 명령을 작성하면, SSH 등의 원격 접속 프로토콜을 통해 원격으로 타겟머신(520)을 제어할 수 있다.
예를 들면, 새롭게 만들 타겟머신(520)에 직접 접속할 필요 없이, 제어 시스템(500)에서 원격으로 특정 소프트웨어를 설치하라는 명령을 내릴 수가 있다.
즉 제어 시스템(500)은 소스머신(510)에 설치된 소프트웨어와 데이터 정보를 읽어온 뒤 이를 바탕으로 생성한 Ansible 코드(530)를 이용하여, 원격에서 새롭게 생성될 타겟머신(520)에 기존 소스머신(510)의 정보를 이식할 수 있다.
제어 시스템(500)은 소프트웨어 설치를 위해서는 설치 명령어를 사용하고, 소프트웨어의 설정 파일의 복사를 위해서는 복사 명령어를 사용할 수 있다.
또한 제어 시스템(500)은 소스머신(510)에 존재했던 데이터를, 새롭게 생성될 타겟머신(520)으로 이동하기 위해, 소스머신(510)을 대상으로 fetch 명령어를 사용하여 소스머신(510)에 존재했던 데이터를 가져온 뒤, 타겟머신(520)을 대상으로 copy 명령어를 사용하여, 가져온 데이터를 타겟머신(520)으로 복사할 수 있다.
즉 소스머신(510)에 존재하던 데이터가 제어 시스템(500)을 거쳐 타겟머신(520)으로 이동하게 된다.
도 6는 본 발명의 일실시예에 따른 마이그레이션 제어 시스템에서, 이종 클라우드 환경에서 일부의 리소스를 마이그레이션 하는 일례를 도시한 도면이다.
도 6에는, 온-프레미스 환경의 제1 클라우드(610)에 존재하는 3대의 가상머신(VM1, VM2, VM3) 중 2대의 가상머신(VM1, VM2)을 퍼블릭 네트워크 환경의 제2 클라우드(620)로 마이그레이션 하는 시나리오가 도시되어 있다.
도 6을 참조하면, 마이그레이션할 2대의 가상머신(VM1, VM2)에는 Apache 웹 서버와 그 위에서 동작하는 웹 애플리케이션이 설치되어 있는 상태이고, 또한 가상머신(VM2)에는 마이그레이션할 데이터가 유지되고 있다.
한편, 마이그레이션 하지 않는 가상머신(VM3)은 백업 서버이므로, 마이그레이션 제어 시스템(600)은, 가상머신(VM1, VM2)의 마이그레이션이 완료되면, 제1 클라우드(610)와 제2 클라우드(620) 간 VPN 터널링을 설정하여, 백업 서버인 VM3로 접근할 수 있게 할 수 있다.
마이그레이션 제어 시스템(600)은 Packer, Ansible, libcloud와 같은 도구들을 이용하여 작성한 프로그램 코드를 통해 마이그레이션을 실행할 수 있다.
먼저 마이그레이션 준비 단계에서, 마이그레이션 제어 시스템(600)은 이동 대상의 가상머신(소스머신)의 IP 주소, 리전(지역, 지리적 위치), 클라우드 계정 인증 정보 등의 사전 정보를 사용자 단말로부터 입력 받고, 네트워크 정보, OS 정보, CPU 및 메모리 스펙 정보, 설치된 SW 리스트 등의 정보를 소스머신으로부터 가져오는 Ansible 스크립트를 실행해 자원 정보를 가져올 수 있다.
마이그레이션 제어 시스템(600)은 도 7에 도시된 프로그램 코드에서와 같이, 가져온 자원 정보를 분석하여 flavor 등의 인스턴스 타입을 결정할 수 있다.
다음으로, 네트워크 설정 단계에서, 마이그레이션 제어 시스템(600)은 Libcloud API를 이용하여, 도 8에 도시한 프로그램 코드를 실행함으로써, VPC 네트워크, 서브넷, 방화벽을 생성할 수 있다.
다음으로, 머신 구축 단계에서, 마이그레이션 제어 시스템(600)은 image, flavor 등의 인스턴스 타입을 Packer 스크립트의 "builders" 부분에 채워 넣는다.
다음으로, 소프트웨어 설치 및 설정 단계에서, 마이그레이션 제어 시스템(600)은 플랫폼 소프트웨어를 설치하는 Ansible 스크립트를 생성하여, 도 9와 같이 Packer 스크립트의 Provisioner 부분에 채워 넣을 수 있다.
또한 마이그레이션 제어 시스템(600)은 유저 소프트웨어를 설치하는 Ansible 스크립트를 생성하여 Packer 스크립트의 Provisioner 부분에 채워 넣을 수 있다.
마지막으로 마이그레이션 제어 시스템(600)은 Packer 스크립트를 실행하여 이미지를 생성하고, Libcloud API를 이용하여 소스머신의 리소스 인스턴스(타겟머신)를 제2 클라우드(620)에 생성할 수 있다. 상기 과정은 마이그레이션 하려는 가상머신(VM1, VM2) 마다 반복될 수 있다.
이하, 도 10에서는 본 발명의 실시예들에 따른 마이그레이션 제어 시스템(100)의 작업 흐름을 상세히 설명한다.
도 10은 본 발명의 일실시예에 따른 마이그레이션 제어 방법의 순서를 도시한 흐름도이다.
본 실시예에 따른 마이그레이션 제어 방법은 상술한 마이그레이션 제어 시스템(100)에 의해 수행될 수 있다.
도 10을 참조하면, 단계(1010)에서, 마이그레이션 제어 시스템(100)은, 클라우드 간 마이그레이션 실행 명령이 입력되는지 확인한다.
클라우드 간 마이그레이션 실행 명령이 입력되는 경우, 단계(1020)에서, 마이그레이션 제어 시스템(100)은, 제1 클라우드 내 이동 대상으로 지정되는 리소스에 대해 수집되는 자원 정보에 기초하여, 상기 리소스에 대한 인스턴스 타입을 결정한다.
상기 리소스는, 물리머신 또는 가상머신을 포함한 컴퓨팅 자원과, 상기 컴퓨팅 자원 상에서 실행되는 어플리케이션 및 데이터 중 적어도 하나를 포함할 수 있다.
마이그레이션 제어 시스템(100)은 설정 관리 도구(예, 'ANSIBLE')의 실행에 의해, 상기 리소스 중 가상머신의 사양과 관련된 머신 스펙 정보와, 상기 가상머신 상에 설치된 어플리케이션의 리스트와 버전 및 저장소값 중 적어도 하나의 설치 정보를, 리소스로부터 수집할 수 있다. 상기 설치 정보에는 데이터의 경로와 리스트가 더 포함될 수 있다.
마이그레이션 제어 시스템(100)은 CPU 코어 수와 메모리 사이즈에 따라 4종류의 인스턴스 타입(flavor)을 마련해 두고, 마이그레이션 할 가상머신으로부터 수집한 자원 정보에 기초하여, 가상머신의 인스턴스 타입을 결정할 수 있다.
예를 들어, 마이그레이션 제어 시스템(100)은 CPU 코어 수가 2500을 초과하거나 메모리 사이즈가 3750을 초과하는 가상머신의 인스턴스 타입(flavor)을, 'n1-standard-2'로서 결정할 수 있다.
단계(1030)에서, 마이그레이션 제어 시스템(100)은, 제1 클라우드와 연결된 게이트웨이 장치로부터 수집한 네트워크 정보에 따라, 이동 목적지의 제2 클라우드에 네트워크를 설정한다.
예를 들어, 마이그레이션 제어 시스템(100)은, 제1 클라우드에서 VPC 게이트웨이 장치와 연결되어 있는 경우, 상기 VPC 게이트웨이 장치로부터 수집한 게이트웨이 IP 정보를 기초로, 제2 클라우드에, VPC 네트워크를 설정할 수 있다.
또한 마이그레이션 제어 시스템(100)은, 사용자 단말로부터 상기 리소스를 구성하는 가상머신의 IP 주소, 가상머신이 속한 서브넷의 IP 대역 및 방화벽 접근 제어 규칙 중 적어도 하나의 네트워크 정보에 기초하여, 제2 클라우드에 서브넷과 방화벽을 설정할 수 있다.
실시예에 따라, 마이그레이션 제어 시스템(100)은, 프라이빗 네트워크로 연결된 제1 클라우드 상의 가상머신을, 퍼블릭 클라우드인 제2 클라우드로 마이그레이션 시, 마이그레이션 하지 않는 다른 가상머신이 제1 클라우드 상에 남아 있을 경우에, 제1 클라우드(101)와 제2 클라우드(102) 사이를 VPN 터널링을 통해 내부망으로 연결하여, 하이브리드 클라우드로 운영되도록 할 수 있다.
단계(1040)에서, 마이그레이션 제어 시스템(100)은, 네트워크 설정에 따라, 제2 클라우드 내에 상기 인스턴스 타입에 상응하는 리소스 인스턴스를 생성하여, 상기 리소스를 제2 클라우드로 마이그레이션 한다.
일례로 마이그레이션 제어 시스템(100)은 가상머신을 생성하기 위해 필요한 여러 타입의 기본 이미지들을 제2 클라우드 상에 미리 마련해두고, 기본 이미지들 중에서, 상기 제1 인스턴스 타입('n1-standard-2')과 가장 유사한 기본 이미지를 식별할 수 있다.
마이그레이션 제어 시스템(100)은 상기 식별한 기본 이미지로부터 얻어진 스크립트에서, CPU 정보, 메모리 정보 및 OS 정보 중 적어도 하나를, 상기 제1 인스턴스 타입 내의 CPU 코어 수, 클록 수, 메모리 사이즈 등에 맞춰 세부 변경하여 제1 스크립트를 작성하고, 상기 제1 스크립트의 컴파일에 의해, 상기 가상머신의 리소스 인스턴스(즉 타겟 머신)를 생성할 수 있다.
이처럼 마이그레이션 제어 시스템(100)은, 이동 목적지의 제2 클라우드에 이미 마련되어 있는 기본 이미지 위에, 마이그레이션 할 가상머신의 정보에 따라 간단히 세팅하는 것 만으로, 제1 클라우드의 가상머신을 제2 클라우드로 손쉽게 이동할 수 있다.
따라서, 본 발명에 의해서는, 제1 클라우드 상의 가상머신을 복제해서 제2 클라우드로 이동하는 종래 기술에 비해, 이미지 추출 시간과 추출한 이미지를 이동 목적지로 업로드하는 시간을 생략하여, 빠르고 편리하게 가상머신의 마이그레이션을 실행할 수 있게 된다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
100: 마이그레이션 제어 시스템
110: 분석부
120: 설정부
130: 처리부
140: 수집부
101: 제1 클라우드
102: 제2 클라우드

Claims (16)

  1. 마이그레이션 제어 시스템에 의해 구현되는 마이그레이션 제어 방법에 있어서,
    클라우드 간 마이그레이션 실행 명령이 입력되면,
    상기 마이그레이션 제어 시스템 내 수집부에서, 제1 클라우드 내 이동 대상으로 지정되는 리소스를 구성하는 가상머신의 사양과 관련된 머신 스펙 정보를, 설정 관리 도구의 실행에 의해, 상기 리소스로부터 수집하는 단계;
    상기 마이그레이션 제어 시스템 내 분석부에서, 수집되는 머신 스펙 정보에 기초하여, 상기 리소스에 대한 인스턴스 타입을 결정하는 단계;
    상기 마이그레이션 제어 시스템 내 설정부에서, 상기 제1 클라우드와 연결된 게이트웨이 장치로부터 수집한 네트워크 정보에 따라, 이동 목적지의 제2 클라우드에 네트워크를 설정하는 단계; 및
    상기 마이그레이션 제어 시스템 내 처리부에서, 상기 네트워크 설정에 따라, 상기 제2 클라우드 내에, 상기 인스턴스 타입에 상응하는 리소스 인스턴스를 생성하는 것에 의해, 상기 제1 클라우드 상의 상기 리소스를, 상기 제2 클라우드 내로 마이그레이션하는 단계
    를 포함하고,
    상기 인스턴스 타입을 결정하는 단계는,
    CPU 정보, 메모리 정보 및 OS 정보 중 적어도 하나에 따라 마련되는 복수의 인스턴스 타입 중에서, 상기 머신 스펙 정보에 상응하는 제1 인스턴스 타입을, 상기 리소스에 대한 인스턴스 타입으로 결정하는 단계
    를 포함하고,
    상기 마이그레이션하는 단계는,
    이미지 생성 도구의 실행에 의해, 상기 제2 클라우드에 마이그레이션 할 가상머신에 관한 기본 이미지로부터 얻어진 스크립트에, 상기 제1 인스턴스 타입에 관해 마련된 코드를 포함시키는 단계; 및
    상기 코드가 포함된 제1 스크립트의 컴파일에 따라, 상기 가상머신에 상응하는 리소스 인스턴스를 상기 제2 클라우드에 생성하는 단계
    를 포함하는 마이그레이션 제어 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 마이그레이션하는 단계는,
    상기 이미지 생성 도구의 실행에 의해, 상기 기본 이미지를, 상기 제1 인스턴스 타입에 상응하는 이미지로 변경하여, 상기 변경한 이미지를 이용해, 상기 리소스 인스턴스를 생성하는 단계
    를 더 포함하는 마이그레이션 제어 방법.
  4. 제3항에 있어서,
    상기 마이그레이션하는 단계는,
    상기 제2 클라우드에 마이그레이션 할 가상머신에 관한 기본 이미지들 중, 상기 제1 인스턴스 타입과 가장 유사한 기본 이미지를 식별하는 단계; 및
    상기 기본 이미지로부터 얻어진 스크립트 내 CPU 정보, 메모리 정보 및 OS 정보 중 적어도 하나를, 상기 제1 인스턴스 타입에 맞춰 세부 변경한 제1 스크립트의 컴파일에 의해, 상기 리소스 인스턴스를 생성하는 단계
    를 더 포함하는 마이그레이션 제어 방법.
  5. 삭제
  6. 제1항에 있어서,
    상기 마이그레이션 제어 방법은,
    상기 수집부에서, 상기 머신 스펙 정보의 수집 시, 상기 설정 관리 도구의 실행에 의해, 마이그레이션 할 가상머신 상에 설치된 어플리케이션의 리스트와 버전 및 저장소값 중 적어도 하나의 설치 정보를 더 수집하는 단계
    를 더 포함하고,
    상기 마이그레이션하는 단계는,
    상기 이미지 생성 도구의 실행에 의해, 상기 설치 정보에 기초하여 생성한 코드를 상기 제1 스크립트 내에 포함시켜, 제2 스크립트를 작성하는 단계; 및
    상기 제2 스크립트의 컴파일에 따라, 상기 어플리케이션을 상기 리소스 인스턴스에 설치하는 것에 의해, 상기 제1 클라우드 상의 상기 리소스를, 상기 제2 클라우드 내로 마이그레이션하는 단계
    를 더 포함하는 마이그레이션 제어 방법.
  7. 제6항에 있어서,
    상기 설정 관리 도구의 실행에 의해, 마이그레이션 할 가상머신이 보유하는 데이터의 리스트와 저장경로를 더 포함하여 상기 설치 정보가 수집되는 경우,
    상기 마이그레이션하는 단계는,
    상기 이미지 생성 도구의 실행에 의해, 상기 설치 정보에 기초하여 생성한 코드를, 상기 제2 스크립트 내에 포함시켜, 제3 스크립트를 작성하는 단계; 및
    상기 제3 스크립트의 컴파일에 따라, 상기 데이터를 상기 제2 클라우드로 이동하는 것에 의해, 상기 제1 클라우드 상의 상기 리소스를, 상기 제2 클라우드 내로 마이그레이션하는 단계
    를 더 포함하는 마이그레이션 제어 방법.
  8. 제1항에 있어서,
    상기 네트워크를 설정하는 단계는,
    상기 설정 관리 도구의 실행에 의해, 상기 게이트웨이 장치로부터 수집되는 게이트웨이 IP 주소를 이용하여, 상기 제2 클라우드와 상기 게이트웨이 장치 간 네트워크를 설정하는 단계; 및
    사용자 단말로부터 상기 리소스를 구성하는 가상머신의 IP 주소, 가상머신이 속한 서브넷의 IP 대역 및 방화벽 접근 제어 규칙 중 적어도 하나의 상기 네트워크 정보가 입력될 경우,
    클라우드 API의 실행에 의해, 상기 네트워크 정보를 이용하여, 상기 제2 클라우드 내에 서브넷과 방화벽을 설정하는 단계
    를 포함하는 마이그레이션 제어 방법.
  9. 제8항에 있어서,
    상기 제1 클라우드에서 VPC 게이트웨이 장치와 연결되어 있는 경우,
    상기 제2 클라우드와 상기 게이트웨이 장치 간 네트워크를 설정하는 단계는,
    상기 VPC 게이트웨이 장치로부터 수집한 게이트웨이 IP 정보를 기초로, 상기 제2 클라우드에, VPC(Virtual Private Cloud) 네트워크를 설정하는 단계
    를 포함하는 마이그레이션 제어 방법.
  10. 제9항에 있어서,
    상기 제2 클라우드와 상기 게이트웨이 장치 간 네트워크를 설정하는 단계는,
    상기 제1 클라우드와 연결되는 VPN(Virtual Private Network) 게이트웨이 장치로부터 수집한 게이트웨이 IP 정보를 이용해, 상기 제2 클라우드에 VPN 게이트웨이를 생성하는 단계; 및
    상기 VPN 게이트웨이 장치와, 상기 제2 클라우드 상의 VPN 게이트웨이를 연결하여, 상기 제1 클라우드와 상기 제2 클라우드 간 VPN 터널링을 설정하는 단계
    를 더 포함하는 마이그레이션 제어 방법.
  11. 제1항에 있어서,
    상기 수집하는 단계 전에,
    상기 분석부에서, 상기 제1 클라우드 내의 리소스 중, 선정된 마이그레이션 실행 조건을 만족하는 적어도 일부의 리소스를 상기 이동 대상으로 지정하는 단계
    를 더 포함하고,
    상기 마이그레이션하는 단계는,
    상기 이동 대상이 만족하는 실행 조건에 따라, 상기 이동 목적지로 지정되는 상기 제2 클라우드에 상기 리소스 인스턴스를 생성하여, 상기 제1 클라우드 상의 일부의 리소스를 상기 제2 클라우드로 마이그레이션 하는 단계
    를 포함하는 마이그레이션 제어 방법.
  12. 클라우드 간 마이그레이션 실행 명령이 입력되면,
    제1 클라우드 내 이동 대상으로 지정되는 리소스를 구성하는 가상머신의 사양과 관련된 머신 스펙 정보를, 설정 관리 도구의 실행에 의해, 상기 리소스로부터 수집하는 수집부;
    수집되는 머신 스펙 정보에 기초하여, 상기 리소스에 대한 인스턴스 타입을 결정하는 분석부;
    상기 제1 클라우드와 연결된 게이트웨이 장치로부터 수집한 네트워크 정보에 따라, 이동 목적지의 제2 클라우드에 네트워크를 설정하는 설정부; 및
    상기 네트워크 설정에 따라, 상기 제2 클라우드 내에, 상기 인스턴스 타입에 상응하는 리소스 인스턴스를 생성하는 것에 의해, 상기 제1 클라우드 상의 상기 리소스를, 상기 제2 클라우드 내로 마이그레이션하는 처리부
    를 포함하고,
    상기 분석부는,
    CPU 정보, 메모리 정보 및 OS 정보 중 적어도 하나에 따라 마련되는 복수의 인스턴스 타입 중에서, 상기 머신 스펙 정보에 상응하는 제1 인스턴스 타입을, 상기 리소스에 대한 인스턴스 타입으로 결정하고,
    상기 처리부는,
    이미지 생성 도구의 실행에 의해, 상기 제2 클라우드에 마이그레이션 할 가상머신에 관한 기본 이미지로부터 얻어진 스크립트에, 상기 제1 인스턴스 타입에 관해 마련된 코드를 포함시키고,
    상기 코드가 포함된 제1 스크립트의 컴파일에 따라, 마이그레이션 할 가상머신에 상응하는 리소스 인스턴스를 상기 제2 클라우드에 생성하는
    마이그레이션 제어 시스템.
  13. 삭제
  14. 삭제
  15. 제12항에 있어서,
    상기 수집부는,
    상기 머신 스펙 정보의 수집 시, 상기 설정 관리 도구의 실행에 의해, 마이그레이션 할 가상머신 상에 설치된 어플리케이션의 리스트와 버전 및 저장소값 중 적어도 하나의 설치 정보를 더 수집하고,
    상기 처리부는,
    상기 이미지 생성 도구의 실행에 의해, 상기 설치 정보에 기초하여 생성한 코드를 상기 제1 스크립트 내에 포함시켜, 제2 스크립트를 작성하고,
    상기 제2 스크립트의 컴파일에 따라, 상기 어플리케이션을 상기 리소스 인스턴스에 설치하는 것에 의해, 상기 제1 클라우드 상의 상기 리소스를, 상기 제2 클라우드 내로 마이그레이션하는
    마이그레이션 제어 시스템.
  16. 제15항에 있어서,
    상기 설정 관리 도구의 실행에 의해, 마이그레이션 할 가상머신이 보유하는 데이터의 리스트와 저장경로를 더 포함하여 상기 설치 정보가 수집되는 경우,
    상기 처리부는,
    상기 이미지 생성 도구의 실행에 의해, 상기 설치 정보에 기초하여 생성한 코드를, 상기 제2 스크립트 내에 포함시켜, 제3 스크립트를 작성하고,
    상기 제3 스크립트의 컴파일에 따라, 상기 데이터를 상기 제2 클라우드로 이동하는 것에 의해, 상기 제1 클라우드 상의 상기 리소스를, 상기 제2 클라우드 내로 마이그레이션하는
    마이그레이션 제어 시스템.
KR1020190066625A 2019-06-05 2019-06-05 마이그레이션 제어 방법 및 마이그레이션 제어 시스템 KR102183786B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190066625A KR102183786B1 (ko) 2019-06-05 2019-06-05 마이그레이션 제어 방법 및 마이그레이션 제어 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190066625A KR102183786B1 (ko) 2019-06-05 2019-06-05 마이그레이션 제어 방법 및 마이그레이션 제어 시스템

Publications (1)

Publication Number Publication Date
KR102183786B1 true KR102183786B1 (ko) 2020-11-27

Family

ID=73641656

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190066625A KR102183786B1 (ko) 2019-06-05 2019-06-05 마이그레이션 제어 방법 및 마이그레이션 제어 시스템

Country Status (1)

Country Link
KR (1) KR102183786B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115334142A (zh) * 2022-08-05 2022-11-11 阿里云计算有限公司 设备信息采集方法、设备迁移方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120072241A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 클라우드 컴퓨팅 환경에서의 클라우드 간 개인 가상 머신 이동 시스템 및 그 방법
KR20150131817A (ko) * 2014-05-16 2015-11-25 한국전자통신연구원 네트워크에서 가상 머신의 이동 방법 및 그 장치
JP6365306B2 (ja) * 2012-11-21 2018-08-01 日本電気株式会社 クラウド環境提供システム、サービス管理装置、経路制御方法及びプログラム
KR101911007B1 (ko) * 2014-09-23 2018-12-19 아마존 테크놀로지스, 인크. 가상 데스크탑 마이그레이션

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120072241A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 클라우드 컴퓨팅 환경에서의 클라우드 간 개인 가상 머신 이동 시스템 및 그 방법
JP6365306B2 (ja) * 2012-11-21 2018-08-01 日本電気株式会社 クラウド環境提供システム、サービス管理装置、経路制御方法及びプログラム
KR20150131817A (ko) * 2014-05-16 2015-11-25 한국전자통신연구원 네트워크에서 가상 머신의 이동 방법 및 그 장치
KR101911007B1 (ko) * 2014-09-23 2018-12-19 아마존 테크놀로지스, 인크. 가상 데스크탑 마이그레이션

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115334142A (zh) * 2022-08-05 2022-11-11 阿里云计算有限公司 设备信息采集方法、设备迁移方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
US10761873B2 (en) Evaluating distributed application performance in a new environment
US8429645B2 (en) Method for optimizing migration of software applications to address needs
US9916147B2 (en) Deployment of a tool for testing migrated applications
US20190356631A1 (en) Using network configuration analysis to improve server grouping in migration
US20120072903A1 (en) Multi-image migration system and method
CN104765620A (zh) 一种程序模块部署的方法和系统
CN110908859B (zh) 应用服务处理方法、装置、终端及存储介质
CN112631614B (zh) 应用部署方法、装置、计算机设备和存储介质
JP2015506008A (ja) テスト・サーバに関するプロダクション・サーバ・ロード・アクティビティの生成のための方法、コンピュータ・プログラム、およびシステム
US8990387B2 (en) Automatic completeness checks of network device infrastructure configurations during enterprise information technology transformation
CN104461693A (zh) 一种桌面云计算环境下的虚拟机更新方法和系统
CN108920174A (zh) 在多主机上部署和配置容器引擎的运行环境的方法与装置
CN110413594A (zh) 一种Redis多实例压力测试方法和装置
Li et al. Microservice migration using strangler fig pattern: A case study on the green button system
KR102183786B1 (ko) 마이그레이션 제어 방법 및 마이그레이션 제어 시스템
CN112711397A (zh) 一种基于微服务和顶层设计的建立系统的方法及系统
TW202037132A (zh) Ict資源管理裝置、ict資源管理方法以及ict資源管理程式
CN114157654B (zh) 一种集成电路协同设计系统和方法
JP2022028932A (ja) ネットワーク構築装置、ネットワーク構築方法、及びプログラム
KR20180107983A (ko) 가상화 플랫폼 생성 및 실행 장치 및 그 방법
JP5002975B2 (ja) プログラム開発支援システム
US20130262845A1 (en) Method and system for generating a standardized system build file
CN106802805B (zh) 一种适用服务器管理的应用服务管理方法及装置
CN113328880A (zh) 分布式集群系统的部署方法、系统、介质和装置
WO2022196629A1 (ja) 管理装置、通信システム、管理方法、及び非一時的なコンピュータ可読媒体

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant