인스턴스 중지 및 시작

이·페이지에서는·VM 인스턴스를 중지하거나 시작하는 방법을 설명합니다. 인스턴스를 중지하는 방법에 대해 자세히 알아보려면 인스턴스 수명 주기를 참조하세요.

인스턴스가 더 이상 필요하지 않으면 인스턴스를 일시적으로 중지했다가 나중에 다시 시작할 수 있습니다. 중지된 인스턴스는 해당 영구 디스크, 내부 IP, MAC 주소를 유지하지만, 게스트 OS를 종료하고 해당 애플리케이션 상태를 유지하지 않습니다. 기본적으로 중지된 인스턴스는 전원 켜짐 상태로 재설정되고 데이터는 저장되지 않습니다. 머신 유형 변경, 연결된 디스크 추가 또는 제거, 최소 CPU 플랫폼 변경, GPU 추가 또는 제거, 크기 조정 권장 사항 적용을 수행하려면 인스턴스를 중지하세요.

인스턴스를 중지하면 Compute Engine에서 ACPI 종료 신호를·인스턴스로 전송합니다. 최신 게스트 운영체제는 종료 신호에 대한 응답으로 종료하기에 앞서 완전 종료를 수행하도록 구성되어 있습니다. Compute Engine에서는 게스트가 종료를 마칠 때까지 잠시 기다린 다음 인스턴스를 TERMINATED 상태로 전환합니다.

중지된·인스턴스에는 요금이 부과되지 않지만·인스턴스에 연결된·모든 리소스에는 여전히 요금이 청구됩니다. 예를 들어, 인스턴스가 중지된 경우에도 영구 디스크 및·외부·IP·주소에 대해·가격표에 따라 요금이 청구됩니다. 연결된 리소스에 대해 요금이 청구되지 않도록 하려면 중지된 리소스가 해당 리소스를 사용하지 않도록 구성한 다음 리소스를 삭제할 수 있습니다.

시작하기 전에

제한사항

로컬 SSD가 연결된 인스턴스는 중지할 수 없습니다. Compute Engine에서는 인스턴스에 로컬 SSD가 연결되어 있는 경우 사용자가 게스트 운영체제 내부에서 인스턴스를 종료할 수 있으므로 특히 주의해야 합니다.

로컬 SSD

로컬 SSD가 연결된 인스턴스는 중지할 수 없습니다. 대신, 인스턴스를 완전히 삭제하기 전에·로컬·SSD에서·영구·디스크로 또는·다른·인스턴스로 중요 데이터를 이전해야 합니다. Compute Engine에서는 사용자가 로컬 SSD가 있는 인스턴스에서 게스트 운영체제를 종료할 수 있으므로 인스턴스에서 게스트 운영체제를 종료할 때는 특히 주의하세요.

결제

VM이 TERMINATED 상태인 경우 Google에서는 VM 리소스에 대해 요금을 청구하지 않습니다.

특히 VM이 RUNNING 상태이고 중지되는 중인 경우(아직 TERMINATED 상태는 아님) Google에서는 vCPU, 메모리, GPU, 로컬 SSD 사용량에 대해 요금을 청구합니다. STOPPING 상태가 종료되고 VM이 TERMINATED 상태가 되면 Google에서는 위에 언급된 리소스에 대한 요금 청구를 중지합니다.

영구 디스크, 고정 외부 IP 주소 등과 같이 TERMINATED VM에 연결되어 있는 기타 모든 리소스에 대해서는 계속 비용이 발생합니다.

인스턴스 상태에 대한 자세한 내용은 인스턴스 수명 주기 문서를 참조하세요.

인스턴스 중지

인스턴스를 중지하려면 Google Cloud Platform Console, gcloud 도구 또는 API를 사용하세요.

콘솔

  1. GCP 콘솔에서 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스 페이지로 이동

  2. 중지할 인스턴스를 하나 이상 선택합니다.
  3. VM 인스턴스 페이지 맨 위에서 중지를 클릭합니다.

gcloud

instances stop 명령어를 사용하고 중지할 인스턴스를 하나 이상 지정합니다.

gcloud compute instances stop example-instance-1 example-instance-2

API

API에서 인스턴스 중지를 위해 POST 요청을 생성합니다.

POST https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance/stop

TERMINATED 인스턴스가 구성·설정 및·인스턴스·메타데이터와 함께 여전히 존재하지만 인메모리 데이터 및 가상 머신의 상태는 손실됩니다. 종료된 인스턴스에 여전히 연결되어 있는 모든 리소스는 수동으로 해당 리소스를 분리하거나 인스턴스를 삭제할 때까지 계속 연결되어 있습니다.

인스턴스가 TERMINATED 상태가 되면 인스턴스를 다시 시작하거나 삭제할 수 있습니다. 무기한으로 인스턴스를 TERMINATED 상태로 둘 수도 있습니다. 그러나·인스턴스를 다시 시작할 계획이 없으면 삭제하세요.

OS를 통한 인스턴스 중지

필요할 경우 게스트·운영체제를 통해·인스턴스를 중지할 수도 있습니다.

Linux

sudo shutdown -h now 또는 sudo poweroff 명령어를 사용하세요. 가상 머신에 로그인한 상태에서 이러한·명령어 중 하나를 실행하세요.

me@example-instance:~$ sudo shutdown -h now
me@example-instance:~$ sudo poweroff

Windows

시작 메뉴를 사용하여 위의 sudo reboot와 비슷하게 Windows 인스턴스를 재부팅할 수 있습니다. 시작 메뉴에서 로그아웃 옆에 있는 화살표를 클릭하고 다시 시작을 클릭합니다.

중지된 인스턴스 시작

중지된 인스턴스를 시작하려면 instances().start 메소드를 사용하세요. 이 메소드는 현재 TERMINATED 상태에 있는 중지된 가상 머신 인스턴스를 부팅합니다.

start 메소드는 TERMINATED 상태의 인스턴스를 다시 시작하고, reset()sudo reboot와 같은 메소드는 현재 실행 중인 인스턴스에서만 작동합니다. 로컬 SSD가 연결되어 있어 다시 시작할 수 없는 인스턴스를 제외하고, 인스턴스가 TERMINATED 상태에 있는 한 대부분의 인스턴스는 다시 시작할 수 있습니다.

콘솔

  1. Google Cloud Platform 콘솔에서 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스 페이지로 이동

  2. 다시 시작하려는 인스턴스를 선택합니다.
  3. 페이지 우측 상단에 있는 시작 버튼을 클릭하여 인스턴스를 다시 시작합니다.

gcloud

gcloud compute를 사용하여 인스턴스를 재설정하려면 다음을 사용하세요.

gcloud compute instances start example-instance

API

API에서 다음 URI에 POST 요청을 실행하되, 프로젝트, 영역, 인스턴스 이름을 적절히 대체합니다.

https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance/start

클라이언트 라이브러리를 사용하여 인스턴스를 다시 시작하려면 instances().start 메소드에 대한 요청을 생성합니다.

def restartInstance(auth_http, gce_service):
  request = gce_service.instances().start(project="myproject", zone="us-central1-a", instance="example-instance")
  response = request.execute(auth_http)

  print response

이 메소드에 대한 자세한 내용은 instances().start 참조 문서에서 확인하세요.

암호화된 디스크가 있는 인스턴스 다시 시작

다시 시작하려는 인스턴스에서 고객 제공 암호화 키를 사용하는 경우 인스턴스를 다시 시작하려고 할 때 해당 키를 제공해야 합니다.

콘솔

  1. VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스 페이지로 이동

  2. 시작할 인스턴스의 이름을 클릭합니다. 인스턴스 세부정보 페이지가 열립니다.
  3. 시작 버튼을 클릭합니다. 이 인스턴스에 연결된 기기의 암호화 키를 지정할 수 있는 창이 열립니다.
  4. 이 인스턴스에 연결된 각 암호화된 디스크의 암호화 키를 지정합니다.
  5. 시작을 클릭하여 인스턴스를 시작합니다.

gcloud

인스턴스를 시작할 때 --csek-key-file 플래그와 디스크 이름을 사용하여 키를 입력합니다. RSA 래핑 키를 사용하는 경우 gcloud beta 구성요소를 사용합니다.

gcloud compute instances start [INSTANCE_NAME] \
  --csek-key-file [ENCRYPTION_KEY]

각 항목의 의미는 다음과 같습니다.

  • [INSTANCE_NAME]은 인스턴스의 이름입니다.
  • [ENCRYPTION_KEY]는 인스턴스에 연결된 영구 디스크를 암호화하는 데 사용하는 암호화 키입니다.

API

API에서 암호화 키를 사용하여 인스턴스를 시작할 POST 요청을 작성합니다. RSA 래핑 키를 사용하는 경우 v1 API 대신 베타 API에 요청합니다.

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/startWithEncryptionKey
{
  "instanceEncryptionKey": {
    "rsaEncryptedKey": "[ENCRYPTION_KEY]"
  },
  "disk": [
    {
       "source": "[DISK_NAME]",
       "diskEncryptionKey": {
         "rsaEncryptedKey": "[ENCRYPTION_KEY]"
       }
    }
  ]
}

각 항목의 의미는 다음과 같습니다.

  • [INSTANCE_NAME]은 인스턴스의 이름입니다.
  • [PROJECT_ID]는 프로젝트 ID입니다.
  • [ZONE]은 이 인스턴스의 영역입니다.
  • [MACHINE_TYPE]은 인스턴스의 머신 유형입니다.
  • [DISK_NAME]은 고객 제공 암호화 키로 암호화된 연결된 디스크입니다.
  • [ENCRYPTION_KEY]는 인스턴스에 연결된 영구 디스크를 암호화하는 데 사용하는 암호화 키입니다.

인스턴스 재설정

인스턴스 재설정을 수행하는 것은 재설정 버튼을 누르거나 전원 버튼을 길게 눌러 컴퓨터의 초기화를 수행하는 것과 유사합니다. 인스턴스 강제 재설정을 수행하면 머신의 메모리 내용이 완전 삭제되고 가상 머신이 초기 상태로 돌아갑니다. 인스턴스가 게스트 OS의 완전 종료를 수행하지 않으며, 이 진행 과정 동안 인스턴스는 RUNNING 상태로 유지됩니다.

인스턴스를 재설정해도 인스턴스의 속성은 아무것도 바뀌지 않습니다. 인스턴스의 임시 IP 주소, 영구 디스크, 머신 유형 등은 그대로 유지됩니다. 단, 데이터를 백업하지 않으면 메모리에 저장된 모든 데이터가 재설정됩니다.

GCP Console재설정 버튼 또는 gcloudinstances reset 명령어를 사용하거나 API에서 POST 요청을 실행하여 실행 중인 인스턴스를 재설정할 수 있습니다.

콘솔

  1. Google Cloud Platform 콘솔에서 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스 페이지로 이동

  2. 재설정하려는 하나 이상의 인스턴스 옆에 있는 체크박스를 선택합니다
  3. 페이지 우측 상단에 있는 재설정 버튼을 클릭하여 인스턴스를 재설정합니다.

gcloud

gcloud compute를 사용하여 인스턴스를 재설정하려면 다음을 사용하세요.

gcloud compute instances reset example-instance

API

API에서 다음 URI에 POST 요청을 실행하되, 프로젝트, 영역, 인스턴스 이름을 적절히 대체합니다.

https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance/reset

클라이언트 라이브러리를 사용하여 인스턴스를 재설정하려면 instances().reset 메소드에 대한 요청을 생성합니다.

def resetInstance(auth_http, gce_service):
  request = gce_service.instances().reset(project="myproject", zone="us-central1-a", instance="example-instance")
  response = request.execute(auth_http)

  print response

이 메소드에 대한 자세한 내용은 instances().reset 참조 문서에서 확인하세요.

reset 명령어를 실행한 후 인스턴스가 완전히 종료되고 재부팅을 시작하면 향후 영역 작업DONE으로 반환됩니다.

기타 재시작 방법

또는 다음 메소드를 사용하여 인스턴스를 재설정할 수 있습니다.

  • sudo reboot(Linux에만 해당) - 인스턴스 내에서 호출됩니다. 메모리를 완전히 삭제하고 인스턴스를 원래의 메타데이터, 이미지, 영구 디스크로 다시 초기화합니다. 이미지의 업데이트된 버전을 가져오지 않으며 인스턴스가 동일한 임시 IP 주소를 유지합니다. 컴퓨터를 다시 시작하는 것과 유사합니다.
  • gcloud compute instances delete 다음에 gcloud compute instances create 실행 - 완전히 파괴적인 다시 시작으로, 인스턴스가 초기화되어 모든 정보가 gcloud compute instances create로 전달됩니다. 그런 다음, 사용하려는 새 이미지나 기타 리소스를 선택할 수 있습니다. 다시 시작된 인스턴스는 IP 주소가 달라질 가능성이 있습니다. 이 메소드를 사용하면 인스턴스를 호스팅하는 실제 시스템이 뒤바뀔 수 있습니다.

다음 단계

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Compute Engine 문서