호스트 유지보수 이벤트 트리거


이 페이지에서는 특정 VM 제품군 인스턴스에서 호스트 유지보수 이벤트를 트리거하는 방법을 설명합니다. 이 기능을 사용하면 유지보수 이벤트를 수동으로 시작하여 VM의 유지보수 시점을 제어할 수 있습니다. 이는 특정 유지보수 기간의 영향을 받을 수 있는 워크로드에 유용합니다.

유지보수 이벤트가 즉시 시작되도록 수동으로 트리거할 수 있습니다. 특정 날짜나 시간에 이벤트를 트리거할 수 없습니다. 이 기능을 사용하지 않으면 유지보수 이벤트가 예약된 일정에 따라 발생합니다.

제한사항

VM 호스트 유지보수 이벤트 트리거는 다음 VM 머신 유형으로 제한됩니다.

시작하기 전에

  • 아직 인증을 설정하지 않았다면 설정합니다. 인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다. 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음과 같이 Compute Engine에 인증하면 됩니다.

    Select the tab for how you plan to use the samples on this page:

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공하는 사용자 인증 정보를 사용합니다.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      자세한 내용은 Google Cloud 인증 문서의 REST 사용 인증을 참조하세요.

필요한 역할

VM을 만들고 VM 유지보수를 관리하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대해 Compute 인스턴스 관리자(v1)(roles/compute.instanceAdmin.v1) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.

이 사전 정의된 역할에는 VM을 만들고 VM 유지보수를 관리하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.

필수 권한

VM을 만들고 VM 유지보수를 관리하려면 다음 권한이 필요합니다.

  • VM에 대한 정보를 가져오려면 compute.instances.get 권한이 필요합니다.
  • VM을 만들려면 compute.instances.create 권한이 필요합니다.

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.

호스트 유지보수 이벤트 트리거

Google에서는 여러 방법을 통해 예정된 VM 유지보수에 대한 알림을 전송합니다. VM, 메타데이터 서버, Cloud Logging을 쿼리하여 알림을 찾을 수 있습니다.

호스트 유지보수 이벤트 알림을 받은 후 유지보수를 즉시 트리거하거나 유지보수 이벤트가 예약된 대로 수행될 때까지 기다릴 수 있습니다.

유지보수 이벤트 시작

예약된 시간까지 기다리지 않고 VM 유지보수를 즉시 시작할 수 있습니다. Google Cloud CLI 또는 REST 메서드를 사용하여 VM 유지보수를 즉시 트리거합니다.

알림이 없고 유지보수 이벤트를 트리거하려고 하면 다음 메시지가 표시됩니다.

There is no reschedulable upcoming maintenance.

이는 유지보수 이벤트가 예약되지 않았으며 조치를 취할 필요가 없음을 나타냅니다.

gcloud

유지보수를 즉시 시작하려면 gcloud compute instances perform-maintenance 명령어를 사용합니다. --zone=[ZONE_NAME]을 포함해야 합니다.

gcloud compute instances perform-maintenance VM_NAME \
--zone=ZONE

다음을 바꿉니다.

  • VM_NAME: VM의 이름
  • ZONE: VM이 있는 영역

응답은 다음과 같습니다.

upcomingMaintenance:{
  "canReschedule":false
  "latestWindowStartTime": "2023-12-01T19:00:01Z"
  "maintenanceStatus":"ONGOING"
  "type":"SCHEDULED"
  "windowEndTime": "2023-12-01T22:00:00Z"
  "windowStartTime": "2023-12-01T19:00:00Z"
}

응답에서 maintenanceStatusONGOING으로 설정됩니다. 유지보수가 진행 중입니다.

REST

VM 유지보수를 트리거하려면 instances.performMaintenance 명령어를 실행합니다.

POST: https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME/performMaintenance

다음을 바꿉니다.

  • PROJECT_NAME: 프로젝트 이름
  • ZONE: VM이 있는 영역
  • VM_NAME: VM의 이름

응답은 다음과 같습니다.

upcomingMaintenance:{
  "canReschedule":false
  "latestWindowStartTime": "2023-12-01T19:00:01Z"
  "maintenanceStatus":"ONGOING"
  "type":"SCHEDULED"
  "windowEndTime": "2023-12-01T22:00:00Z"
  "windowStartTime": "2023-12-01T19:00:00Z"
}

응답에서 maintenanceStatusONGOING으로 설정됩니다. 유지보수가 진행 중입니다.

유지보수 상태 정의

다음 상태 정의는 VM 유지보수 쿼리에 대한 응답을 설명합니다. 이러한 응답은 VM 유지보수와 관련된 정보를 제공합니다. Google Cloud CLI, REST, 메타데이터 서버는 다음과 같은 동일한 응답을 사용합니다.

  • windowStartTime: 유지보수가 수행되는 시작 시간입니다.
  • windowEndTime: 유지보수가 수행되는 종료 시간입니다.
  • latestWindowStartTime: 기간을 이동할 수 있는 가장 이른 시간입니다.
  • maintenanceType: 수행할 유지보수의 유형입니다.
    • NONE: 이 VM에 예약된 유지보수가 없습니다.
    • SCHEDULED: 유지보수에 7일 알림이 사용됩니다.
    • UNSCHEDULED: 유지보수가 알림 시간이 훨씬 더 짧은 중요 업데이트를 알립니다.
  • canReschedule: 이 VM의 알림 기간 중에 유지보수를 트리거할 수 있는지 여부입니다.
    • TRUE: 알림 기간 중에 고객이 트리거하는 유지보수를 수행할 수 있습니다.
    • FALSE: 이 VM에서 고객이 트리거하는 유지보수를 수행할 수 없습니다. VM에 유지보수가 진행 중인 기간에 자주 발생합니다.
  • maintenanceStatus: 현재 유지보수 작업의 상태입니다.
    • ONGOING: 유지보수 작업이 진행 중입니다.
    • PENDING: 유지보수 작업이 예약되었지만 아직 시작되지 않았습니다.

유지보수 상태 동작

유지보수 일정을 관리하는 동안 canReschedule=maintenanceStatus=의 상태를 확인합니다. 이러한 응답 조합은 기능의 예상 동작을 설명하고 다음 상태 조합 중 하나를 표시합니다.

  • canReschedule=YesmaintenanceStatus=Pending이면 VM에서 유지보수를 트리거할 수 있습니다.
  • canReschedule=NomaintenanceStatus=Ongoing이면 유지보수가 이미 진행 중입니다.
  • canReschedule=NomaintenanceStatus=Pending이면 VM에서 수동으로 트리거된 유지보수를 지원하지 않습니다.

다음 단계