스냅샷 설정을 사용하여 기본 스토리지 위치 설정


스냅샷을 만들 때 개발자가 명시적으로 다른 값을 제공하지 않는 한 Google Cloud는 구성 옵션에 사전 정의된 기본값을 사용합니다. 스냅샷 설정은 프로젝트 수준에서 중앙 집중식 구성 매개변수로, Google Cloud에서 스냅샷을 저장하는 기본 위치를 맞춤설정할 수 있게 해줍니다. 스냅샷 설정을 사용하여 자체 커스텀 기본값을 정의하면 스냅샷을 만들 때마다 위치를 수동으로 지정할 필요가 없습니다.

이 문서에서는 스냅샷 설정과 이를 사용하여 프로젝트 스냅샷의 기본 스토리지 위치를 맞춤설정하는 방법을 설명합니다.

시작하기 전에

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

    이 페이지의 샘플 사용 방법에 대한 탭을 선택하세요.

    gcloud

    1. Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

      gcloud init
    2. 기본 리전 및 영역을 설정합니다.

    REST

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

      Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

      gcloud init

제한사항

  • gcloud CLI 또는 REST를 사용해서만 스냅샷 설정을 보고 업데이트할 수 있습니다.
  • 인스턴트 스냅샷의 기본 스토리지 위치를 맞춤설정할 수 없습니다. 표준 스냅샷 및 보관처리 스냅샷만 맞춤설정할 수 있습니다.
  • 프로젝트의 스냅샷 설정에서 위치 정책을 수정하면 수정 이후에 생성된 스냅샷만 영향을 받습니다. 프로젝트의 스냅샷 설정을 업데이트해도 기존 스냅샷 위치는 변경되지 않습니다.
  • 스냅샷을 만드는 동안 수동으로 위치를 지정하면 Google Cloud에서 스냅샷 설정을 재정의하고 새로 지정된 위치에 스냅샷을 만듭니다. 그러나 스냅샷 설정의 스토리지 위치 정책은 변경되지 않고 그대로 유지됩니다.

스냅샷 설정 작동 방식

프로젝트 스냅샷 설정의 스토리지 위치 정책은 Google Cloud에서 해당 프로젝트의 스냅샷을 자동으로 저장하는 위치를 정의합니다. Google Cloud는 스냅샷 설정을 업데이트하고 새 기본값을 구성할 때까지 이 스토리지 위치 정책에 사전 정의된 값을 유지합니다. 스냅샷 설정을 업데이트하고 새 기본 스토리지 위치를 설정하면 Google Cloud에서 이 위치를 사용하여 해당 프로젝트에 생성된 모든 새 스냅샷을 저장합니다.

스냅샷 설정을 업데이트하여 스토리지 위치 정책을 여러 번 수정할 수 있습니다. 그러나 프로젝트의 스냅샷 설정을 수정하면 수정 이후에 생성된 스냅샷의 위치만 영향을 받습니다. 프로젝트의 스냅샷 설정을 업데이트해도 기존 스냅샷 위치는 변경되지 않습니다.

Google Cloud에서 스냅샷 설정으로 정의된 스토리지 위치를 사용하도록 하려면 스냅샷을 만드는 동안 위치를 수동으로 지정하지 마세요. 스냅샷을 만드는 동안 수동으로 위치를 지정하면 Google Cloud에서 스냅샷 설정을 재정의하고 새로 지정된 위치에 스냅샷을 만듭니다. 그러나 스냅샷 설정의 스토리지 위치 정책은 변경되지 않고 그대로 유지됩니다.

스냅샷 설정을 사용하여 표준 스냅샷과 보관처리 스냅샷의 기본 스토리지 위치를 맞춤설정할 수 있습니다. 인스턴트 스냅샷의 기본 스토리지 위치를 맞춤설정할 수 없습니다.

스토리지 위치 옵션

프로젝트의 스냅샷 설정을 구성하고 새 기본 스토리지 위치를 지정할 때 특정 리전을 선택하거나 디스크 기반 위치 설정을 사용할 수 있습니다. 구체적으로는 스토리지 위치 정책의 다음 위치 옵션 중 하나를 선택할 수 있습니다.

  • 소스 디스크에 가장 가까운 멀티 리전
  • 소스 디스크와 동일한 로컬 리전
  • 원하는 특정 리전

Google Cloud 사전 정의된 스토리지 위치 정책

스냅샷 설정을 처음 업데이트할 때까지 Google Cloud는 스토리지 위치 정책에 사전 정의된 값을 유지합니다. 이 사전 정의된 정책은 프로젝트의 스냅샷 설정을 업데이트하여 고유한 기본 스토리지 위치를 구성할 때까지 스냅샷의 기본 스토리지 위치를 제공합니다. 사전 정의된 스토리지 위치 정책은 소스 디스크 위치와 지리적으로 가장 가까운 멀티 리전으로 설정됩니다.

  • 소스 디스크가 멀티 리전의 일부 위치에 있으면 스냅샷 설정 스토리지 위치 정책은 해당 멀티 리전으로 설정됩니다. 예를 들어 디스크가 us-central1과 같은 위치에 있으면 기본 스토리지 위치는 멀티 리전 us가 됩니다.
  • 멀티 리전 외부에 있는 위치의 경우 기본 스토리지 위치는 해당 리전 외부에서 지리적으로 가장 가까운 멀티 리전이 됩니다. australia-southeast1과 같은 위치의 경우 기본 위치는 asia 멀티 리전이 됩니다.

가격 책정 영향

프로젝트에 스냅샷 설정을 사용하기 위해 추가 비용을 지불할 필요가 없습니다. 그러나 스냅샷 설정을 사용하여 지정한 위치 값은 다른 작업에 영향을 주므로 결과적으로 운영비에 영향을 줄 수 있습니다.

스냅샷 설정을 사용하여 프로젝트의 기본 스토리지 위치 설정

REST 및 gcloud CLI를 사용하여 프로젝트의 스냅샷 설정을 업데이트하고 새 기본 스토리지 위치를 설정할 수 있습니다.

스냅샷 설정에서 스토리지 위치 정책을 설정하지 않으면 스냅샷은 Google Cloud 사전 정의된 스토리지 위치 정책을 통해 생성됩니다.

gcloud

스냅샷 설정을 추가하거나 프로젝트의 기존 스냅샷 설정을 업데이트하려면 gcloud compute snapshot-settings update 명령어를 사용합니다.

  gcloud compute snapshot-settings update \
      --project=PROJECT_ID \
      --storage-location-policy=STORAGE_LOCATION \
      --storage-location-names=REGION_NAME

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트의 ID
  • STORAGE_LOCATION: 프로젝트의 스냅샷 스토리지 위치 정책. 이 값은 다음 중 하나일 수 있습니다.

    • nearest-multi-region: 위치 정책을 디스크 위치와 가장 가까운 Cloud Storage 멀티 리전으로 지정합니다.
    • local-region: 위치 정책을 디스크가 있는 동일한 Cloud Storage 리전으로 지정합니다.
    • specific-locations: 위치 정책을 원하는 커스텀 Cloud Storage 리전 위치로 지정합니다. 이 옵션을 지정하면 --storage-location-names 플래그를 사용하여 원하는 위치도 지정해야 합니다.
  • REGION_NAME: 선택사항: --storage-location-policy 플래그를 specific-locations 값과 함께 포함하는 경우 Cloud Storage 리전을 지정해야 합니다. 하나의 리전만 지정할 수 있습니다. 이 값을 스토리지 위치 정책으로 지정할 리전의 이름으로 설정합니다.

스냅샷 설정을 사용하여 스토리지 위치 정책 설정 예시

us-central1 리전의 my-project 프로젝트를 예시로 살펴보겠습니다.

  • 프로젝트 스냅샷 설정의 스토리지 위치 정책을 디스크에 가장 가까운 Cloud Storage 멀티 리전으로 구성하려면 다음 명령어를 실행합니다.
  gcloud compute snapshot-settings update \
      --project=my-project \
      --storage-location-policy=nearest-multi-region
  • 프로젝트 스냅샷 설정의 스토리지 위치 정책을 디스크와 동일한 Cloud Storage 리전으로 구성하려면 다음 명령어를 실행합니다.
  gcloud compute snapshot-settings update \
      --project=my-project \
      --storage-location-policy=local-region
  • 프로젝트 스냅샷 설정의 스토리지 위치 정책으로 원하는 특정 위치(예: us-central1)로 구성하려면 --storage-location-names 플래그를 사용하고 다음 명령어를 실행합니다.
  gcloud compute snapshot-settings update \
      --project=my-project \
      --storage-location-policy=specific-locations \
      --storage-location-names=us-central1

REST

스냅샷 설정을 추가하거나 프로젝트의 기존 스냅샷 설정을 업데이트하려면 PATCH 요청을 snapshotSettings.update 메서드에 보냅니다.

  PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshotSettings

  {
    "storageLocation": {
      "policy": "STORAGE_LOCATION",
      "locations": {
            "REGION_NAME": { "name": "REGION_NAME" }
      }
    }
  }

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트의 ID입니다.
  • STORAGE_LOCATION: 프로젝트의 스냅샷 스토리지 위치 정책입니다. 이 값은 다음 중 하나일 수 있습니다.

    • NEAREST_MULTI_REGION: 위치 정책을 디스크 위치와 가장 가까운 Cloud Storage 멀티 리전으로 지정합니다.
    • LOCAL_REGION: 위치 정책을 디스크가 있는 동일한 Cloud Storage 리전으로 지정합니다.
    • SPECIFIC_LOCATIONS: 위치 정책을 원하는 커스텀 Cloud Storage 리전 위치로 지정합니다. 이 옵션을 지정하면 요청의 locations 매개변수를 사용하여 원하는 위치도 지정해야 합니다.
  • REGION_NAME: 선택사항: policy 매개변수를 SPECIFIC_LOCATIONS 값과 함께 포함하는 경우 Cloud Storage 리전을 지정해야 합니다. 하나의 리전만 지정할 수 있습니다. 이 값을 스토리지 위치 정책으로 지정할 리전의 이름으로 설정합니다.

스냅샷 설정을 사용하여 스토리지 위치 정책 설정 예시

us-central1 리전의 my-project 프로젝트를 예시로 살펴보겠습니다.

  • 프로젝트 스냅샷 설정의 스토리지 위치 정책을 디스크에 가장 가까운 Cloud Storage 멀티 리전으로 구성하려면 다음 PATCH 요청을 수행합니다.
    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshotSettings

    {
      "storageLocation": {
        "policy": "NEAREST_MULTI_REGION"
      }
    }
  • 프로젝트 스냅샷 설정의 스토리지 위치 정책을 디스크와 동일한 Cloud Storage 리전으로 구성하려면 다음 PATCH 요청을 수행합니다.
    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshotSettings

    {
      "storageLocation": {
        "policy": "LOCAL_REGION"
      }
    }
  • 프로젝트 스냅샷 설정의 스토리지 위치 정책을 특정 위치(예: us-central1)로 구성하려면 다음 PATCH 요청을 수행합니다.
    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshotSettings

    {
      "storageLocation": {
        "policy": "SPECIFIC_LOCATIONS",
        "locations": {
          "us-central1": { "name": "us-central1"}
        }
      }
    }

프로젝트의 스냅샷 설정으로 정의된 기본 스토리지 위치 보기

Compute Engine API 및 gcloud CLI를 사용하여 프로젝트의 스냅샷 설정을 볼 수 있습니다.

gcloud

프로젝트의 스냅샷 설정을 보려면 gcloud compute snapshot-settings describe 명령어를 사용합니다.

  gcloud compute snapshot-settings describe \
      --project=PROJECT_ID

PROJECT_ID를 프로젝트의 ID로 바꿉니다.

REST

프로젝트의 스냅샷 설정을 보려면 GET 요청을 snapshotSettings.get 메서드에 보냅니다.

  GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshotSettings

PROJECT_ID를 프로젝트의 ID로 바꿉니다.

다음 단계