리전 MIG 정보


리전의 여러 영역에 걸쳐 VM을 분산하는 관리형 인스턴스 그룹(MIG)리전 MIG라고 합니다. 또한 단일 영역으로 제한되는 MIG를 영역 MIG라고 합니다.

리전 MIG를 사용하여 MIG 기반 워크로드의 복원력을 높일 수 있습니다. 한 리전의 여러 영역에 걸쳐 워크로드를 분산하면 단일 영역의 모든 인스턴스가 실패하는 극한의 상황에서도 사용자를 보호할 수 있습니다.

이 문서에는 리전 MIG에 대한 개념 정보가 포함되어 있습니다.

리전 MIG를 만드는 방법은 여러 영역에 MIG 만들기를 참조하세요.

리전 관리형 인스턴스 그룹을 선택해야 하는 이유

다음과 같은 이유로 영역 MIG보다 리전 MIG를 사용하는 것이 좋습니다.

  • 리전 MIG를 사용하면 영역 MIG의 두 배인 최대 2,000개의 인스턴스를 관리할 수 있습니다. 더 필요한 경우 리전 MIG의 크기 한도를 4,000개로 늘릴 수 있습니다.
  • 리전 MIG를 사용하면 애플리케이션을 단일 영역으로 한정하거나 여러 영역에서 여러 영역 MIG를 관리하는 대신 애플리케이션 부하를 여러 영역에 분산할 수 있습니다.

여러 영역을 사용하면 단일 영역의 전체 인스턴스 그룹이 오작동하는 예상치 못한 시나리오와 영역 장애로부터 보호할 수 있습니다. 오작동이나 장애가 발생하는 경우에도 애플리케이션이 동일한 리전의 다른 영역에서 실행되는 인스턴스에서 트래픽을 계속 처리할 수 있습니다.

영역 장애가 발생하거나 영역의 인스턴스 그룹이 응답을 중지할 경우에도 리전 MIG는 다음과 같이 인스턴스를 계속 지원합니다.

  • 남은 영역의 리전 MIG에 속하는 인스턴스가 계속 트래픽을 처리합니다. 단, 새로운 인스턴스를 추가하거나 인스턴스를 다시 배포할 수 없습니다(자동 확장을 설정하지 않은 경우).

  • 장애 영역이 복구된 다음에는 MIG가 다시 해당 영역으로부터 트래픽 처리를 시작합니다.

강력하고 확장 가능한 애플리케이션용으로 설계할 때는 리전 MIG를 사용합니다.

리전 MIG에 대한 추가 구성 옵션

리전 MIG 만들기는 추가 옵션이 있다는 점을 제외하면 영역 MIG 만들기와 유사합니다.

  • 한 리전 내에서 인스턴스를 만들 영역을 선택할 수 있습니다.
  • 목표 분산 형태를 선택하여 선택한 영역에 인스턴스를 분산하는 방법을 결정할 수 있습니다.
  • 사전 인스턴스 재배포를 사용 중지하거나 다시 사용 설정할 수 있습니다. 그러면 그룹의 VM이 선택된 영역에 균일하게 분산됩니다.

이러한 옵션은 다음 섹션에서 설명합니다.

영역 선택

기본적으로 리전 MIG는 관리형 인스턴스를 3개 영역에 균등하게 분산합니다. 여러 가지 이유로 애플리케이션에 맞는 특정 영역을 선택해야 할 수 있습니다. 예를 들어 인스턴스에 GPU가 필요한 경우 GPU를 지원하는 영역만 선택하거나 특정 영역에서만 사용 가능한 기존 영구 디스크 또는 예약을 가질 수 있습니다.

영역 수를 선택하거나 그룹이 실행되는 특정 영역을 선택하려면 그룹을 처음 만들 때 선택해야 합니다. 그룹을 만들면서 특정 영역을 선택한 후에는 영역을 변경하거나 업데이트할 수 없습니다.

MIG에서 MIG 구성에 지정된 하드웨어를 지원하는 영역이 자동으로 사용되도록 하려면 MIG의 대상 분산 형태를 BALANCED, ANY 또는 ANY_SINGLE_ZONE으로 설정하고 리전의 모든 영역을 선택하면 됩니다. MIG는 리소스 가용성을 자동으로 확인하고 리소스가 있는 영역에서만 인스턴스를 예약합니다. 자세한 내용은 대상 분산 형태를 참조하세요.

  • 한 리전 내에서 4개 이상의 영역을 선택하려면 개별 영역을 명시적으로 지정해야 합니다. 예를 들어 한 리전 내에서 4개 영역을 모두 선택하려면 요청에 4개의 영역을 모두 명시적으로 지정해야 합니다. 그렇지 않으면 Compute Engine에서 기본적으로 3개의 영역을 선택합니다.

  • 한 리전에서 2개 이하의 영역을 선택하려면 개별 영역을 명시적으로 지정해야 합니다. 리전에 2개의 영역만 있는 경우에도 요청에 영역을 명시적으로 지정해야 합니다.

Google은 더 많은 영역에서 특수화된 하드웨어를 사용할 수 있도록 지원하여 인프라를 정기적으로 확장합니다. 리전 MIG는 주기적으로 하드웨어 가용성을 검사하고 필요한 머신을 지원하는 영역에서 인스턴스 예약을 자동으로 시작합니다. 특정 이유로 인해 일부 영역에서 인스턴스를 실행하지 않으려면 그룹을 만들 때 해당 영역을 선택하지 않으면 됩니다.

리전 MIG를 만들고 영역을 선택하는 방법은 리전 MIG 만들기를 참조하세요.

목표 분산 형태

기본적으로 리전 MIG는 관리형 인스턴스를 선택된 영역에 균등하게 분산합니다. 하지만 모든 영역에서 사용할 수 없는 하드웨어가 필요하거나 영역 예약 사용을 우선적으로 처리해야 하는 경우 다른 형태의 분산을 사용할 수 있습니다.

리전 MIG가 한 리전 내의 선택된 영역에 인스턴스를 분산하는 방법을 구성하려면 MIG의 대상 분산 형태를 설정합니다. 사용할 수 있는 옵션은 다음과 같습니다.

  • EVEN(균등, 기본값): 그룹에서 VM을 만들고 삭제하여 선택한 영역에서 동일한 수의 VM을 얻고 유지합니다. EVEN 분포에서 VM 수는 두 영역 간에 2개 이상 차이 나지 않습니다. 가용성이 높은 서빙 워크로드에 사용하는 것이 좋습니다.
  • BALANCED(균형): 그룹에서 리소스를 사용할 수 있는 영역에 VM을 만드는 데 우선순위를 두는 동시에, 선택한 영역에 VM을 최대한 균등하게 분산하여 영역 장애의 영향을 최소화합니. 가용성이 높은 서빙 또는 일괄 워크로드에 사용하는 것이 좋습니다.
  • ANY(무관): 그룹에서 VM 인스턴스를 만들어 현재 제한된 리소스 내에서 요청된 수의 VM을 처리하고 미사용 영역 예약의 사용률을 극대화하기 위한 영역을 선택합니다. 고가용성이 필요하지 않은 일괄 워크로드에 사용하는 것이 좋습니다.
  • ANY SINGLE ZONE(모든 단일 영역): 그룹에서 단일 영역 내에 모든 VM 인스턴스를 만듭니다. 영역은 하드웨어 지원, 현재 리소스 및 할당량 가용성, 일치하는 예약에 따라 선택됩니다. VM 간의 광범위한 통신이 필요한 워크로드에는 압축 인스턴스 배치 정책과 함께 사용하는 것이 좋습니다.

MIG를 만들 때 해당 형태를 BALANCED, ANY 또는 ANY_SINGLE_ZONE으로 설정하면 MIG의 구성에서 지정한 하드웨어가 지원되는 영역을 수동으로 확인할 필요가 없습니다. 한 리전의 모든 영역을 선택하고 해당 형태를 BALANCED, ANY 또는 ANY_SINGLE_ZONE으로 설정하면, 리전 MIG가 리소스 가용성을 확인하고 리소스가 있는 영역에서만 인스턴스를 예약합니다.

워크로드 요구사항과 필요한 MIG 기능에 따라 옵션을 선택합니다. 자세한 내용은 비교 표사용 사례를 참조하세요.

새 MIG 또는 기존 MIG의 목표 형태를 구성하는 방법은 여러 영역에 인스턴스를 분산하기 위한 정책 설정을 참조하세요.

사전 인스턴스 재배포

기본적으로 리전 MIG는 영역 수준 장애 발생 시 애플리케이션 가용성을 최대화하기 위해 리전의 여러 영역에 균일하게 분산된 인스턴스를 유지하려고 합니다.

그룹에서 인스턴스를 삭제하거나 폐기하여 영역에 균일하지 않게 배포되는 경우 그룹은 인스턴스를 사전에 재배포하여 균일한 배포를 다시 구성합니다.

여러 영역에 균일한 분산을 다시 구성하기 위해 그룹은 인스턴스가 많은 영역의 인스턴스를 삭제하고 인스턴스가 적은 영역에 인스턴스를 추가합니다. 그룹은 삭제할 인스턴스를 자동으로 선택합니다.

사전 재배포는 여러 영역에 균일한 배포를 다시 구성합니다.
사전 재배포의 예시

예를 들어 리전 MIG의 a, b, c 등 3개 영역에 12개의 인스턴스가 분산되어 있다고 가정해보세요. 이때 c에서 3개의 관리형 인스턴스를 삭제하면 그룹은 인스턴스가 여러 영역에 균일하게 분산되도록 재분산을 시도합니다. 이러한 경우에는 그룹이 2개의 인스턴스(ab에서 1개씩)를 삭제하고 인스턴스 2개를 c 영역에 만듭니다. 그러면 영역마다 인스턴스 수가 3개가 되어 균일한 배포가 구현됩니다. 삭제할 인스턴스를 선택적으로 결정하는 방법은 없습니다. 새 인스턴스가 시작되는 동안 그룹의 용량은 일시적으로 손실됩니다.

인스턴스의 자동 재배포를 방지하기 위해 사전 인스턴스 재배포를 해제할 수 있습니다.

사전 인스턴스 재배포 해제는 다음과 같은 경우에 유용합니다.

  • 실행 중인 다른 인스턴스에 영향을 주지 않고 그룹에서 인스턴스를 삭제하거나 폐기해야 하는 경우. 예를 들어 작업 완료 후 다른 작업자에게 영향을 주지 않고 일괄 작업자 인스턴스를 삭제할 수 있습니다.
  • 스테이트풀(Stateful) 워크로드가 있는 인스턴스를 사전 재배포로 인한 원치 않는 자동 삭제로부터 보호해야 하는 경우.
  • MIG의 목표 분산 형태BALANCED 또는 ANY_SINGLE_ZONE으로 설정합니다.
사전 재배포를 사용 중지할 경우 영역에 장애가 발생했을 때 용량에 영향을 미칠 수 있습니다.
사전 재배포를 사용 중지했을 때 균일하지 않은 배포

사전 인스턴스 재배포를 해제하면 MIG는 균형 달성을 위해 인스턴스를 사전에 추가하거나 삭제하지 않지만 크기 조절 작업 중에 각 크기 조절 작업을 그룹의 균형을 달성할 수 있는 기회로 활용하여 균형으로 수렴합니다. 예를 들어 축소 시 그룹은 이 재조정을 더 큰 영역에서 인스턴스를 삭제할 기회로 사용합니다. 확장 시에는 더 작은 영역에 인스턴스를 추가할 기회로 사용합니다.

영역 MIG와의 동작 차이

영역 MIG와 리전 MIG의 주요 차이점은 리전 MIG가 두 개 이상의 영역을 사용할 수 있다는 점입니다.

리전 MIG의 관리형 인스턴스는 리전 내 여러 영역에 분산되므로 다음 MIG 기능의 동작이 약간 다릅니다.

리전 MIG 자동 확장

Compute Engine은 부하의 증가 또는 감소에 따라 그룹이 자동으로 VM을 추가(수평 확장)하거나 VM을 삭제(수평 축소)할 수 있도록 MIG에 자동 확장 기능을 제공합니다.

리전 MIG에 자동 확장을 사용 설정하면 기능이 다음과 같이 작동합니다.

  • 자동 확장 처리는 각 영역에서 가장 큰 자동 확장 신호를 기준으로 VM을 만들 영역을 결정합니다. 예를 들어 CPU 사용률을 기준으로 확장하는 경우 자동 확장 처리는 사용률이 더 높은 영역에 VM을 더 만듭니다.

  • 영역의 신호 값이 서로 다른 경우 자동 확장으로 인해 VM이 불균일하게 분산될 수 있습니다. 이러한 경우 자동 확장 처리는 VM이 더 적은 영역에 추가 VM을 만들어 영역 간에 부하를 분산하려고 시도합니다. 추가 VM이 있는 영역에서 부하를 인계 받은 후 여러 영역의 VM 수가 균형을 유지해야 합니다.

  • 영역의 신호 값이 수평 확장을 트리거하지만 리전 MIG의 전체 신호 값에 추가 VM이 필요하지 않거나 다른 영역에 추가 VM이 필요한 경우 자동 확장 처리가 VM을 추가하고 그런 다음 영역 중 하나에서 VM을 즉시 삭제할 수 있습니다.

  • 자동 확장 신호가 확장 일정 또는 일부 모니터링 측정항목과 같이 리전 MIG 전체에 적용되면 자동 확장 처리는 VM을 영역 전체에 최대한 균등하게 분배합니다.

  • 목표 분산 형태를 BALANCED로 설정하면 자동 확장 처리가 영역 간 리소스 가용성을 인식합니다. 자동 확장 처리는 MIG 구성에 지정된 대로 VM에 할당량 및 용량이 충분한 영역에만 사전에 VM을 만듭니다.

리전 MIG 업데이트

그룹을 만든 후에는 리전 MIG에 대해 영역을 변경하거나 업데이트할 수 없습니다. 그러나 예약된 리소스가 있거나 일부 영역에서 사용할 수 없는 하드웨어가 필요한 경우와 같이 여러 영역을 우선적으로 사용하도록 그룹의 목표 분산 형태를 설정할 수 있습니다.

리전 MIG에 새 템플릿을 적용하려면 리전 MIG 업데이트를 참조하세요.

MIG의 인스턴스를 추가하거나 삭제하는 프로세스는 리전 MIG와 영역 MIG가 비슷합니다. MIG의 VM 추가 및 삭제를 참조하세요.

MIG에서 스테이트풀(Stateful) 디스크 또는 스테이트풀(Stateful) 메타데이터 구성에 관심이 있다면 스테이트풀(Stateful) MIG 구성을 참조하세요.

오버프로비저닝으로 가용성을 높이는 방법

다양한 이벤트로 인해 하나 이상의 인스턴스를 사용할 수 없게 되며, 여러 Google Cloud 서비스를 사용하면 이 문제를 완화하는 데 도움이 될 수 있습니다.

  • EVEN 또는 BALANCED 목표 분산 형태가 있는 리전 MIG를 사용하여 애플리케이션을 여러 영역에 분산합니다.
  • 애플리케이션 기반 자동 복구를 사용하여 장애가 발생한 애플리케이션이 있는 인스턴스를 다시 만듭니다.
  • 부하 분산을 사용해 자동으로 사용자 트래픽을 사용할 수 없는 인스턴스에서 다른 인스턴스로 보냅니다.

하지만 위의 서비스를 사용하더라도 너무 많은 인스턴스를 동시에 사용하지 못하는 경우에는 사용자에게 계속해서 문제가 발생할 수 있습니다.

한 영역에서 장애가 발생하거나 전체 인스턴스 그룹이 응답하지 않는 극단적인 경우에 대비하여 MIG를 오버프로비저닝하는 것이 좋습니다. 애플리케이션 요구사항에 따라 그룹을 오버프로비저닝하면 영역 또는 인스턴스 그룹이 응답하지 않더라도 시스템이 전체 장애를 일으키지 않습니다.

Google의 오버프로비저닝 권장사항은 애플리케이션 가용성에 우선순위를 두고 있습니다. 이러한 권장사항에는 애플리케이션에 일상적으로 필요한 수준보다 많은 인스턴스를 프로비저닝하고 비용을 지불하는 것이 포함됩니다. 애플리케이션 요구사항과 비용 제한을 감안하여 오버프로비저닝을 결정하세요.

MIG 생성 시 MIG의 크기를 설정할 수 있으며, 생성 후 인스턴스를 추가 또는 삭제할 수 있습니다.

부하에 따라 그룹에서 인스턴스를 자동으로 추가하고 삭제하도록 자동 확장 처리를 구성할 수 있습니다.

권장 그룹 크기 예상

한 영역의 모든 인스턴스를 사용할 수 없게 되더라도 나머지 인스턴스가 필요한 최소 인스턴스 수를 충족하도록 인스턴스를 충분히 프로비저닝하는 것이 좋습니다.

다음 표를 사용하여 그룹의 최소 권장 크기를 확인하세요.

영역 수 추가 VM 인스턴스 권장 총 VM 인스턴스
2 +100% 200%
3 +50% 150%
4 +33% 133%

3개 이상의 영역에서 리전 MIG 프로비저닝

영역이 3개 이상인 리전에서 리전 MIG를 만들 때는 그룹을 최소 50% 이상 오버프로비저닝하는 것이 좋습니다. 기본적으로 리전 MIG는 3개 영역에 인스턴스를 만듭니다. 3개의 영역에 인스턴스가 있으면 서비스 용량의 2/3 이상을 보존할 수 있으며, 한 영역에 장애가 발생해도 리전의 다른 두 영역이 중단 없이 트래픽을 계속 처리할 수 있습니다. 150%까지 오버프로비저닝하면 용량의 1/3이 손실되어도 100%의 트래픽이 나머지 영역에서 지원됩니다.

예를 들어 3개 영역에 MIG의 인스턴스 20개가 필요한 경우 최소한 인스턴스를 50% 추가하는 것이 좋습니다. 이 경우 20개의 50%를 추가하면 인스턴스가 10개 늘어나므로 그룹의 인스턴스는 총 30개가 됩니다. 30개 크기의 리전 MIG를 만드는 경우 이 그룹은 다음과 같이 3개 영역에 VM을 분산합니다.

영역 VM 인스턴스 수
example-zone-1 10
example-zone-2 10
example-zone-3 10

단일 영역에서 장애가 일어나더라도 인스턴스 20개가 트래픽을 처리합니다.

영역 2개에서 리전 MIG 프로비저닝

3개가 아닌 2개 영역에 인스턴스를 프로비저닝할 경우에는 인스턴스 수를 2배로 늘리는 것이 좋습니다. 예를 들어 서비스를 위해 2개 영역에 분산된 인스턴스 20개가 필요한 경우 각 영역에 20개씩 총 인스턴스가 40개인 리전 MIG를 구성하는 것이 좋습니다. 그러면 단일 영역에서 장애가 일어나더라도 인스턴스 20개가 트래픽을 처리합니다.

영역 VM 인스턴스 수
example-zone-1 20
example-zone-2 20

그룹의 인스턴스 수를 2개 영역에 균일하게 분배할 수 없는 경우 Compute Engine이 VM 그룹을 균일하게 분배하고 나머지 인스턴스를 무작위로 한 영역에 넣습니다.

영역 1개에서 리전 MIG 프로비저닝

영역이 1개만 있는 리전 MIG를 만들 수 있습니다. 이는 영역 MIG를 만드는 것과 비슷합니다.

영역이 1개인 리전 MIG는 가용성이 높은 애플리케이션에 대한 최소한의 보장만 제공하므로 권장하지 않습니다. 영역에서 장애가 발생하면 MIG 전체를 사용할 수 없게 되어 사용자에게 불편을 초래할 수 있습니다.

다음 단계