이 문서에서는 가상 머신(VM) 인스턴스를 수동으로 중지 및 다시 시작하는 방법과 VM을 재설정하거나 재부팅하는 방법을 설명합니다.
VM을 더 이상 사용하지 않거나 하나 이상의 속성을 수정하려면 VM을 중지합니다. 예를 들어 VM의 이름을 바꾸거나 머신 유형을 변경하거나 연결된 디스크를 추가 또는 제거하거나 최소 CPU 플랫폼을 변경하려는 경우입니다. VM을 중지한 후 재개하여 워크로드를 다시 시작하거나 더 이상 필요하지 않은 VM을 삭제합니다.
예를 들어 VM이 응답하지 않거나 게스트 운영체제(OS)가 비정상 종료된 경우 VM을 재설정합니다. VM을 재설정한 후 워크로드를 재개할 수 있습니다.
예를 들어 VM의 메모리를 완전히 삭제하고 원래 부팅 상태로 다시 초기화하려는 경우 게스트 OS 내에서 VM을 재부팅합니다. 게스트 OS 내에서 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.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
-
VM 중지: VM에 대한
compute.instances.stop
권한 -
게스트 OS 내에서 VM 중지: 인스턴스 수준 공개 SSH 키를 사용하는 경우 VM에 대한
compute.instances.setMetadata
권한 -
VM 다시 시작: VM에 대한
compute.instances.start
권한 -
암호화 키를 사용하는 VM 다시 시작: VM에 대한
compute.instances.startWithEncryptionKey
권한 -
VM 재설정: VM에 대한
compute.instances.reset
권한 -
게스트 OS 내에서 VM 재부팅: VM에 대한
compute.instances.setMetadata
권한 Compute Engine은 ACPI 종료 신호를 VM에 전송하고 게스트 OS가 완전 종료를 수행할 때까지 잠시 기다립니다. 그런 다음 Compute Engine이 먼저 VM 상태를
STOPPING
으로 설정한 다음 1분 내에TERMINATED
로 전환합니다.VM은 전원 켜짐 상태로 재설정되고 내부 IP, MAC 주소, 구성 설정, 메타데이터를 유지합니다. 그러나 VM은 메모리 내 데이터와 VM 상태를 잃게 됩니다. 메모리 내 데이터와 VM 상태를 유지해야 하는 경우 대신 VM을 일시정지합니다.
Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
중지할 VM을 선택합니다.
중지를 클릭한 다음 중지를 클릭하여 확인합니다.
VM_NAME
: VM의 이름입니다.PROJECT_ID
: VM이 있는 프로젝트의 IDZONE
: VM이 있는 영역입니다.VM_NAME
: VM의 이름입니다.PROJECT_ID
: VM이 있는 프로젝트의 IDZONE
: VM이 있는 영역입니다.ACPI 종료 신호를 VM에 보내기 전에 VM에서 종료 스크립트를 실행할 수 있도록 허용하는 완전 종료의 경우 다음 명령어를 실행합니다.
sudo shutdown -h now
그렇지 않은 경우 강제로 종료하려면 다음 명령어를 실행합니다.
sudo poweroff
ACPI 종료 신호를 VM에 보내기 전에 VM에서 종료 스크립트를 실행할 수 있도록 허용하는 완전 종료의 경우 다음 명령어를 실행합니다.
shutdown /s
그렇지 않은 경우 강제로 종료하려면 다음 명령어를 실행합니다.
shutdown /f
Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
VM을 1개 이상 선택하세요.
시작/재개를 클릭합니다.
VM_NAME
: VM의 이름입니다.PROJECT_ID
: VM이 있는 프로젝트의 IDZONE
: VM이 있는 영역입니다.VM_NAME
: 다시 시작할 VM의 이름PROJECT_ID
: VM이 있는 프로젝트의 IDZONE
: VM이 있는 영역입니다.Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
다시 시작할 VM을 선택합니다.
시작/재개를 클릭합니다.
이 VM에 연결된 각 암호화된 디스크에 대한 암호화 키를 지정한 다음 시작을 클릭합니다.
VM_NAME
: VM의 이름입니다.ENCRYPTION_KEY_FILE
: 고객 제공 암호화 키가 포함된 JSON 파일의 상대 경로입니다.PROJECT_ID
: VM이 있는 프로젝트의 IDZONE
: VM이 있는 영역입니다.PROJECT_ID
: VM이 있는 프로젝트의 IDZONE
: VM이 있는 영역입니다.VM_NAME
: VM의 이름입니다.DISK_URL
: 고객 제공 암호화 키로 암호화된 연결 디스크의 전체 리소스 이름에 해당하는 리소스 URL입니다.ENCRYPTION_TYPE
: 사용 중인 디스크 암호화 유형이며 다음rawKey
,kmsKeyName
,rsaEncryptedKey
중 하나일 수 있습니다.rsaEncryptedKey
유형을 사용하는 경우 v1 API 대신 베타 API에POST
요청을 수행해야 합니다.ENCRYPTION_KEY
: VM에 연결된 영구 디스크를 암호화하는 데 사용되는 암호화 키입니다.rawKey
또는rsaEncryptedKey
키는 base64로 인코딩되어야 합니다. 또한rsaEncryptedKey
키를 준비하려면 RSA 키 래핑을 참조하세요.VM은 원래의 메타데이터, 이미지, 영구 디스크를 사용하여 초기 부팅 상태로 다시 초기화됩니다.
데이터를 백업하지 않으면 VM에서 머신의 메모리 콘텐츠를 강제로 삭제합니다.
이 프로세스 동안 VM 상태는
RUNNING
으로 유지됩니다.Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
재설정할 VM을 선택합니다.
재설정을 클릭한 후 재설정을 다시 클릭합니다.
VM_NAME
: VM의 이름입니다.PROJECT_ID
: VM이 있는 프로젝트의 IDZONE
: VM이 있는 영역입니다.VM_NAME
: VM의 이름입니다.PROJECT_ID
: VM이 있는 프로젝트의 IDZONE
: VM이 있는 영역입니다.VM은 원래의 메타데이터, 이미지, 영구 디스크를 사용하여 초기 부팅 상태로 다시 초기화됩니다.
데이터를 백업하지 않으면 VM에서 머신의 메모리 콘텐츠를 완전 삭제합니다.
이 프로세스 동안 VM 상태는
RUNNING
으로 유지됩니다.중지된 VM에서 해당 리소스를 분리합니다.
VM을 삭제합니다. 이 작업을 수행하면 VM에 연결된 모든 리소스도 삭제됩니다.
VM 자동 시작 및 중지 일정 예약 방법 알아보기
VM 런타임 제한 방법 알아보기
VM이 예기치 않게 종료된 후 다음 중 하나를 수행하여 문제를 해결하는 방법에 대해 알아봅니다.
대화형 직렬 콘솔을 사용하여 VM 문제 해결
VM에서 머신 유형을 변경하는 방법 알아보기
Go
이 페이지의 Go 샘플을 로컬 개발 환경에서 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
Java
이 페이지의 Java 샘플을 로컬 개발 환경에서 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
Node.js
이 페이지의 Node.js 샘플을 로컬 개발 환경에서 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
PHP
이 페이지의 PHP 샘플을 로컬 개발 환경에서 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
Python
이 페이지의 Python 샘플을 로컬 개발 환경에서 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
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 인스턴스 관리자(v1)(
roles/compute.instanceAdmin.v1
) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.이 사전 정의된 역할에는 VM을 중지하고 다시 시작하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
VM을 중지하고 다시 시작하려면 다음 권한이 필요합니다.
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
VM 중지
실행 중인 VM을 중지하면 다음과 같은 결과가 발생합니다.
또한 VM에 리소스를 연결한 경우 해당 리소스는 수동으로 분리하거나 VM을 삭제할 때까지 연결된 상태로 유지됩니다. VM에 로컬 SSD 디스크가 연결된 경우 VM을 중지하면 기본적으로 로컬 SSD 디스크의 모든 데이터가 삭제됩니다. 로컬 SSD 디스크에서 데이터를 유지하려면
--discard-local-ssd=false
플래그가 있는 gcloud CLI를 사용하여 VM을 중지해야 합니다. 자세한 내용은 로컬 SSD로 VM 중지를 참조하세요.VM을 중지하려면 이 문서에 설명된 방법 중 하나를 선택합니다.
VM을 중지한 후에는 다시 시작하거나 삭제할 수 있습니다. VM을 다시 시작하지 않으려면 VM을 삭제하는 것이 좋습니다.
Google Cloud를 통해 VM 중지
한 번에 두 개 이상의 VM을 중지하려면 Google Cloud 콘솔을 사용합니다.
콘솔
하나 이상의 VM을 중지하려면 다음을 수행합니다.
gcloud
VM을 중지하려면
gcloud compute instances stop
명령어를 사용합니다.gcloud compute instances stop VM_NAME \ --project=PROJECT_ID \ --zone=ZONE
다음을 바꿉니다.
VM에 로컬 SSD 디스크를 연결하고 VM을 중지한 후 로컬 SSD 데이터를 유지하려면
--discard-local-ssd=false
플래그와 함께gcloud beta compute instances stop
명령어를 사용합니다.gcloud beta compute instances stop VM_NAME \ --discard-local-ssd=false \ --project=PROJECT_ID \ --zone=ZONE
Go
자바
Node.js
PHP
Python
REST
VM을 중지하려면
instances.stop
메서드에POST
요청을 수행합니다.POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
다음을 바꿉니다.
게스트 OS 내에서 VM 중지
VM에 연결되었을 때 게스트 OS 내에서 VM을 중지하려면 다음 탭 중 하나를 선택합니다.
Linux
Linux VM을 중지하려면 다음 방법 중 하나를 선택합니다.
Windows
Windows VM을 중지하려면 다음 방법 중 하나를 선택합니다.
VM 다시 시작
VM이
TERMINATED
상태인 경우에만 중지된 VM을 다시 시작할 수 있습니다. VM을 다시 시작하려면 이 문서에 설명된 다음 방법 중 하나를 선택합니다.암호화된 디스크가 없는 VM 다시 시작
암호화된 디스크를 사용하지 않는 중지된 VM을 다시 시작합니다(기본값). 한 번에 두 개 이상의 VM을 다시 시작하려면 Google Cloud 콘솔을 사용합니다.
콘솔
하나 이상의 VM을 다시 시작하려면 다음을 수행합니다.
gcloud
VM을 다시 시작하려면
gcloud compute instances start
명령어를 사용합니다.gcloud compute instances start VM_NAME \ --project=PROJECT_ID \ --zone=ZONE
다음을 바꿉니다.
Go
자바
Node.js
PHP
Python
REST
VM을 다시 시작하려면
instances.start
메서드에POST
요청을 수행합니다.POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
다음을 바꿉니다.
암호화된 디스크를 사용하는 VM 다시 시작
고객 제공 암호화 키를 사용하는 중지된 VM을 다시 시작하여 VM에 연결된 영구 디스크를 암호화할 수 있습니다.
콘솔
암호화된 디스크를 사용하는 VM을 다시 시작하려면 다음을 수행합니다.
gcloud
암호화된 디스크를 사용하는 VM을 다시 시작하려면
--csek-key-file
플래그와 함께gcloud compute instances start
명령어를 사용합니다. RSA 래핑 키를 사용하는 경우 대신gcloud beta compute instances start
명령어를 사용하세요.gcloud compute instances start VM_NAME \ --csek-key-file=ENCRYPTION_KEY_FILE \ --project=PROJECT_ID \ --zone=ZONE
다음을 바꿉니다.
Go
자바
Node.js
PHP
Python
REST
암호화된 디스크를 사용하는 VM을 다시 시작하려면
instances.startWithEncryptionKey
메서드에POST
요청을 수행합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/startWithEncryptionKey { "disks": [ { "source": "DISK_URL", "diskEncryptionKey": { "ENCRYPTION_TYPE": "ENCRYPTION_KEY" } } ] }
다음을 바꿉니다.
VM 재설정
실행 중인 VM 재설정은 재설정 버튼을 누르거나 전원 버튼을 길게 눌러 컴퓨터의 초기화를 수행하는 것과 유사합니다. VM을 재설정할 때 VM에 게스트 OS를 완전히 종료하기 위한 시간이 부여되지 않습니다. 이로 인해 디스크의 파일 시스템이 손상될 수 있습니다. Google Cloud는 게스트 OS가 비정상 종료되어 다른 옵션이 없는 경우에만 VM을 재설정하는 것이 좋습니다. VM을 다시 초기화하고 완전 종료를 수행하려면 이 문서의 VM 재부팅을 참조하세요.
VM을 재설정하면 다음과 같은 결과가 발생합니다.
VM을 재설정해도 VM 속성은 변경되지 않습니다. VM은 임시 IP, 고정 외부 IP, 영구 디스크, 로컬 SSD 디스크(있는 경우), 머신 유형을 유지합니다.
콘솔
실행 중인 VM을 1개 이상 재설정하려면 다음을 수행합니다.
gcloud
실행 중인 VM을 재설정하려면
gcloud compute instances reset
명령어를 사용합니다.gcloud compute instances reset VM_NAME \ --project=PROJECT_ID \ --zone=ZONE
다음을 바꿉니다.
Go
자바
Node.js
PHP
Python
REST
실행 중인 VM을 재설정하려면
instances.reset
메서드에POST
요청을 수행합니다.POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/reset
다음을 바꿉니다.
VM 재부팅
게스트 OS 내에서 VM을 재부팅하면 다음과 같은 결과가 발생합니다.
VM을 재설정하는 것과 비교하여 게스트 OS 내에서 VM을 재부팅하면 ACPI 종료 신호를 VM에 보내기 전에 VM이 실행 중인 모든 태스크를 완료할 때까지 기다립니다. 이렇게 하면 VM이 완전 종료를 수행할 수 있습니다.
VM을 재부팅해도 VM 속성은 변경되지 않습니다. VM은 임시 IP, 고정 외부 IP, 영구 디스크, 로컬 SSD 디스크(있는 경우), 머신 유형을 유지합니다.
Linux
Linux VM을 재설정하려면 다음 명령어를 실행하여 게스트 OS를 재부팅합니다.
sudo reboot
Windows
Windows VM을 재설정하려면 다음 명령어를 실행하여 게스트 OS를 재부팅합니다.
shutdown /r /t 0
선택적으로 VM 종료 및 다시 시작 프로세스를 모니터링하려면 Windows 부팅 관리자 메뉴를 사용 설정합니다.
청구
VM이 중지되고 Compute Engine이 상태를
TERMINATED
로 설정하면 CPU 사용에 대한 요금이 더 이상 발생하지 않습니다. 그러나 영구 디스크 및 외부 IP 주소와 같이 VM에 연결된 리소스에 대해서는 요금이 계속 발생합니다.VM에 연결된 리소스에 대한 요금이 청구되지 않도록 하려면 다음 중 하나를 수행합니다.
다음 단계
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2024-11-28(UTC)
-