Compute Engine 인스턴스에서 조용히 종료 보기


이 문서에서는 Compute Engine 인스턴스에서 조용히 종료의 설정과 진행 상황을 확인하는 방법을 설명합니다. 정상 종료에 대한 자세한 내용은 정상 종료 개요를 참고하세요.

인스턴스의 세부정보를 볼 때 다음 작업을 할 수 있습니다.

  • 조용히 종료 설정 보기 조용히 종료가 사용 설정되어 있는지, 그리고 얼마나 지속되는지 확인할 수 있습니다.

  • 조용히 종료 모니터링 단계적 종료가 진행 중일 때 다음을 확인할 수 있습니다.

    • 단계적 종료 프로세스가 시간 초과된 경우

    • 중지 또는 삭제 작업이 진행 중인 경우

시작하기 전에

  • 아직 인증을 설정하지 않았다면 설정합니다. 인증은 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다. Google Cloud 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음 옵션 중 하나를 선택하여 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

    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 사용을 위한 인증을 참고하세요.

필요한 역할

Compute 인스턴스의 조용히 종료 상태를 확인하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Compute 인스턴스 관리자 (v1) (roles/compute.instanceAdmin.v1) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

이 사전 정의된 역할에는 컴퓨팅 인스턴스의 조용히 종료 상태를 보는 데 필요한 compute.instances.get on the project 권한이 포함되어 있습니다.

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

조용히 종료 설정 보기

컴퓨팅 인스턴스의 조용히 종료 설정을 보려면 다음 옵션 중 하나를 선택합니다.

콘솔

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

    VM 인스턴스로 이동

  2. 이름 열에서 인스턴스 이름을 클릭합니다.

    세부정보 탭에 인스턴스의 세부정보 페이지가 열립니다.

  3. 조용히 종료 설정을 확인하려면 가용성 정책 섹션에서 조용히 종료 최대 시간 필드의 값을 확인합니다. 이 필드에는 조용히 종료 기간이 표시됩니다. 하이픈 (-)이 표시되면 단계적 종료가 사용 중지된 것입니다.

gcloud

인스턴스의 조용히 종료 설정을 보려면 gcloud beta compute instances describe 명령어를 사용합니다.

gcloud beta compute instances describe INSTANCE_NAME \
    --zone=ZONE

다음을 바꿉니다.

  • INSTANCE_NAME: 인스턴스 이름입니다.

  • ZONE: 인스턴스가 있는 영역입니다.

조용히 종료가 사용 설정된 경우 출력은 다음과 비슷합니다.

...
scheduling:
  ...
  gracefulShutdown:
    enabled: true
    maxDuration:
      seconds: 'MAX_DURATION'
  ...
...

출력에는 MAX_DURATION 값이 포함됩니다. 이 값은 단계적 종료 기간이 지속되는 시간을 초 단위로 나타냅니다. 인스턴스에서 조용히 종료 기능을 사용 설정할 때 맞춤 종료 기간을 지정하지 않은 경우 Compute Engine은 maxDuration 필드를 생략하고 조용히 종료 기간을 10분으로 설정합니다.

REST

인스턴스의 단계적 종료 설정을 보려면 베타 instances.get 메서드에 대해 GET 요청을 실행합니다.

GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME

다음을 바꿉니다.

  • PROJECT_ID: 만든 인스턴스가 속한 프로젝트의 ID입니다.

  • ZONE: 인스턴스가 있는 영역입니다.

  • INSTANCE_NAME: 인스턴스 이름입니다.

조용히 종료가 사용 설정된 경우 출력은 다음과 비슷합니다.

{
  ...
  "scheduling": {
    ...
    "gracefulShutdown": {
      "enabled": true,
      "maxDuration": {
        "seconds": "MAX_DURATION"
      }
    }
  },
  ...
}

출력에는 MAX_DURATION 값이 포함됩니다. 이 값은 단계적 종료 기간이 지속되는 시간을 초 단위로 나타냅니다. 인스턴스에서 조용히 종료 기능을 사용 설정할 때 맞춤 종료 기간을 지정하지 않은 경우 Compute Engine은 maxDuration 필드를 생략하고 조용히 종료 기간을 10분으로 설정합니다.

단계적 종료 모니터링

컴퓨팅 인스턴스에서 진행 중인 조용히 종료 모드를 모니터링하려면 다음 옵션 중 하나를 선택합니다.

콘솔

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

    VM 인스턴스로 이동

  2. 이름 열에서 인스턴스 이름을 클릭합니다.

    세부정보 탭에 인스턴스의 세부정보 페이지가 열립니다.

  3. 단계적 종료가 진행 중인 경우 기본 정보 섹션에서 다음 필드를 확인합니다.

    • 상태: 이 필드에는 인스턴스의 상태가 표시됩니다. 단계적 종료 중에 이 필드에는 중지 대기 중과 카운트다운 타이머가 표시됩니다. 타이머는 조용히 종료가 종료되는 순간까지 카운트다운합니다.

    • 타겟 상태: 이 필드는 Compute Engine에서 인스턴스를 중지 (중지됨)하고 있는지 또는 삭제 (삭제됨)하고 있는지 여부를 나타냅니다.

gcloud

인스턴스에서 진행 중인 조용히 종료를 모니터링하려면 gcloud beta compute instances describe 명령어를 사용합니다.

gcloud beta compute instances describe INSTANCE_NAME \
    --zone=ZONE

다음을 바꿉니다.

  • INSTANCE_NAME: 인스턴스 이름입니다.

  • ZONE: 인스턴스가 있는 영역입니다.

조용히 종료가 진행 중인 경우 출력은 다음과 비슷합니다.

...
resourceStatus:
  ...
  shutdownDetails:
    maxDuration:
      seconds: 'MAX_DURATION'
    requestTimestamp: 'REQUEST_TIMESTAMP'
    stopState: STOP_STATE
    targetState: TARGET_STATE
...
status: PENDING_STOP
...

이 출력에는 다음 값이 포함됩니다.

  • MAX_DURATION: 조용히 종료 기간(초)입니다. Compute Engine이 STOP_STATESTOPPING로 설정한 후 maxDuration 필드를 삭제합니다.

  • REQUEST_TIMESTAMP: STOP_STATE가 시작된 시점의 타임스탬프입니다.

  • STOP_STATE: 인스턴스의 중지 단계입니다. 값은 다음 중 하나일 수 있습니다.

    • PENDING_STOP: Compute Engine에서 조용히 종료되기 시작했습니다. 인스턴스는 조용히 종료되도록 수동으로 종료하거나 조용히 종료 기간이 만료될 때까지 이 상태로 유지됩니다.

    • STOPPING: 조용히 종료가 완료되고 Compute Engine에서 중지 또는 삭제 작업을 계속합니다.

  • TARGET_STATE: Compute Engine에서 인스턴스를 중지 (STOPPED)하거나 삭제 (DELETED)하는지 여부입니다.

중지 작업이 실행 중인 경우 Compute Engine은 status 필드를 TERMINATE로 설정한 후 shutdownDetails 필드를 삭제합니다.

REST

인스턴스에서 진행 중인 단계적 종료를 모니터링하려면 베타 instances.get 메서드GET 요청을 실행합니다.

GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME

다음을 바꿉니다.

  • PROJECT_ID: 만든 인스턴스가 속한 프로젝트의 ID입니다.

  • ZONE: 인스턴스가 있는 영역입니다.

  • INSTANCE_NAME: 인스턴스 이름입니다.

조용히 종료가 진행 중인 경우 출력은 다음과 비슷합니다.

{
  ...
  "resourceStatus": {
    ...
    "shutdownDetails": {
      "maxDuration": {
        "seconds": "MAX_DURATION"
      },
      "requestTimestamp": "REQUEST_TIMESTAMP",
      "stopState": "STOP_STATE",
      "targetState": "TARGET_STATE"
    }
  },
  ...
  "status": "PENDING_STOP",
  ...
}

이 출력에는 다음 값이 포함됩니다.

  • MAX_DURATION: 조용히 종료 기간(초)입니다. Compute Engine이 STOP_STATESTOPPING로 설정한 후 maxDuration 필드를 삭제합니다.

  • REQUEST_TIMESTAMP: STOP_STATE가 시작된 시점의 타임스탬프입니다.

  • STOP_STATE: 인스턴스의 중지 단계입니다. 값은 다음 중 하나일 수 있습니다.

    • PENDING_STOP: Compute Engine에서 조용히 종료되기 시작했습니다. 인스턴스는 조용히 종료되도록 수동으로 종료하거나 조용히 종료 기간이 만료될 때까지 이 상태로 유지됩니다.

    • STOPPING: 조용히 종료가 완료되고 Compute Engine에서 중지 또는 삭제 작업을 계속합니다.

  • TARGET_STATE: Compute Engine에서 인스턴스를 중지 (STOPPED)하거나 삭제 (DELETED)하는지 여부입니다.

중지 작업이 실행 중인 경우 Compute Engine은 status 필드를 TERMINATE로 설정한 후 shutdownDetails 필드를 삭제합니다.

메타데이터 서버

  1. 인스턴스에 연결합니다.

  2. 메타데이터 서버를 쿼리합니다.

    curl "http://metadata.google.internal/computeMetadata/v1/instance/shutdown-details/?recursive=true?alt=json" \-H "Metadata-Flavor: Google"
    

    조용히 종료가 진행 중인 경우 출력은 다음과 비슷합니다.

    {
      "maxDuration": "MAX_DURATION",
      "requestTimestamp": "REQUEST_TIMESTAMP",
      "stopState": "STOP_STATE",
      "targetState": "TARGET_STATE"
    }
    

    출력에는 다음 값이 포함됩니다.

    • MAX_DURATION: 조용히 종료 기간(초)입니다. Compute Engine이 STOP_STATESTOPPING로 설정한 후 maxDuration 필드를 삭제합니다.

    • REQUEST_TIMESTAMP: STOP_STATE가 시작된 시점의 타임스탬프입니다.

    • STOP_STATE: 인스턴스의 중지 단계입니다. 이 값은 다음 중 하나일 수 있습니다.

      • PENDING_STOP: Compute Engine에서 조용히 종료되기 시작했습니다. 인스턴스는 조용히 종료가 수동으로 종료되거나 조용히 종료 기간이 만료될 때까지 이 상태로 유지됩니다.

      • STOPPING: 조용히 종료가 완료되고 Compute Engine에서 중지 또는 삭제 작업을 계속합니다.

    • TARGET_STATE: Compute Engine에서 인스턴스를 중지 (STOPPED)하거나 삭제 (DELETED)하는지 여부입니다.

다음 단계