이 문서에서는 관리형 인스턴스 그룹(MIG)의 가상 머신(VM) 인스턴스에 대한 일시정지 및 중지 작업에 대해 설명합니다. 또한 MIG에서 VM을 일시정지하고 중지하면 그룹에 VM이 더 필요할 때 어떻게 비용을 절감하고 대기 시간을 줄일 수 있는지 방법을 설명합니다.
MIG를 사용하면 VM을 일시중지 및 중지하여 다음을 수행할 수 있습니다.
- 애플리케이션 또는 서비스 일시중지 - 사용하지 않기 때문에 컴퓨팅 리소스에 대한 비용을 지불하지 않음으로써 비용 절감
- MIG 수평 확장 가속화 - 중지된 VM과 일시정지된 VM의 대기 풀에서 사전 초기화된 VM을 시작할 수 있음
사용 사례
다음 섹션에서는 MIG의 대기 풀에 대한 일반적인 사용 사례를 설명합니다.
애플리케이션 또는 서비스 일시중지
계산, 근무 시간, 피크 타임, 예산 제약에 따라 MIG에서 VM을 일시중지하거나 중지하여 애플리케이션을 일시중지하고 필요할 때 재개할 수 있습니다. 현재 계산의 결과를 영구 디스크에 보관하거나 일시중지된 VM의 경우 메모리에 보관할 수 있습니다.
예를 들어 다음과 같은 시나리오에서 MIG의 VM을 일시중지하거나 중지할 수 있습니다.
- 주중에 워크로드가 많아서 주말에 VM을 정지하여 비용을 절감하려는 경우
- 구현 변경 중에 필요한 테스트 환경이 있는데, 활발하게 개발하지 않을 때는 중지하려는 경우
MIG 수평 확장 가속화
MIG 크기를 조절할 때 시작할 준비가 된 사전 초기화된 VM의 대기 풀을 유지할 수 있습니다. 새 VM을 만들고 앱이 초기화되고 실행 준비가 될 때까지 기다리는 대신 MIG는 대기 풀에서 VM을 시작하거나 재개합니다. 이러한 경우 VM은 부하가 증가할 때가 아니라 미리 초기화가 완료됩니다.
대기 풀은 다음 시나리오와 같이 초기화하는 데 시간이 오래 걸리는 애플리케이션에 유용합니다.
- 영구 디스크에 최신 콘텐츠를 다운로드해야 하는 애플리케이션
- 외부 스토리지, 로컬 계산 또는 이 두 가지의 조합에서 다운로드하여 메모리에 추가 콘텐츠를 캐시해야 하는 애플리케이션
- 초기화 중에 최신 소프트웨어를 설치해야 하는 애플리케이션(예: Kubernetes 노드)
보존되는 리소스
다음 표에서는 MIG에서 VM을 일시중지하고 중지할 때 보존되는 리소스를 보여줍니다.
보존됨 | 일시중지된 VM | 중지된 VM |
---|---|---|
VM 이름 | ||
내부 IP | ||
외부 IP(임시) | ||
외부 IP(고정*) | ||
디스크† | ||
메타데이터 | ||
메모리 |
*MIG에서 VM을 중지하거나 일시중지할 때 외부 IP를 보존하려면 스테이트풀(Stateful) MIG 구성을 사용하여 외부 IP를 고정 IP로 승격합니다.
†VM에 로컬 SSD 디스크가 연결된 경우 VM을 중지하거나 일시중지하면 로컬 SSD 디스크의 데이터는 보존되지 않습니다.
동작 및 구성
대기 풀은 VM의 중지된 풀과 일시중지된 풀로 구성됩니다. 중지된 모든 VM은 중지된 풀의 일부가 되고 모든 일시정지된 VM은 일시정지된 풀의 일부가 됩니다. MIG에서 자동 확장을 구성한 경우 VM을 일시중지하거나 중지하면 MIG는 권장 MIG 크기를 유지하기 위해 즉시 새 VM을 만듭니다.
일시중지된 풀 및 중지된 풀의 대상 크기
MIG의 대상 크기와 비슷하게, 중지 및 일시정지된 풀은 자체 대상 크기를 갖습니다. 다음과 같은 방법으로 대기 풀 대상 크기를 제어할 수 있습니다.
- 중지된 대상과 일시정지된 대상 크기의 값을 구성합니다.
- VM을 수동으로 중지 및 일시정지하면 대상 크기가 자동으로 변경됩니다.
중지되거나 일시정지된 풀의 대상 크기를 변경하면 MIG가 다음과 같이 작동합니다.
- 일시중지된 풀이나 중지된 풀의 크기를 늘리면 MIG는 새 VM을 만들고 VM이 초기화될 때까지 기다린 후 적절하게 VM을 일시중지하거나 중지합니다. 리전 MIG의 경우 구성된 목표 분산 형태에 따라 VM이 생성됩니다.
- 일시정지 또는 중지된 풀 크기를 줄이면 MIG는 삭제할 VM을 일시정지 또는 중지한 후 임의로 선택합니다.
- MIG 대상 크기와 일시중지되거나 중지된 풀의 크기를 동시에 변경하면 MIG는 변경사항을 적용하는 데 필요한 작업 수를 최소화하려고 합니다. 즉, MIG는 대기 풀에서 VM을 재개 또는 시작하거나 일부 실행 중인 VM을 일시중지 또는 중지할 수 있습니다.
대기 정책
대기 정책은 지정된 다음 파라미터를 기반으로 대기 풀 동작을 정의합니다.
- 모드: MIG에서 일시중지된 VM과 중지된 VM을 사용하는 모드입니다.
manual
또는scale-out-pool
모드일 수 있습니다. - 초기 지연: MIG에서 새로 만든 VM을 일시중지하거나 중지하기 전에 실행하는 시간입니다. VM이 시작되거나 재개될 때 앱을 사전 초기화하고 실행 준비를 할 수 있는 충분한 시간이 확보되도록 초기 지연을 구성합니다.
모드
작업 모드를 설정하여 대기 풀을 관리하는 방법을 선택할 수 있습니다.
manual
모드와 scale-out-pool
모드 등 두 가지 옵션이 있습니다.
수동 모드(기본값)
수동 모드에서는 MIG에서 중지되고 일시중지되는 VM을 완전히 제어할 수 있습니다. 수동 모드는 대기 풀의 기본 모드입니다.
수동 모드는 다음과 같은 경우에 유용합니다.
- 워크로드를 일시중지하고 유휴 실행 VM의 비용을 절약하려고 할 때
- 개별 VM에 대한 고급 관리가 필요한 타사 자동 확장 처리와 MIG를 통합할 때
- 디버깅 목적으로 선택한 VM을 중지할 때
수동 모드에서는 MIG가 대기 풀에 자동화를 적용하지 않습니다.
- 개발자나 자동 확장 처리에서 MIG 대상 크기를 늘리면 MIG는 자동으로 VM을 시작하거나 재개하지 않고 새 VM을 만듭니다.
- 사용자 또는 자동 확장 처리가 MIG의 대상 크기를 줄이면 MIG는 실행 중인 VM을 자동으로 중지 또는 일시정지하는 것이 아니라 삭제합니다.
풀 수평 확장 모드
풀 수평 확장 모드에서는 MIG가 대기 풀의 VM을 사용하여 재개하거나 시작해 수평 확장을 가속화합니다. 그런 다음 MIG는 자동으로 대기 풀을 새 VM으로 보충하여 대상 크기를 유지합니다.
풀 수평 확장 모드는 다음과 같은 경우에 MIG 수평 확장을 가속하는 데 유용합니다.
- Compute Engine 자동 확장 처리를 사용하는 경우
- 서드 파티 자동 확장 처리를 사용하고 있으며 기존 통합을 보존하려는 경우
- 실행 중인 VM의 대상 크기를 수동으로 늘리는 경우
풀 수평 확장 모드에서 MIG는 다음과 같이 동작합니다.
개발자나 자동 확장 처리가 MIG에서 실행 중인 VM의 대상 크기를 늘리면 MIG는 다음 순서로 작업을 수행합니다.
- MIG가 수평 확장되는 영역에서 일시중지된 VM을 사용할 수 있는 경우 MIG는 일시중지된 VM을 재개합니다.
- 일시중지된 VM을 재개한 후에도 MIG 대상 크기에 도달하지 못하면 MIG가 수평 확장되는 영역에서 중지된 VM을 사용할 수 있는 경우 MIG는 중지된 VM을 시작합니다.
- VM을 시작한 후에도 MIG 대상 크기에 도달하지 못하면 새 VM이 처음부터 생성됩니다.
대기 풀을 사용하여 수평 확장을 가속화하면 MIG는 다음 작업을 수행합니다.
- 새 VM을 만들어 대상 크기 및 리전 MIG의 경우 목표 분산 형태에 따라 일시중지된 풀과 중지된 풀을 보충합니다.
- 새 VM을 실행 상태로 전환합니다.
- 초기 지연이 지나면 새 VM을 일시중지하거나 중지합니다.
사용자 또는 자동 확장 처리가 MIG의 대상 크기를 줄이면 MIG는 실행 중인 VM을 자동으로 중지 또는 일시정지하는 것이 아니라 삭제합니다.
초기 지연
VM이 올바르게 초기화되게 하려면 대기 정책에서 초기 지연을 지정합니다. 초기 지연은 VM이 생성된 후 중지 또는 일시중지하기까지 걸리는 시간입니다. 이를 통해 초기화 스크립트가 완료될 시간이 확보됩니다.
초기 지연은 다음과 같은 경우에 발생합니다.
- 의도한 대상 상태
SUSPENDED
또는TERMINATED
로 새 VM이 생성된 경우 RUNNING
상태의 기존 인스턴스가 일시정지되거나 중지된 경우
두 경우 모두 인스턴스가 일시정지되거나 중지되기 전에 초기화될 수 있습니다.
대기 풀을 사용하여 MIG의 수평 확장을 가속화하려면 선택한 머신 유형에서 애플리케이션이 초기화되는 데 필요한 시간을 측정하여 일시정지 또는 중지하기 전에 완전히 준비되기 위한 충분한 시간을 확보하는 것이 좋습니다. 그렇지 않으면 VM을 대기 풀에서 다시 시작하거나 시작하는 것이 오히려 VM을 처음부터 만드는 것보다 시간이 더 걸릴 수도 있습니다.
MIG의 VM 대상 상태
MIG에는 선언적 API가 있습니다. 즉, MIG에서 VM 대상 상태를 선언하고 대상 상태가 저장되면 API 요청이 성공합니다. 그런 다음 MIG에서 대상 상태에 도달하는 데 필요한 작업을 수행하고 개발자는 API를 사용하여 모든 VM의 현재 작업과 현재 상태를 확인할 수 있습니다.
MIG에서 VM 일시중지 및 중지도 선언적 방식으로 동일하게 작동합니다. VM 일시중지 또는 중지 요청을 전송하면 MIG는 각 VM의 대상 상태에 대한 정보를 저장하고 대상 상태에 도달하는 데 필요한 작업을 시작합니다.
MIG에서 관리형 VM을 나열하면 targetStatus
필드가 표시됩니다.
이는 MIG가 안정적인 경우 VM 최종 상태를 나타냅니다.
상태는 다음 값 중 하나일 수 있습니다.
RUNNING
STOPPED
SUSPENDED
MIG의 VM은 단일 VM의 수명 주기 상태와 동일할 수 있습니다.
다음은 MIG에서 가능한 작업과 targetStatus
필드의 관련 값에 대한 예시입니다.
- 새 VM을 만들고 초기화 후에 일시중지합니다.
- VM 대상 상태:
SUSPENDED
- VM 대상 상태:
- 이전에 일시중지된 VM을 재개합니다.
- VM 대상 상태:
RUNNING
- VM 대상 상태:
- 이전에 실행 중인 VM을 중지합니다.
- VM 대상 상태:
STOPPED
- VM 대상 상태:
- 이전에 중지된 VM을 시작합니다.
- VM 대상 상태:
RUNNING
- VM 대상 상태:
제한사항
- 독립형 VM을 일시중지할 때 적용되는 다음 제한사항은 MIG에서 VM을 일시중지할 때도 적용됩니다.
- GPU를 사용하는 인스턴스는 일시정지할 수 없습니다.
- 베어메탈 인스턴스는 일시정지할 수 없습니다.
- 게스트 환경에 내장된 표준 프로세스를 사용하여 인스턴스를 정지할 수 없습니다. Ubuntu 16.04 이상의
systemctl suspend
명령어와 같은 명령어는 사용할 수 없습니다. 게스트 내 신호는 무시됩니다. - VM이 자동으로 중지되기 전 최대 60일 동안만 인스턴스를 일시정지할 수 있습니다.
- 메모리가 208GB를 초과하는 인스턴스는 일시정지할 수 없습니다.
- 선점형 인스턴스를 일시정지할 수 있지만 인스턴스가 일시정지되기 전에 선점형 인스턴스가 종료될 수 있습니다.
- 컨피덴셜 VM은 일시정지할 수 없습니다.
- CSEK 보호 디스크가 연결된 VM은 정지할 수 없습니다.
EVEN
목표 분산 형태와 인스턴스 재분산이 사용 설정된 리전 MIG에서는 그룹에서 특정 VM을 일시중지, 중지, 재개 또는 시작할 수 없습니다. 대기 풀을 관리하려면 일시중지된 풀과 중지된 풀의 대상 크기를 설정합니다.- MIG에서 카나리아 업데이트에 두 번째 인스턴스 템플릿을 구성한 경우에는 풀 수평 확장 모드를 사용할 수 없습니다.
- MIG에서 복구를 사용 중지한 경우 MIG에서 VM을 일시중지하거나 중지할 수 없습니다.
- VM이 자동으로 중지되기 전 최대 60일 동안만 인스턴스를 일시정지할 수 있습니다.
가격 책정
중지 및 일시정지된 각 VM에는 다음 항목에 대한 요금이 청구됩니다.
- 부팅 디스크 및 VM에 연결된 모든 추가 디스크의 영구 디스크 사용량. 자세한 내용은 Persistent Disk 가격 책정을 참조하세요.
- VM에 연결된 모든 고정 IP. 자세한 내용은 IP 가격 책정을 참조하세요.
- 일시정지된 VM의 경우 VM 메모리 및 기기 상태. 자세한 내용은 VM 인스턴스 가격 책정을 참조하세요.
다음 단계
- MIG에서 VM을 수동으로 일시중지하거나 중지하는 방법 알아보기
- 일시중지된 VM과 중지된 VM으로 수평 확장을 가속화하는 방법 알아보기
- 일시정지 및 중지된 VM의 업데이트에 대해 자세히 알아보기