티스토리 뷰

개발/Cloud (GCP)

GCP 인스턴스 그룹

Jaeyeon Baek 2019.09.27 23:39

GCP( Google Cloud Platform )에는 두 가지 타입의 인스턴스 그룹이 있습니다. 이번 글에서는 아래 두 가지 인스턴스 그룹에 대해서 이야기해보도록 하겠습니다.

 

- New managed instances group ( MIG )
- New unmanaged instances group

 

GCP 콘솔에서 인스턴스 그룹 메뉴의 위치는 Compute Engine에 VM instances 바로 밑에 있습니다.

Instance groups

 

여기서 Create instance group를 선택하면 아래와 같이 인스턴스 그룹을 생성하는 화면이 나옵니다.

New managed instance group

 

인스턴스 그룹이 필요한 이유는 AWS와 마찬가지로 이종의 인스턴스 간 부하분산이 주된 이유가 될 텐데요. 일단 MIG( Managed Instances Group )에 대해서 살펴보도록 합니다.

 

# New managed instances group ( MIG )

개념적으로 Google Cloud위에 MIG는 다양한 역할을 수행하는데 핵심적으로 정리하면 아래 그림으로 요약할 수 있습니다.

https://cloud.google.com/compute/images/mig-overview.svg

 

핵심적인 키워드를 보면 Load balancing이 High availability, Scalability를 가능하게 만들어주고 있어서 하위에 Autohealing, Regional, Autoscaling을 지원합니다. 각각 살펴보면 Autohealing은 인스턴스를 RUNNING 상태로 유지하고 애플리케이션의 고가용성을 보장합니다.  Regional은 single-zone, multi-zone을 지원하는데 single-zone은 리전 그룹당 최대 2,000개의 인스턴스를 지원하며, multi-zone은 애플리케이션의 부하를 같은 리전 내에 다른 영역으로 분산 함으로써 높은 가용성을 제공합니다. Load balancing은 HTTP(S), TCP, UDP 세 가지 타입을 지원하며 Autoscaling은 조건에 따라 인스턴스를 scale-in/out 합니다. 

 

이런 것들을 가능하게 하려면 인스턴스 그룹을 생성할 때 인스턴스-템플릿을 등록해줘야 합니다. scale-out 시에 해당 템플릿을 기반으로 인스턴스가 생성되게 됩니다.

 

# New unmanaged instances group

비관리형 인스턴스 그룹은 MIG와 다르게 LB만 연동됩니다. 존재하는 인스턴스에 대해서 바로 LB를 연결할 수 있기 때문에 인스턴스 템플릿을 생성할 필요가 없습니다. 다만, 고가용성을 위해 인스턴스를 AutoScaling 처리하고 LB 밑에 두는 것이라고 생각하면 비관리형 인스턴스 그룹은 적합하지 않습니다. 반대로 scale-in/out 처리가 필요 없고 항상 특정 대수의 인스턴스가 RUNNING 상태에 머물러야 한다면, 즉 인스턴스를 직접 관리해줘야 하는 목적이 있을 때 사용할 수 있겠습니다. 쉽게 이야기하자면 haproxy로 LB를 사용하는 것과 같은 개념이 되겠습니다.

 

 

댓글
댓글쓰기 폼