이 문서에서는 호스트 이벤트가 발생할 때 VM이 작동하는 방식을 제어하기 위해 가상 머신(VM) 인스턴스의 호스트 유지 관리 정책을 설정하는 방법을 설명합니다.
시작하기 전에
-
아직 인증을 설정하지 않았다면 설정합니다.
인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다.
로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음과 같이 Compute Engine에 인증하면 됩니다.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- 선점형 VM의 호스트 유지보수 정책은 변경할 수 없습니다. 유지보수 이벤트가 있으면 선점형 VM이 중지되고 마이그레이션되지 않습니다. 선점형 VM을 수동으로 다시 시작해야 합니다.
- E2 머신 유형을 사용하여 VM을 만든 후에는
MIGRATE
에서TERMINATE
로 또는 다른 방법으로 VM의 호스트 유지보수 설정을 변경할 수 없습니다. onHostMaintenance
: VM을 재부팅할 수도 있는 유지보수 이벤트가 발생하는 경우의 동작을 결정합니다.MIGRATE
(기본값): 유지보수 이벤트가 있을 때 Compute Engine이 인스턴스를 라이브 마이그레이션합니다.TERMINATE
: VM을 마이그레이션하지 않고 중지합니다.
automaticRestart
: VM이 비정상 종료되거나 시스템에 의해 중지되는 경우의 동작을 결정합니다.true
(기본값): 인스턴스가 다운되거나 중지되는 경우 Compute Engine이 인스턴스를 다시 시작합니다.false
: VM이 비정상 종료되거나 중지되는 경우 Compute Engine이 VM을 다시 시작하지 않습니다.
localSsdRecoveryTimeout
: 로컬 SSD 복구 제한 시간을 설정합니다. 호스트 오류 후 Compute Engine에서 로컬 SSD 데이터를 복구하기 위해 기다리는 최대 시간(시간 단위)입니다. 이 설정은 로컬 SSD 디스크가 연결된 VM에만 적용됩니다.- 설정되지 않음(기본값): Compute Engine이 디스크를 복구하기 위해 최대 1시간 동안 기다립니다. Z3 VM의 경우 기본 대기 시간은 6시간입니다.
- 0~168 사이의 숫자: Compute Engine이 디스크 복구를 대기할 시간을 지정합니다. 이 숫자는 1시간 단위로 증가하는 정수여야 하며 최댓값은 7일입니다. 값이 0이면 Compute Engine이 데이터 복구를 기다리지 않는다는 의미입니다.
hostErrorTimeoutSeconds
(미리보기): VM에서 응답이 없는 것을 감지하고 Compute Engine이 VM을 다시 시작하거나 종료하기 위해 대기하는 최대 시간(초)을 설정합니다.- 설정되지 않음(기본값): Compute Engine이 최대 5.5분(330초) 동안 대기한 후 응답하지 않는 VM을 다시 시작합니다.
- 90~330 사이의 숫자: Compute Engine에서 응답하지 않는 VM을 다시 시작하기 전에 대기하는 시간(초)을 30초 단위로 지정합니다.
Google Cloud 콘솔에서 인스턴스 만들기 페이지로 이동합니다.
VM의 이름을 지정합니다.
VM의 리전 및 영역을 선택합니다.
머신 구성 섹션에서 다음을 수행합니다.
- VM의 머신 유형 세부정보를 지정합니다.
- VM 프로비저닝 모델 고급 설정 메뉴를 펼칩니다.
- 호스트 유지보수 시 메뉴에서 다음 단계 중 하나를 선택합니다.
- 유지보수 이벤트 중에 VM을 마이그레이션하려면 VM 인스턴스 마이그레이션을 선택합니다.
- 유지보수 이벤트 중에 VM을 중지하려면 VM 인스턴스 종료를 선택합니다.
만들기를 클릭하여 VM을 만듭니다.
--maintenance-policy
: 호스트 유지보수 중에 VM이 마이그레이션되는지 또는 중지되는지를 나타냅니다. 이 속성을 생략하면 기본적으로 VM이 마이그레이션됩니다.--no-restart-on-failure
또는--restart-on-failure
: 호스트 오류 후 VM이 자동으로 다시 시작되는지 여부입니다. 기본적으로 VM은 실패가 감지될 때마다 항상 다시 시작됩니다.--local-ssd-recovery-timeout
: Compute Engine이 호스트 오류 후 연결된 로컬 SSD 디스크를 복구하는 데 걸리는 시간입니다. 기본값은 1시간입니다.VM_NAME
: VM 이름입니다.MAINTENANCE_POLICY
: 이 VM의 유지보수 정책입니다(TERMINATE
또는MIGRATE
).RESTART_ON_FAILURE_BEHAVIOR
: VM의 동작을 다시 시작합니다(--no-restart-on-failure
또는--restart-on-failure
로 설정).SSD_RECOVERY_TIMEOUT
: 응답하지 않는 VM에 연결된 로컬 SSD를 복구하는 데 걸리는 시간입니다. 유효한 값은 0시간~168시간(1시간 단위)입니다.VM_NAME
: VM 이름입니다.MAINTENANCE_POLICY
: 이 VM의 유지보수 정책입니다(TERMINATE
또는MIGRATE
).RESTART_ON_FAILURE_BEHAVIOR
: VM의 동작을 다시 시작합니다(--no-restart-on-failure
또는--restart-on-failure
로 설정).SSD_RECOVERY_TIMEOUT
: Compute Engine이 응답하지 않는 VM에 연결된 로컬 SSD를 복구하는 데 걸린 시간입니다. 유효한 값은 0시간~168시간(1시간 단위)입니다.ERROR_DETECTION_TIMEOUT
: Compute Engine이 응답하지 않는 VM을 다시 시작하기 전에 대기하는 시간(초)이며, 90부터 330까지의 값(30초 단위)입니다.onHostMaintenance
: 호스트 유지보수 중에 VM이 마이그레이션되는지 또는 중지되는지를 나타냅니다. VM은 기본적으로 마이그레이션됩니다.automaticRestart
: 호스트 오류 후 VM이 자동으로 다시 시작되는지 여부입니다. VM은 기본적으로 자동으로 다시 시작됩니다.localSsdRecoveryTimeout
: Compute Engine이 호스트 오류를 감지한 후 연결된 로컬 SSD 디스크를 복구하는 데 걸리는 시간입니다. 기본값은 1시간입니다.PROJECT_ID
: VM의 프로젝트입니다.ZONE
: VM을 만들려는 영역입니다.VM_NAME
: VM 이름입니다.MAINTENANCE_POLICY
: 이 VM의 유지보수 정책입니다(TERMINATE
또는MIGRATE
).RESTART_POLICY
: 이 VM의 다시 시작 정책입니다(true
또는false
).SSD_RECOVERY_TIMEOUT
: Compute Engine이 응답하지 않는 VM에 연결된 로컬 SSD 디스크를 복구하는 데 걸린 시간입니다. 유효한 값은 0시간~168시간(1시간 단위)입니다.PROJECT_ID
: VM의 프로젝트입니다.ZONE
: VM을 만들려는 영역입니다.VM_NAME
: VM 이름입니다.MAINTENANCE_POLICY
: 이 VM의 유지보수 정책입니다(TERMINATE
또는MIGRATE
).RESTART_POLICY
: 이 VM의 다시 시작 정책입니다(true
또는false
).SSD_RECOVERY_TIMEOUT
: Compute Engine이 응답하지 않는 VM에 연결된 로컬 SSD 디스크를 복구하는 데 걸린 시간입니다. 유효한 값은 0시간~168시간(1시간 단위)입니다.HOST_ERROR_TIMEOUT
: Compute Engine이 응답하지 않는 VM을 다시 시작하거나 종료하기 전에 대기하는 시간(초)입니다. 유효한 값은 90부터 330까지의 값(30초 단위)입니다.Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
설정을 변경할 VM을 클릭합니다. VM 세부정보 페이지가 표시됩니다.
VM 세부정보 페이지에서 다음 단계를 완료합니다.
- 페이지 상단에서 수정 버튼을 클릭합니다.
- 관리 섹션으로 이동합니다. 가용성 정책 섹션에서 호스트 유지보수 시 옵션과 자동 다시 시작 옵션을 설정할 수 있습니다.
- 저장을 클릭합니다.
VM_NAME
: VM 이름입니다.MAINTENANCE_POLICY
: 이 VM의 정책입니다(TERMINATE
또는MIGRATE
).RESTART_ON_FAILURE_BEHAVIOR
: VM의 다시 시작 동작입니다(--no-restart-on-failure
또는--restart-on-failure
).SSD_RECOVERY_TIMEOUT
: Compute Engine이 응답하지 않는 VM에 연결된 로컬 SSD 디스크를 복구하는 데 걸리는 시간(시간 단위)입니다. 유효한 값은 0부터 168까지입니다.VM_NAME
: VM 이름입니다.MAINTENANCE_POLICY
: 이 VM의 유지보수 정책입니다(TERMINATE
또는MIGRATE
).RESTART_ON_FAILURE_BEHAVIOR
: VM의 동작을 다시 시작합니다(--no-restart-on-failure
또는--restart-on-failure
로 설정).SSD_RECOVERY_TIMEOUT
: Compute Engine이 응답하지 않는 VM에 연결된 로컬 SSD 디스크를 복구하는 데 걸리는 시간(시간 단위)입니다. 유효한 값은 0부터 168까지입니다.NUMBER_OF_SECONDS
: Compute Engine이 응답하지 않는 VM을 다시 시작하거나 종료하기 전에 대기하는 시간(초)이며, 90부터 330까지의 값(30초 단위)입니다.onHostMaintenance
: 호스트 유지보수 중에 VM이 마이그레이션되는지 또는 중지되는지를 나타냅니다. VM은 기본적으로 마이그레이션됩니다.automaticRestart
: 호스트 오류 후 VM이 자동으로 다시 시작되는지 여부입니다. VM은 기본적으로 자동으로 다시 시작됩니다.localSsdRecoveryTimeout
: Compute Engine이 호스트 오류를 감지한 후 연결된 로컬 SSD 디스크를 복구하는 데 걸리는 시간입니다. 생략할 경우 기본값은 1시간입니다.PROJECT_ID
: VM의 프로젝트입니다.ZONE
: VM이 있는 영역입니다.VM_NAME
: VM 이름입니다.MAINTENANCE_POLICY
: 이 VM의 유지보수 정책입니다(TERMINATE
또는MIGRATE
).RESTART_POLICY
: 이 VM의 다시 시작 정책입니다(true
또는false
).SSD_RECOVERY_TIMEOUT
: Compute Engine에서 응답하지 않는 VM에 연결된 로컬 SSD 디스크를 복구하는 데 걸리는 시간(시간 단위)입니다. 유효한 값은 0부터 168까지입니다.PROJECT_ID
: VM의 프로젝트입니다.ZONE
: VM이 있는 영역입니다.VM_NAME
: VM 이름입니다.NUMBER_OF_SECONDS
: Compute Engine이 응답하지 않는 VM을 다시 시작하거나 종료하기 전에 대기하는 시간(초)이며, 90부터 330까지의 값(30초 단위)입니다.VM 인스턴스 페이지로 이동합니다.
설정을 보려는 VM의 이름을 클릭합니다. VM 인스턴스 세부정보 페이지가 열립니다.
관리 섹션으로 이동합니다. 가용성 정책 하위 섹션에 호스트 유지보수 시 및 자동으로 다시 시작에 대한 현재 설정이 표시됩니다.
PROJECT_ID
: VM이 있는 프로젝트입니다.ZONE
: VM이 있는 영역입니다.VM_NAME
: VM 이름입니다.PROJECT_ID
: VM의 프로젝트입니다.ZONE
: VM이 있는 영역입니다.VM_NAME
: VM 이름입니다.- 호스트 유지보수 자세히 알아보기
- 실시간 이전 자세히 알아보기
- 라이브 마이그레이션 이벤트 감지 방법 알아보기
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공하는 사용자 인증 정보를 사용합니다.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
자세한 내용은 Google Cloud 인증 문서의 REST 사용 인증을 참조하세요.
제한사항
사용 가능한 호스트 유지보수 속성
다음 속성을 사용하여 VM의 유지보수 동작, 다시 시작 동작, 호스트 오류 발생 후 동작을 구성할 수 있습니다.
Compute Engine은 별도로 지정하지 않는 한 기본값으로 각 VM을 구성합니다.
호스트 이벤트 중에 구성된 호스트 유지보수 정책에 따라 라이브 마이그레이션을 지원하지 않는 VM이 종료되거나 자동으로 다시 시작됩니다.
VM의 호스트 유지보수 정책 설정
처음 VM을 만들 때 또는 VM을 만든 후에 VM의 호스트 유지보수 정책을 변경할 수 있습니다.
VM 생성 중 호스트 유지보수 정책 설정
이 섹션의 정보는 VM을 만들 때 호스트 유지보수 정책을 설정하는 방법을 중점적으로 설명합니다. 더 많은 VM 만들기 예시는 VM 인스턴스 만들기 및 시작을 참조하세요.
Google Cloud 콘솔, gcloud CLI 또는 Compute Engine API를 사용하여 생성 시 VM의 호스트 유지보수 정책을 설정할 수 있습니다.
콘솔
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
새 VM의 호스트 유지보수 정책을 설정하려면
gcloud compute instances create
명령어를 사용합니다. 다음 파라미터 중 하나 이상을 포함합니다.다음 명령어를 사용하여 새 VM의 호스트 유지보수 정책을 설정합니다. 플래그를 생략하면 플래그의 기본값이 사용됩니다.
gcloud compute instances create VM_NAME \ --maintenance-policy=MAINTENANCE_POLICY \ --RESTART_ON_FAILURE_BEHAVIOR \ --local-ssd-recovery-timeout=SSD_RECOVERY_TIMEOUT
다음을 바꿉니다.
호스트 오류 감지 제한 시간 설정
Compute Engine이 응답이 없는 VM을 다시 시작하거나 종료하기 위해 대기하는 최대 시간을 설정하려면
gcloud compute instances create
명령어를 사용합니다.--host-error-timeout-seconds
플래그로 제한 시간을 지정합니다.gcloud beta compute instances create VM_NAME \ --maintenance-policy=MAINTENANCE_POLICY \ --RESTART_ON_FAILURE_BEHAVIOR \ --local-ssd-recovery-timeout=SSD_RECOVERY_TIMEOUT \ --host-error-timeout-seconds=ERROR_DETECTION_TIMEOUT
다음을 바꿉니다.
REST
Compute Engine API를 사용하여 새 VM의 호스트 유지보수 정책을 설정하려면
instances.insert
메서드를 사용합니다. 요청 본문의scheduling
객체에 다음 속성 중 하나 이상을 포함합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY", "automaticRestart": "RESTART_POLICY, "localSsdRecoveryTimeout": SSD_RECOVERY_TIMEOUT } }
다음을 바꿉니다.
호스트 오류 감지 제한 시간 설정
Compute Engine이 응답하지 않는 VM을 다시 시작하거나 종료하기 위해 대기하는 최대 시간을 설정하려면 베타
instances.insert
메서드를 사용합니다. 이 옵션은 미리보기에서 사용할 있기 때문입니다.요청 본문의
scheduling
객체에hostErrorTimeoutSeconds
속성을 추가합니다.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY", "automaticRestart": "RESTART_POLICY, "localSsdRecoveryTimeout": SSD_RECOVERY_TIMEOUT "hostErrorTimeoutSeconds": HOST_ERROR_TIMEOUT, } }
다음을 바꿉니다.
기존 VM의 호스트 유지보수 정책 업데이트
콘솔
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
gcloud compute instances set-scheduling
명령어를 사용하여 기존 VM의 호스트 유지보수 정책을 업데이트합니다. 이전 섹션의 VM 만들기 명령어에 설명된 것과 동일한 파라미터를 사용합니다.gcloud compute instances set-scheduling VM_NAME \ --maintenance-policy=MAINTENANCE_POLICY \ --RESTART_ON_FAILURE_BEHAVIOR \ --local-ssd-recovery-timeout=SSD_RECOVERY_TIMEOUT
다음을 바꿉니다.
호스트 오류 감지 제한 시간 업데이트
Compute Engine이 응답하지 않는 VM을 다시 시작하거나 종료하기 위해 대기하는 최대 시간을 업데이트하려면
gcloud beta compute instances set-scheduling
명령어를 사용합니다. 이 기능은 미리보기에서 사용할 수 있기 때문입니다.--host-error-timeout-seconds
파라미터로 제한 시간을 업데이트합니다. 예를 들면 다음과 같습니다.gcloud beta compute instances set-scheduling VM_NAME \ --maintenance-policy=MAINTENANCE_POLICY \ --RESTART_ON_FAILURE_BEHAVIOR \ --local-ssd-recovery-timeout=SSD_RECOVERY_TIMEOUT \ --host-error-timeout-seconds=NUMBER_OF_SECONDS
다음을 바꿉니다.
REST
instances.setScheduling
메서드에 대한POST
요청으로 기존 VM의 호스트 유지보수 정책을 업데이트합니다.요청 본문에 다음 속성 중 하나 이상을 포함합니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling { "onHostMaintenance": "MAINTENANCE_POLICY", "automaticRestart": RESTART_POLICY, "localSsdRecoveryTimeout": SSD_RECOVERY_TIMEOUT }
다음을 바꿉니다.
호스트 오류 감지 제한 시간 업데이트
Compute Engine은 응답이 없는 VM을 다시 시작하거나 종료하기 위해 대기하는 최대 시간을 업데이트하려면 베타
instances.setScheduling
메서드를 사용해야 합니다. 이 기능은 미리보기에서 사용할 수 있기 때문입니다.요청 본문에
hostErrorTimeoutSeconds
파라미터를 추가합니다.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling { "hostErrorTimeoutSeconds": NUMBER_OF_SECONDS, }
다음을 바꿉니다.
VM의 호스트 유지보수 정책 설정 보기
콘솔
gcloud
gcloud compute instances describe
명령어를 사용하여 VM의 호스트 유지보수 옵션 설정을 확인합니다.gcloud compute instances describe VM_NAME --format="yaml(scheduling)"
VM_NAME
을 VM 이름으로 바꿉니다.출력에는 VM의 호스트 오류 감지 제한 시간이 포함됩니다. 예를 들면 다음과 같습니다.
scheduling: automaticRestart: true localSsdRecoveryTimeout: nanos: 0 seconds: '10800' onHostMaintenance: MIGRATE preemptible: false provisioningModel: STANDARD
호스트 오류 감지 제한 시간 설정 보기
이 옵션은 미리보기에서만 사용할 수 있으므로
gcloud beta compute instances describe
명령어를 사용하여hostErrorTimeoutSeconds
의 현재 값을 확인합니다.gcloud beta compute instances describe VM_NAME --format="yaml(scheduling)"
VM_NAME
을 VM 이름으로 바꿉니다.출력에는 VM의 호스트 오류 감지 제한 시간이 포함됩니다. 예를 들면 다음과 같습니다.
scheduling: automaticRestart: true hostErrorTimeoutSeconds: 120 localSsdRecoveryTimeout: nanos: 0 seconds: '10800' onHostMaintenance: MIGRATE preemptible: false provisioningModel: STANDARD
REST
VM의 호스트 유지보수 설정을 보려면
instances.get
메서드를 사용합니다.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
다음을 바꿉니다.
출력에서
scheduling
객체에는 VM의 호스트 유지보수 정책이 포함됩니다. 예를 들면 다음과 같습니다."scheduling": { "onHostMaintenance": "MIGRATE", "automaticRestart": true, "preemptible": false, "provisioningModel": "STANDARD", "localSsdRecoveryTimeout": { "seconds": "10800", "nanos": 0 } }
호스트 오류 제한 시간 설정 보기
이 옵션은 미리보기에서만 사용할 수 있으므로 베타
instances.get
메서드에 대한GET
요청으로 현재hostErrorTimeoutSeconds
설정을 확인합니다.GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
다음을 바꿉니다.
출력에서
scheduling
객체에는 VM의 호스트 오류 감지 제한 시간이 포함됩니다. 예를 들면 다음과 같습니다."scheduling": { "hostErrorTimeoutSeconds": 120 }
다음 단계
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2024-11-28(UTC)
-