이 문서에서는 중지 또는 삭제 시 게스트 OS 종료를 건너뛰도록 인스턴스를 구성하여 Compute Engine 인스턴스의 종료 시간을 줄이는 방법을 설명합니다.
중지 또는 삭제 시 게스트 OS 종료를 건너뛰도록 인스턴스를 구성하면 인스턴스 상태가 STOPPING
로 변경될 때 Compute Engine에서 즉시 게스트 OS를 종료합니다. 이 작업을 사용하면 인스턴스 중지 또는 삭제 속도를 높여 할당량 또는 리소스를 더 빠르게 해제할 수 있습니다. 완전한 게스트 OS 종료의 기본 간격을 비롯하여 중지 또는 삭제 중에 인스턴스가 거치는 단계에 대해 자세히 알아보려면 중지 작업을 참고하세요.
시작하기 전에
-
아직 설정하지 않았다면 인증을 설정합니다.
인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인합니다. 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음 옵션 중 하나를 선택하여 Compute Engine에 인증하면 됩니다.
Select the tab for how you plan to use the samples on this page:
gcloud
-
Google Cloud CLI를 설치합니다. 설치 후 다음 명령어를 실행하여 Google Cloud CLI를 초기화합니다.
gcloud init
외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.
- Set a default region and zone.
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.
Google Cloud CLI를 설치합니다. 설치 후 다음 명령어를 실행하여 Google Cloud CLI를 초기화합니다.
gcloud init
외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.
자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참조하세요.
필요한 역할
게스트 OS 종료를 건너뛰도록 인스턴스를 구성하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Compute 인스턴스 관리자 (v1) (
roles/compute.instanceAdmin.v1
) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.이 사전 정의된 역할에는 게스트 OS 종료를 건너뛰도록 인스턴스를 구성하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
게스트 OS 종료를 건너뛰도록 인스턴스를 구성하려면 다음 권한이 필요합니다.
- 인스턴스를 만들려면 다음 안내를 따르세요.
- 프로젝트에 대한
compute.instances.create
권한 - 커스텀 이미지를 사용하여 VM 만들기: 이미지에 대한
compute.images.useReadOnly
권한 - 스냅샷을 사용하여 VM 만들기: 스냅샷에 대한
compute.snapshots.useReadOnly
권한 - 인스턴스 템플릿을 사용하여 VM 만들기: 인스턴스 템플릿에 대한
compute.instanceTemplates.useReadOnly
권한 - VM에 기존 네트워크 할당: 프로젝트에 대한
compute.networks.use
권한 - VM의 고정 IP 주소 지정: 프로젝트에 대한
compute.addresses.use
권한 - 기존 네트워크 사용 시 VM에 외부 IP 주소 할당: 프로젝트에 대한
compute.networks.useExternalIp
권한 - VM의 서브넷 지정: 프로젝트 또는 선택한 서브넷에 대한
compute.subnetworks.use
권한 - VPC 네트워크를 사용할 때 VM에 외부 IP 주소 할당: 프로젝트 또는 선택한 서브넷에 대한
compute.subnetworks.useExternalIp
권한 - VM에 VM 인스턴스 메타데이터 설정: 프로젝트에 대한
compute.instances.setMetadata
권한 - VM에 태그 설정: VM에 대한
compute.instances.setTags
권한 - VM에 라벨 설정: VM에 대한
compute.instances.setLabels
권한 - VM에 사용할 서비스 계정 설정: VM에 대한
compute.instances.setServiceAccount
권한 - VM의 새 디스크 만들기: 프로젝트에 대한
compute.disks.create
권한 - 기존 디스크를 읽기 전용 또는 읽기-쓰기 모드로 연결: 디스크에 대한
compute.disks.use
권한 - 기존 디스크를 읽기 전용 모드로 연결: 디스크에 대한
compute.disks.useReadOnly
권한
- 프로젝트에 대한
- 인스턴스 템플릿 만들기: 프로젝트에 대한
compute.instanceTemplates.create
권한 -
인스턴스를 업데이트하려면 인스턴스에서
compute.instances.update
를 실행합니다.
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
게스트 OS 종료를 건너뛰도록 인스턴스 구성
인스턴스를 중지하거나 삭제할 때 게스트 OS 종료를 건너뛰도록 컴퓨팅 인스턴스를 구성하려면 다음 방법 중 하나를 사용하세요.
기존 인스턴스에서 게스트 OS 종료 구성
인스턴스가 중지된 경우 (
TERMINATED
)에만 게스트 OS 종료를 건너뛰도록 컴퓨팅 인스턴스를 구성할 수 있습니다.게스트 OS 종료를 건너뛰도록 인스턴스를 구성하려면 다음 옵션 중 하나를 선택합니다.
gcloud
아직 인스턴스를 중지하지 않았다면 인스턴스를 중지합니다.
게스트 OS 종료를 건너뛰도록 인스턴스를 구성하려면
--skip-guest-os-shutdown
플래그와 함께gcloud beta compute instances set-scheduling
명령어를 사용합니다.gcloud beta compute instances set-scheduling INSTANCE_NAME \ --skip-guest-os-shutdown \ --zone=ZONE
다음을 바꿉니다.
INSTANCE_NAME
: 인스턴스 이름ZONE
: 인스턴스가 있는 영역
REST
아직 인스턴스를 중지하지 않았다면 인스턴스를 중지합니다.
게스트 OS 종료를 건너뛰도록 인스턴스를 구성하려면
POST
요청을 베타instances.setScheduling
메서드에 보냅니다. 요청 본문에skipGuestOsShutdown
필드를 포함하고true
으로 설정합니다.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setScheduling { "skipGuestOsShutdown": true }
인스턴스를 업데이트하는 방법에 대한 자세한 내용은 인스턴스 속성 업데이트를 참고하세요.
인스턴스를 생성하는 동안 게스트 OS 종료 구성
게스트 OS 종료를 건너뛰도록 구성된 컴퓨팅 인스턴스를 만들려면 다음 옵션 중 하나를 선택합니다.
gcloud
게스트 OS 종료를 건너뛰도록 구성된 인스턴스를 만들려면
--skip-guest-os-shutdown
플래그와 함께gcloud compute instances create
명령어를 사용합니다.gcloud compute instances create INSTANCE_NAME \ --machine-type=MACHINE_TYPE \ --skip-guest-os-shutdown \ --zone=ZONE
다음을 바꿉니다.
INSTANCE_NAME
: 인스턴스 이름MACHINE_TYPE
: 인스턴스에 사용할 머신 유형ZONE
: 인스턴스를 만들 영역입니다.
REST
게스트 OS 종료를 건너뛰도록 구성된 인스턴스를 만들려면
instances.insert
메서드에POST
요청을 보냅니다. 요청 본문에true
로 설정된skipGuestOsShutdown
필드를 포함합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "INSTANCE_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "scheduling": { "skipGuestOsShutdown": true } }
다음을 바꿉니다.
PROJECT_ID
: 인스턴스를 만들려는 프로젝트의 ID입니다.ZONE
: 인스턴스를 만들 영역입니다.INSTANCE_NAME
: 인스턴스 이름입니다.MACHINE_TYPE
: 인스턴스에 사용할 머신 유형IMAGE_PROJECT
: 이미지가 포함된 이미지 프로젝트입니다(예:debian-cloud
). 지원되는 이미지 프로젝트에 대한 자세한 내용은 공개 이미지를 참조하세요.IMAGE
: 다음 중 하나를 지정합니다.OS 이미지의 특정 버전입니다(예:
debian-12-bookworm-v20240617
).이미지 계열이며 형식은
family/IMAGE_FAMILY
여야 합니다. 이 값은 지원 중단되지 않은 최신 OS 이미지를 지정합니다. 예를 들어family/debian-12
를 지정하면 Compute Engine에서 Debian 12 이미지 계열의 최신 버전을 사용합니다. 이미지 계열 사용 방법에 대한 자세한 내용은 이미지 계열 권장사항을 참고하세요.
인스턴스를 만드는 방법에 관한 자세한 내용은 Compute Engine 인스턴스 만들기 및 시작을 참고하세요.
인스턴스를 일괄 생성하는 동안 게스트 OS 종료 구성
게스트 OS 종료를 건너뛰도록 구성된 컴퓨팅 인스턴스를 일괄로 만들려면 다음 옵션 중 하나를 선택합니다.
gcloud
게스트 OS 종료를 건너뛰도록 구성된 인스턴스를 일괄로 만들려면
--skip-guest-os-shutdown
플래그와 함께gcloud compute instances bulk create
명령어를 사용합니다.예를 들어 단일 영역에서 이름 패턴을 사용하는 인스턴스를 일괄로 만들려면 다음 명령어를 실행합니다.
gcloud compute instances bulk create \ --count=COUNT \ --machine-type=MACHINE_TYPE \ --name-pattern="NAME_PATTERN" \ --skip-guest-os-shutdown \ --zone=ZONE
다음을 바꿉니다.
COUNT
: 만들 인스턴스 수입니다.MACHINE_TYPE
: 인스턴스에 사용할 머신 유형입니다.NAME_PATTERN
: 인스턴스의 이름 패턴입니다. 인스턴스 이름에서 일련의 숫자를 바꾸려면 해시(#
) 문자 시퀀스를 사용합니다. 예를 들어instance-#
을 이름 패턴으로 사용하면 Compute Engine에서instance-1
,instance-2
로 시작하는 이름의 인스턴스를 생성하고COUNT
에 지정된 인스턴스 수까지 이 증분 패턴을 계속합니다.ZONE
: 인스턴스를 만들 영역입니다.
REST
게스트 OS 종료를 건너뛰도록 구성된 인스턴스를 일괄로 만들려면
instances.bulkInsert
메서드에POST
요청을 보냅니다. 요청 본문에true
로 설정된skipGuestOsShutdown
필드를 포함합니다.예를 들어 단일 영역에서 이름 패턴을 사용하는 인스턴스를 일괄로 만들려면 다음과 같이
POST
요청을 수행합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert { "count": COUNT, "namePattern": "NAME_PATTERN", "instanceProperties": { "machineType": "MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "scheduling": { "skipGuestOsShutdown": true } } }
다음을 바꿉니다.
PROJECT_ID
: 인스턴스를 일괄로 만들려는 프로젝트의 ID입니다.ZONE
: 인스턴스를 만들 영역입니다.COUNT
: 만들 인스턴스 수입니다.NAME_PATTERN
: 인스턴스 이름 패턴. 인스턴스 이름에서 일련의 숫자를 바꾸려면 해시(#
) 문자 시퀀스를 사용합니다. 예를 들어instance-#
을 이름 패턴으로 사용하면 Compute Engine에서instance-1
,instance-2
로 시작하는 이름의 인스턴스를 생성하고COUNT
에 지정된 인스턴스 수까지 이 증분 패턴을 계속합니다.MACHINE_TYPE
: 인스턴스에 사용할 머신 유형입니다.IMAGE_PROJECT
: 이미지가 포함된 이미지 프로젝트입니다(예:debian-cloud
). 지원되는 이미지 프로젝트에 대한 자세한 내용은 공개 이미지를 참조하세요.IMAGE
: 다음 중 하나를 지정합니다.OS 이미지의 특정 버전입니다(예:
debian-12-bookworm-v20240617
).이미지 계열이며 형식은
family/IMAGE_FAMILY
여야 합니다. 이 값은 지원 중단되지 않은 최신 OS 이미지를 지정합니다. 예를 들어family/debian-12
를 지정하면 Compute Engine에서 Debian 12 이미지 계열의 최신 버전을 사용합니다. 이미지 계열 사용 방법에 대한 자세한 내용은 이미지 계열 권장사항을 참고하세요.
인스턴스를 일괄로 만드는 방법에 대한 자세한 내용은 인스턴스를 일괄로 만들기를 참고하세요.
인스턴스 템플릿을 만드는 동안 게스트 OS 종료 구성
컴퓨팅 인스턴스를 중지하거나 삭제할 때 게스트 OS 종료를 건너뛰도록 구성된 인스턴스 템플릿을 만든 후에는 인스턴스 템플릿을 사용하여 다음을 수행할 수 있습니다.
다음을 수행할 때 관리형 인스턴스 그룹 (MIG)의 인스턴스가 중지 또는 삭제 시 게스트 OS 종료를 건너뛰도록 구성할 수 있습니다.
게스트 OS 종료를 건너뛰도록 구성된 인스턴스 템플릿을 만들려면 다음 옵션 중 하나를 선택합니다.
gcloud
게스트 OS 종료를 건너뛰도록 구성된 인스턴스 템플릿을 만들려면
--skip-guest-os-shutdown
플래그와 함께gcloud compute instance-templates create
명령어를 사용합니다.예를 들어 게스트 OS 종료를 건너뛰도록 지정하는 리전 인스턴스 템플릿을 만들려면 다음 명령어를 실행합니다. 전역 인스턴스 템플릿을 만들려면
--instance-template-region
플래그 없이 같은 명령어를 사용합니다.gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --instance-template-region=REGION \ --machine-type=MACHINE_TYPE \ --skip-guest-os-shutdown
다음을 바꿉니다.
INSTANCE_TEMPLATE_NAME
: 인스턴스 템플릿의 이름입니다.REGION
: 인스턴스 템플릿을 만들 리전입니다.MACHINE_TYPE
: 인스턴스 템플릿에 지정할 머신 유형입니다.
REST
게스트 OS 종료를 건너뛰도록 구성된 인스턴스 템플릿을 만들려면
POST
요청을 다음 메서드 중 하나에 보냅니다.전역 인스턴스 템플릿을 만들려면
instanceTemplates.insert
메서드를 사용합니다.리전 인스턴스 템플릿을 만들려면
regionInstanceTemplates.insert
메서드를 사용합니다.
요청 본문에
true
으로 설정된skipGuestOsShutdown
필드를 포함합니다.예를 들어 게스트 OS 종료를 건너뛰도록 지정하는 리전 인스턴스 템플릿을 만들려면 다음과 같이
POST
요청을 수행합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default" } ], "scheduling": { "skipGuestOsShutdown": true } } }
다음을 바꿉니다.
PROJECT_ID
: 인스턴스 템플릿을 만들려는 프로젝트의 ID입니다.REGION
: 인스턴스 템플릿을 만들 리전입니다.INSTANCE_TEMPLATE_NAME
: 인스턴스 템플릿의 이름입니다.IMAGE_PROJECT
: 이미지가 포함된 이미지 프로젝트(예:debian-cloud
). 지원되는 이미지 프로젝트에 대한 자세한 내용은 공개 이미지를 참조하세요.IMAGE
: 다음 중 하나를 지정합니다.OS 이미지의 특정 버전입니다(예:
debian-12-bookworm-v20240617
).이미지 계열이며 형식은
family/IMAGE_FAMILY
여야 합니다. 중단되지 않은 최신 OS 이미지를 지정합니다. 예를 들어family/debian-12
를 지정하면 Debian 12 이미지 계열의 최신 버전이 사용됩니다. 이미지 계열 사용에 대한 자세한 내용은 이미지 계열 권장사항을 참조하세요.
MACHINE_TYPE
: 인스턴스 템플릿에 지정할 머신 유형입니다.
인스턴스 템플릿 만들기에 대한 자세한 내용은 인스턴스 템플릿 만들기를 참조하세요.
게스트 OS 종료 설정 보기
컴퓨팅 인스턴스를 중지하거나 삭제할 때 Compute Engine에서 게스트 OS 종료를 건너뛰는지 확인할 수 있습니다.
인스턴스에서 게스트 OS 종료 시간을 보려면 다음 옵션 중 하나를 선택합니다.
gcloud
인스턴스의 세부정보와 게스트 OS 종료를 건너뛰는지 여부를 확인하려면
gcloud compute instances describe
명령어를 사용합니다.gcloud compute instances describe INSTANCE_NAME \ --zone=ZONE
다음을 바꿉니다.
INSTANCE_NAME
: 인스턴스 이름ZONE
: 인스턴스가 있는 영역
게스트 OS 종료를 건너뛰도록 인스턴스를 구성한 경우 출력에는 다음 예와 같이
true
로 설정된skipGuestOsShutdown
필드가 포함됩니다.... scheduling: automaticRestart: true skipGuestOsShutdown: true onHostMaintenance: MIGRATE preemptible: false provisioningModel: STANDARD ...
그렇지 않고
skipGuestOsShutdown
필드가 누락되었거나false
로 설정된 경우 게스트 OS는 기본 종료 시간을 사용합니다.REST
인스턴스의 세부정보와 게스트 OS 종료를 건너뛰는지 여부를 확인하려면
instances.get
메서드에GET
요청을 수행합니다.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
다음을 바꿉니다.
PROJECT_ID
: 인스턴스가 있는 프로젝트의 ID입니다.ZONE
: 인스턴스가 있는 영역INSTANCE_NAME
: 인스턴스 이름입니다.
게스트 OS 종료를 건너뛰도록 인스턴스를 구성한 경우 출력에는 다음 예와 같이
true
로 설정된skipGuestOsShutdown
필드가 포함됩니다.{ ... "scheduling": { "automaticRestart": true, "skipGuestOsShutdown": true, "onHostMaintenance": "MIGRATE", "preemptible": false, "provisioningModel": "STANDARD" }, ... }
그렇지 않고
skipGuestOsShutdown
필드가 누락되었거나false
로 설정된 경우 게스트 OS는 기본 종료 시간을 사용합니다.다음 단계
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-09-18(UTC)
-