인스턴스 그룹

인스턴스 그룹은 단일 항목으로 관리할 수 있는 가상 머신(VM) 인스턴스의 모음입니다.

Compute Engine은 관리형 및 비관리형이라는 두 가지 VM 인스턴스 그룹을 제공합니다.

  • 관리형 인스턴스 그룹(MIG)을 사용하면 동일한 여러 VM에서 앱을 운영할 수 있습니다. 자동 확장, 자동 복구, 리전(멀티 영역) 배포, 자동 업데이트 등의 자동화된 MIG 서비스를 활용하여 워크로드의 확장성 및 가용성을 높일 수 있습니다.
  • 비관리형 인스턴스 그룹을 사용하면 직접 관리하는 여러 VM에서 부하 분산을 수행할 수 있습니다.

관리형 인스턴스 그룹(MIG)

관리형 인스턴스 그룹(MIG)은 다음 상황에 적합합니다.

  • 스테이트리스(stateless) 제공 워크로드(예: 웹사이트 프런트엔드)
  • 스테이트리스(Stateless) 일괄 처리, 고성능 또는 고처리량 컴퓨팅 워크로드(예: 큐에서 이미지 처리)
  • 스테이트풀(Stateful) 애플리케이션(예: 데이터베이스, 기존 애플리케이션, 체크포인트를 수행하는 장기 실행 일괄 계산)

MIG의 각 관리형 인스턴스인스턴스 템플릿에서 생성됩니다.

MIG를 만드는 방법에 대한 자세한 내용은 관리형 인스턴스 그룹 만들기를 참조하세요.

이점

MIG는 다음과 같은 이점을 제공합니다.

  • 고가용성
    • VM 인스턴스 실행 유지. 그룹의 VM이 중지되거나, 비정상 종료되거나 또는 인스턴스 그룹 관리 명령어 이외의 작업(예: 의도적인 수평 축소)으로 삭제되면 MIG는 VM이 작업을 다시 시작할 수 있도록 원래 인스턴스 사양(동일한 VM 이름, 동일한 템플릿)에 따라 VM을 자동으로 다시 만듭니다.
    • 애플리케이션 기반 자동 복구. 애플리케이션 기반의 상태 확인을 사용하는 자동 복구 정책을 설정할 수도 있습니다. 이 상태 확인은 앱이 MIG의 각 인스턴스에서 예상대로 응답하는지를 주기적으로 확인합니다. VM에서 앱이 응답하지 않으면 이 VM이 자동으로 다시 생성됩니다. 단순히 VM이 실행 중인지 확인하는 것보다 앱이 응답하는지 확인하는 것이 더 정확합니다.
    • 리전(멀티 영역) 노출 범위. 리전 MIG를 사용하면 앱 부하를 여러 영역에 분산할 수 있습니다. 이러한 복제 기능은 영역 장애가 발생하지 않도록 방지합니다. 영역 장애가 발생하더라도 앱은 동일한 리전의 사용 가능한 나머지 영역에서 실행 중인 인스턴스의 트래픽을 계속 처리할 수 있습니다.
    • 부하 분산. MIG는 부하 분산 서비스와 함께 작동하여 그룹의 모든 인스턴스에 트래픽을 분산합니다.
  • 확장성. 앱이 추가 컴퓨팅 리소스를 필요로 하는 경우, 자동 확장된 MIG가 그룹의 인스턴스 수를 자동으로 늘려서 요구사항을 충족합니다. 요구사항이 감소하면 자동 확장된 MIG가 비용 절감을 위해 자동으로 축소됩니다.
  • 자동 업데이트. MIG 자동 업데이트 프로그램을 사용하면 새로운 버전의 소프트웨어를 MIG의 인스턴스에 안전하게 배포할 수 있으므로 순차적 업데이트 및 카나리아 업데이트와 같은 가변형 출시를 지원합니다. 배포 속도와 범위는 물론 서비스 중단 수준을 제어할 수 있습니다.
  • 스테이트풀(Stateful) 워크로드 지원 MIG를 사용하면 스테이트풀(Stateful) 데이터 또는 구성을 사용하는 애플리케이션(예: 데이터베이스, DNS 서버, 기존 모놀리식 애플리케이션, 체크포인트를 수행하는 장기 실행 일괄 계산)의 가용성이 높은 배포를 빌드하고 작업을 자동화할 수 있습니다. 스테이트풀(Stateful) MIG는 머신 다시 시작, 다시 만들기, 자동 복구 또는 업데이트 시 각 인스턴스의 고유 상태(인스턴스 이름, 연결된 영구 디스크, 메타데이터)를 보존합니다.
관리형 인스턴스 그룹을 사용하여 스테이트리스(Stateless) 제공 워크로드, 스테이트풀(Stateful) 애플리케이션 워크로드 또는 일괄 워크로드를 위한 고가용성 배포를 빌드합니다.
MIG 기능과 일반적인 워크로드의 개요

자동 복구

관리형 인스턴스 그룹은 사전에 인스턴스를 사용할 수 있도록, 즉 RUNNING 상태로 유지하여 애플리케이션의 고가용성을 보장합니다. MIG는 RUNNING 상태가 아닌 인스턴스를 자동으로 다시 만듭니다. 하지만 VM 상태를 사용하는 것만으로는 부족할 수 있습니다. 애플리케이션이 중단 또는 다운되거나 메모리가 부족하면 인스턴스를 다시 만들어야 할 수도 있습니다.

애플리케이션 기반 자동 복구는 중지, 비정상 종료 또는 과부하와 같은 애플리케이션 문제를 감지하는 상태 확인 신호를 사용하여 애플리케이션 가용성을 향상시킵니다. 상태 확인을 통해 VM에서 애플리케이션에 장애가 발생했음이 확인되면 그룹에서 VM 인스턴스를 자동으로 다시 만듭니다.

상태 확인

MIG를 모니터링하는 데 사용되는 상태 확인은 몇 가지 동작 차이를 제외하고 부하 분산에 사용되는 상태 확인과 비슷합니다. 부하 분산 상태 확인은 트래픽을 무응답 인스턴스가 아닌 정상 인스턴스로 보내므로 Compute Engine에서 인스턴스를 다시 만들 필요가 없습니다. 반면에 관리형 인스턴스 그룹 상태 확인UNHEALTHY 상태가 된 인스턴스를 삭제한 후 다시 만들도록 신호를 보냅니다.

대부분의 시나리오에서 부하 분산과 자동 복구에 별도의 상태 확인을 사용합니다. 부하 분산 상태 확인은 인스턴스가 사용자 트래픽을 수신하는지 여부를 확인하므로 상태 확인을 더 엄격하게 설정할 수 있으며 엄격해야 합니다. 고객이 서비스를 사용할 수 있으므로 필요한 경우 트래픽을 리디렉션할 수 있도록 무응답 인스턴스를 신속하게 파악해야 합니다. 반면, 자동 복구 상태 확인을 사용하면 MIG가 사전에 장애가 발생한 인스턴스를 교체하므로 이 상태 확인은 부하 분산 상태 확인보다 보수적이어야 합니다.

자세한 내용은 MIG에 상태 확인 및 자동 복구 설정을 참조하세요.

리전 또는 영역 그룹

다음 두 가지 유형의 MIG를 만들 수 있습니다.

  • 인스턴스를 단일 영역에 배포하는 영역 MIG
  • 동일한 리전의 여러 영역에 인스턴스를 배포하는 리전 MIG

두 유형 모두 MIG의 모든 이점을 제공합니다. 리전 MIG는 애플리케이션 부하를 여러 영역에 분산시켜 가용성을 높이므로 워크로드가 영역 장애로부터 보호되고 리전 MIG는 리전 그룹당 최대 2,000개의 인스턴스로 더 많은 용량을 제공합니다.

부하 분산

Google Cloud 부하 분산은 인스턴스 그룹을 사용하여 트래픽을 처리할 수 있습니다. 선택한 부하 분산기의 유형에 따라 인스턴스 그룹을 대상 풀 또는 백엔드 서비스에 추가할 수 있습니다.

자세한 내용은 부하 분산기에 인스턴스 그룹 추가를 참조하세요.

자동 확장

MIG는 부하 증가 또는 감소에 따라 MIG에서 동적으로 인스턴스를 추가 또는 삭제하는 자동 확장을 지원합니다. 자동 확장을 사용 설정하고 그룹 확장 방법을 지정하는 자동 확장 정책을 구성합니다. 자동 확장 정책에는 CPU 사용률, 부하 분산 용량, Cloud Monitoring 측정항목을 기반으로 하는 확장이나 영역 MIG의 경우 Pub/Sub와 같은 큐 기반 워크로드를 사용하는 확장이 있습니다.

자세한 내용은 인스턴스 그룹 자동 확장을 참조하세요.

자동 업데이트

새로운 버전의 소프트웨어를 MIG의 인스턴스에 쉽고 안전하게 배포할 수 있습니다. 업데이트 출시는 사양에 따라 자동으로 수행됩니다. 애플리케이션 중단을 최소화하기 위해 업데이트 출시의 속도와 범위를 제어할 수 있습니다. 카나리아 테스트를 허용하는 부분 출시를 선택적으로 수행할 수 있습니다.

MIG 업데이트를 참조하세요.

스테이트풀(Stateful) 워크로드 지원

스테이트풀(Stateful) 관리형 인스턴스 그룹(스테이트풀(Stateful) MIG)을 사용하여 VM에 스테이트풀(Stateful) 워크로드의 가용성이 높은 배포를 빌드할 수 있습니다. 스테이트풀(Stateful) 워크로드에는 데이터베이스, 기존 모놀리식 애플리케이션, 체크포인트를 수행하는 장기 실행 일괄 컴퓨팅과 같은 스테이트풀(Stateful) 데이터 또는 구성을 사용하는 애플리케이션이 포함됩니다.

맞춤설정 가능한 인스턴스 이름, 영구 디스크, 메타데이터를 비롯한 각 인스턴스의 고유 상태를 보존하면서 자동 복구, 관리형 업데이트, 멀티 영역 배포를 통해 애플리케이션의 업타임과 복원력을 향상시킬 수 있습니다.

자세한 내용은 스테이트풀(Stateful) MIG를 참조하세요.

선점형 인스턴스 그룹

실행 속도보다 최소 비용이 중요한 워크로드의 경우 인스턴스 그룹에서 선점형 VM 인스턴스를 사용하여 워크로드 비용을 절감할 수 있습니다. 선점형 인스턴스는 최대 24시간 동안 지속되며 정상적으로 선점됩니다. 애플리케이션을 올바르게 종료하는 데 30초가 걸립니다. 언제든지 선점형 인스턴스를 삭제할 수 있지만 선점 가능한 용량을 다시 사용할 수 있게 되면 자동 복구를 통해 인스턴스가 복구됩니다.

컨테이너

관리형 인스턴스 그룹의 인스턴스에 컨테이너를 배포하여 애플리케이션 배포를 간소화할 수 있습니다. 인스턴스 템플릿에서 컨테이너 이미지를 지정한 후 이 템플릿을 사용하여 관리형 인스턴스 그룹을 만들면 각 VM은 Docker가 포함된 container-optimized OS로 생성되고 컨테이너는 그룹의 각 VM에서 자동으로 시작됩니다. VM 및 MIG에 컨테이너 배포를 참조하세요.

네트워크 및 서브넷

관리형 인스턴스 그룹을 만들 때는 기존 인스턴스 템플릿을 참조해야 합니다. 인스턴스 템플릿은 구성원 인스턴스가 사용하는 VPC 네트워크와 서브넷을 정의합니다. 자동 모드 VPC 네트워크의 경우 서브넷을 생략할 수 있습니다. 이러한 경우 Google Cloud는 템플릿에 지정된 리전에서 자동으로 생성된 서브넷을 선택합니다. VPC 네트워크를 생략하면 Google Cloud가 default라는 VPC 네트워크를 사용합니다.

자세한 내용은 네트워크 및 서브넷을 참조하세요.

MIG 기능 데모

Google Cloud NEXT '18에서 녹화된 다음 동영상 프레젠테이션(45분)에는 Compute Engine MIG를 사용하여 가용성이 높고 확장 가능한 배포를 설정, 실행, 업데이트하는 데모와 관련 권장사항이 포함되어 있습니다.

이 동영상에서는 MIG에 컨테이너를 배포하고, 자동 복구 정책을 설정하고, 영역 장애를 방지하기 위해 리전 그룹을 사용하고, CPU 목표와 큐 기반 요구사항을 충족하도록 자동 확장을 구성하고, 카나리아 및 순차적 업데이트를 관리하는 방법을 설명합니다.

비관리형 인스턴스 그룹

비관리형 인스턴스 그룹에는 그룹에서 임의로 추가하거나 제거할 수 있는 이종 인스턴스가 포함될 수 있습니다. 비관리형 인스턴스 그룹은 자동 확장, 자동 복구, 순차적 업데이트 지원, 멀티 영역 지원 또는 인스턴스 템플릿 사용을 제공하지 않으므로 가용성이 높고 확장 가능한 워크로드를 배포하는 데는 적합하지 않습니다. 이종 인스턴스 그룹에 부하 분산을 적용해야 하거나 인스턴스를 직접 관리해야 하는 경우에는 비관리형 인스턴스 그룹을 사용합니다.

비관리형 인스턴스 그룹을 만들어야 할 경우 비관리형 인스턴스 그룹을 참조하세요.

다음 단계