영구 디스크의 스냅샷 일정 만들기

이 문서에서는 영역리전 영구 디스크에 대해 정기적으로 자동 백업을 수행하도록 스냅샷 일정을 만드는 방법을 설명합니다. Compute Engine 작업 부하 백업 권장사항은 스냅샷 일정을 사용하는 것입니다. 스냅샷 일정을 만든 후 해당 일정을 하나 이상의 영구 디스크에 적용할 수 있습니다.

스냅샷 일정에는 다음 속성이 포함됩니다.

  • 일정 이름
  • 일정 설명
  • 스냅샷 빈도(시간, 일, 주 단위)
  • 스냅샷 보관 일수를 결정하는 스냅샷 보관 정책
  • 스냅샷 시작 시간
  • 스냅샷 일정이 사용 가능한 리전
  • 소스 디스크가 삭젝된 경우 자동 생성된 스냅샷 처리를 위한 소스 디스크 삭제 정책

스냅샷 일정에는 스냅샷 일정에 따라 생성된 스냅샷의 보관 기간을 정의하는 보관 정책이 선택사항으로 포함됩니다. 보관 정책을 지정하지 않으면 스냅샷은 무기한 보관됩니다.

시작하기 전에

제한사항

  • 영구 디스크에는 한 번에 스냅샷 일정 하나만 연결될 수 있습니다.
  • 리전에서 추가 리소스가 필요한 경우 Console을 통해 리소스 할당량 증가를 요청해야 할 수 있습니다.
  • 디스크에 연결되어 있는 스냅샷 일정은 삭제할 수 없습니다. 모든 디스크에서 일정을 분리한 다음 일정을 삭제해야 합니다.
  • 한 번 만들어진 스냅샷 일정은 변경할 수 없습니다. 스냅샷 일정을 업데이트하려면 해당 일정을 삭제하고 새 일정을 만들어야 합니다.
  • 현재 고객 제공 암호화 키(CSEK)를 사용하는 영구 디스크의 스냅샷 일정을 만들 수 없습니다.

스냅샷 일정 빈도

스냅샷 일정을 만들기 전에 시작 시간 및 스냅샷 빈도를 선택합니다. 시작 시간은 스냅샷 일정을 시작할 시간입니다. 빈도는 시간, 일 또는 주 단위로 정의됩니다.

스냅샷 일정은 지정된 시작 시간의 해당 시각 내에 시작합니다. 예를 들어, 일정 시작 시간이 오후 12:00인 경우 스냅샷이 오후 12:00-12:59 사이에 시작됩니다. 콘솔 또는 gcloud 도구를 사용하면 UTC 또는 로컬 시간으로 제공할 수 있습니다. Compute Engine API를 사용하는 경우 UTC 시간으로 제공해야 합니다.

  • 시간 단위 일정 설정: 시간 단위 일정을 설정하려면 시작 시간을 선택하고 1-23 사이의 정수를 사용하여 스냅샷 간격을 선택합니다. 스냅샷 간격은 스냅샷 생성 빈도를 정의합니다. 간격을 설정할 때 한 가지 옵션은 24로 균등하게 나누어지는 숫자를 선택하는 것입니다. 예를 들어 시작 시간을 오전 9:00로 설정하고 간격을 6으로 설정하면 스냅샷 일정이 오전 9:00에 시작되고 스냅샷 간격 6시간마다 실행됨을 의미합니다.

  • 일 단위 일정 설정: 스냅샷이 하루에 한 번 발생하도록 하려면 빈도를 일 단위로 설정합니다. 예를 들어 스냅샷 일정을 스냅샷이 매일 오전 9:00에 생성되도록 설정할 수 있습니다.

  • 주 단위 일정 설정: 주중 여러 요일에 스냅샷을 수행하려면 주 단위로 설정합니다. 예를 들어 시작 시간을 오전 9:00로 설정하고 주 단위 일정을 월요일, 목요일, 일요일로 설정하면 스냅샷 일정이 매주 월요일, 목요일, 일요일 오전 9:00에 실행됨을 의미합니다. 주 단위 일정을 주중 다른 요일로도 설정할 수 있습니다. 예를 들어 주 단위 일정을 매주 월요일 오후 2:00 및 목요일 오전 10:00로 설정할 수 있습니다.

스냅샷 보관 정책

스냅샷 보관 정책은 스냅샷 보관 기간을 정의합니다. 스냅샷 보관 정책을 설정하는 경우 스냅샷 일정의 일부로 설정해야 합니다. 보관 정책을 설정하지 않은 경우 기본적으로 자동 생성된 모든 스냅샷은 수동으로 삭제할 때까지 영구적으로 유지됩니다. 스냅샷을 무기한 유지하는 기본 옵션을 선택하는 경우 이러한 스냅샷을 보관하기 위한 저장 비용이 발생할 수 있는 것에 유의하세요. 장기간의 스냅샷 스토리지 비용을 최소화하도록 보관 정책을 설정하는 것이 좋습니다.

  • 최소 1일 이상의 보관 일수로 스냅샷 보관 정책을 지정해야 합니다.
  • 스냅샷 보관 정책은 자동 생성된 스냅샷에만 적용되며 수동으로 만든 스냅샷에는 적용되지 않습니다.
  • 보관 정책을 소급해서 적용할 수 없습니다. 보관 정책 없이 스냅샷 일정을 만든 다음 보관 정책이 있는 스냅샷 일정으로 전환하면 보관 정책은 새 스냅샷에만 적용됩니다.
  • 보관 정책에 관계없이 자동 및 수동으로 생성된 스냅샷을 언제든지 수동으로 삭제할 수 있습니다.

소스 디스크 삭제 규칙

스냅샷 일정을 만들 때 소스 디스크 삭제 규칙을 설정할 수도 있습니다. 소스 디스크 삭제 규칙을 통해 소스 디스크가 삭제된 경우 스냅샷 처리 방식을 제어합니다. 기본적으로 소스 디스크가 삭제되면 스냅샷 일정에서 자동으로 생성된 스냅샷은 수동으로 삭제하기 전까지 무기한 유지됩니다. 이 동작은 사용자가 별도로 지정하지 않는 한 설정한 원래 보관 정책과 관계없습니다.

또는 소스 디스크가 삭제되면 스냅샷 보관 정책이 스냅샷에 적용되도록 규칙을 설정할 수 있습니다. 예를 들어 소스 디스크가 삭제된 후 1주일 동안 스냅샷을 유지하는 보관 정책을 적용할 수 있습니다.

예를 들어 3일의 보관 정책으로 스냅샷 일정을 만들었지만 소스 디스크 삭제 시 보관 정책을 적용하지 않도록 선택한 경우를 가정합니다. 정책을 영구 디스크에 적용하면 Compute Engine이 자동으로 스냅샷을 만들지만 보관 정책에 따라 3일 후에 스냅샷이 자동으로 삭제됩니다. 그러나 소스 디스크가 삭제되는 경우가 발생하면 보관 정책이 적용되지 않고 이 스냅샷 일정을 통해 만들어진 기존의 스냅샷이 모두 무기한 보관됩니다.

Windows 인스턴스의 스냅샷 일정

Windows VM 인스턴스에 연결된 디스크에 스냅샷 일정을 적용하는 경우 guest-flush 옵션을 사용하여 스냅샷의 섀도 복사본을 생성하도록 VSS를 설정하세요. Windows용 스냅샷에 대한 추가 정보는 Windows 영구 디스크 스냅샷 만들기를 참조하세요.

스냅샷 지역 규칙 및 스냅샷 라벨

수동으로 생성된 스냅샷과 유사하게 자동 생성된 스냅샷에 대해 리소스 라벨을 적용하고 스토리지 위치를 선택할 수도 있습니다. 스냅샷 일정에 이러한 사항을 설정하면 이 일정을 통해 자동 생성된 모든 스냅샷에 해당 속성이 적용됩니다. 예를 들어 스냅샷 지역을 US로 설정하면 이 일정을 통해 생성된 모든 스냅샷은 US에 저장됩니다. 이러한 옵션 설정에 대한 세부정보는 아래 사례를 검토하세요.

스냅샷 일정 만들기

Console, gcloud 명령어 또는 Compute Engine API 메서드를 사용하여 영구 디스크의 스냅샷 일정을 만듭니다. 영구 디스크가 있는 리전과 동일한 리전에 스냅샷 일정을 만들어야 합니다. 예를 들어 영구 디스크가 us-west1-a 영역(zone)에 존재하면 스냅샷 일정이 us-west1 리전에 존재해야 합니다. 자세한 내용은 스냅샷의 스토리지 위치 선택을 참조하세요.

콘솔

스냅샷 일정을 만드려면 다음을 수행하세요.

  1. Google Cloud Platform Console의 스냅샷 페이지로 이동합니다.

    스냅샷 페이지로 이동

  2. 페이지 상단에서 스냅샷 일정 만들기를 클릭합니다.
  3. 일정 이름을 입력합니다.
  4. 스냅샷 일정의 리전을 선택합니다. 영구 디스크가 스냅샷 일정이 존재하는 리전 내의 영역(zone)에 존재해야 합니다.
  5. 필요에 따라 스냅샷 위치를 선택하거나 기본 선택 사항을 사용합니다.
  6. 일정 빈도를 선택합니다.
  7. 다음 기간 경과 후 스냅샷 자동 삭제에 일수를 입력합니다.
  8. 소스 디스크가 삭제된 경우 스냅샷 처리 방식을 결정하는 삭제 규칙을 선택합니다.
  9. 이 일정으로 생성된 스냅샷의 보관 일수를 선택합니다.
  10. Windows를 사용하는 경우 VSS 사용 설정을 선택할 수 있습니다.
  11. 필요에 따라 이러한 스냅샷에 적용할 관련 라벨을 지정합니다.
  12. 만들기를 클릭하여 스냅샷 일정을 만듭니다.

gcloud

영구 디스크의 스냅샷 일정을 만들려면 compute resource-policies create-snapshot-schedule gcloud 명령어를 사용합니다. 일정 빈도를 시간, 일 또는 주 단위로 설정합니다.

  gcloud beta compute resource-policies create-snapshot-schedule [SCHEDULE_NAME] \
      --description "[SCHEDULE_DESCRIPTION]" \
      --max-retention-days [MAX_RETENTION_DAYS] \
      --start-time [START_TIME] \
      --hourly-schedule [SNAPSHOT_INTERVAL] \
      --daily-schedule \
      --weekly-schedule [SNAPSHOT_INTERVAL] \
      --weekly-schedule-from-file [FILE_NAME] \
      --on-source-disk-delete [DELETION_OPTION]

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

  • [SCHEDULE_NAME]은 새 스냅샷 일정의 이름입니다.
  • "[SCHEDULE_DESCRIPTION]"은 스냅샷 일정 설명입니다. 설명을 따옴표를 사용하여 묶습니다.
  • [MAX_RETENTION_DAYS]은 스냅샷 보관 일수입니다. 예를 들어 3으로 설정하면 스냅샷이 3일 동안 보관된 후 삭제됩니다. 보관 정책은 최소 1일로 설정해야 합니다.
  • [START_TIME]은 UTC 또는 로컬 시간의 시작 시간입니다. 예를 들어 2:00PM은 14:00입니다. 시작 시간은 정시에 시작해야 합니다. 예를 들어 시작 시간을 14:13으로 설정하면 에러가 발생합니다.
  • [SNAPSHOT_INTERVAL]은 스냅샷 실행 간격을 정의합니다. 1-23 사이의 정수를 사용하여 시간 단위 일정을 설정합니다. 24로 균등하게 나누어지는 시간 단위 숫자를 선택하세요. 예를 들어 --hourly-schedule을 12로 설정하면 스냅샷이 매 12시간마다 생성됩니다. 주간 단위 일정의 경우 스냅샷을 만들 요일을 정의합니다. 요일을 정확히 입력해야 하며 대소문자를 구분하지 않습니다. 스냅샷 빈도 플래그 hourly-schedule, daily-schedule, weekly-schedule을 함께 사용할 수 없습니다. 스냅샷 일정으로 한 가지만 선택해야 합니다.

  • [FILE_NAME]은 스냅샷 일정이 포함된 파일 이름입니다(이 형식으로 일정을 제공하려는 경우). 파일을 사용하여 다른 요일과 다른 시간으로 주 단위 일정을 지정할 수 있지만 명령줄에서 여러 주 단위 일정을 직접 지정할 수는 없습니다. 예를 들어 파일에 다음과 같이 월요일과 수요일에 스냅샷 일정을 지정할 수 있습니다. [{"day": "MONDAY", "startTime": "04:00"}, {"day": "WEDNESDAY", "startTime": "02:00"}] 파일에 시작 시간을 포함하면 --start-time 플래그를 설정하지 않아도 됩니다. 시간은 UTC나 현지 시간대로 설정될 수 있습니다.

  • [DELETION_OPTION]을 통해 소스 디스크가 삭제된 경우 스냅샷 처리 방식을 결정합니다. 이 플래그를 생략하여 기본 keep-auto-snapshots을 선택하거나 apply-retention-policy를 사용하여 보관 정책을 적용하세요.

다음은 스냅샷 일정을 설정하는 추가 예제입니다. 모든 예에는 다음 사항이 적용됩니다.

  • 디스크 삭제 규칙이 포함됩니다. --on-source-disk-delete 플래그가 기본 keep-auto-snapshots으로 설정되어 자동 생성된 모든 스냅샷을 무기한 유지합니다. 다른 방법으로는 이 플래그를 apply-retention-policy로 설정하여 스냅샷 보관 정책을 사용합니다.
  • 저장소 위치가 US로 설정되어 생성된 모든 스냅샷이 US 다중 리전에 저장됩니다.
  • env=devmedia=images 라벨이 생성된 모든 스냅샷에 적용됩니다.
  • 보관 정책이 10일로 설정됩니다.

시간 단위 일정: 이 예에서 스냅샷 일정은 GMT 오후 2:00에 시작하여 4시간마다 발생합니다.

  gcloud beta compute resource-policies create-snapshot-schedule SCHEDULE_NAME \
      --description "MY HOURLY SNAPSHOT SCHEDULE" \
      --max-retention-days 10 \
      --start-time 14:00 \
      --hourly-schedule 4 \
      --region us-west1 \
      --on-source-disk-delete keep-auto-snapshots \
      --snapshot-labels env=dev,media=images \
      --storage-location US

일 단위 일정: 이 예에서 스냅샷 일정은 오후 2:00에 시작하고 매일 같은 시간에 발생합니다. --daily-schedule 플래그는 있어야 하지만 아무것도 설정되지 않아야 합니다.

gcloud beta compute resource-policies create-snapshot-schedule SCHEDULE_NAME \
    --description "MY DAILY SNAPSHOT SCHEDULE" \
    --max-retention-days 10 \
    --start-time 14:00 \
    --daily-schedule \
    --region us-west1 \
    --on-source-disk-delete keep-auto-snapshots \
    --snapshot-labels env=dev,media=images \
    --storage-location US

주 단위 일정: 이 예에서 스냅샷 일정은 오후 2:00에 시작하고 매주 화요일과 목요일에 발생합니다.

gcloud beta compute resource-policies create-snapshot-schedule SCHEDULE_NAME \
    --description "MY WEEKLY SNAPSHOT SCHEDULE" \
    --max-retention-days 10 \
    --start-time 14:00 \
    --weekly-schedule tuesday,thursday \
    --region us-west1 \
    --on-source-disk-delete keep-auto-snapshots \
    --snapshot-labels env=dev,media=images \
    --storage-location US

API

API에서 스냅샷 일정을 만들려면 resourcePolicies.insert에 대한 POST 요청을 생성합니다. 최소한 스냅샷 일정 이름, 스냅샷 저장소 리전 위치, 스냅샷 빈도는 포함되어야 합니다.

기본적으로 onSourceDiskDelete 매개변수가 keepAutoSnapshots으로 설정됩니다. 즉, 소스 디스크가 삭제되면 해당 디스크의 자동 생성된 스냅샷이 무기한 보관됩니다. 또는 플래그를 applyRetentionPolicy로 설정하여 보관 정책을 적용할 수 있습니다.

다음 예는 UTC 12:00에 시작하여 매일 반복되는 일 단위 스냅샷 일정을 설정합니다. 또한 이 예에서는 보관 정책을 5일로 설정하여 스냅샷이 5일 후에 자동으로 삭제됩니다.

요청에 스냅샷 지역 옵션스냅샷 라벨을 포함하여 스냅샷이 원하는 위치에 저장되도록 할 수도 있습니다.

POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/regions/[REGION]/resourcePolicies

{
 "name": "[SCHEDULE_NAME]",
 "description": "[SCHEDULE_DESCRIPTION]",
 "snapshotSchedulePolicy": {
   "schedule": {
     "dailySchedule": {
       "startTime": "12:00",
       "daysInCycle": "1"
     }
   },
   "retentionPolicy": {
     "maxRetentionDays": "5"
   },
   "snapshotProperties": {
     "guestFlush": "False",
     "labels": {
       "env": "dev",
       "media": "images"
     },
     "storageLocations": ["US"]
   }
 }
}

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

  • [PROJECT_ID]는 프로젝트 이름입니다.
  • [REGION]은 스냅샷 일정 정책의 위치입니다.
  • [SCHEDULE_DESCRIPTION]은 스냅샷 일정의 설명입니다.
  • [SCHEDULE_NAME]은 스냅샷 일정의 이름입니다.

이와 유사하게 주 단위나 월 단위로 일정을 만들 수 있습니다. 주 단위 또는 월 단위 일정에 대한 자세한 내용은 API 참조를 확인하세요.

예를 들어 다음 요청은 화요일 9:00와 목요일 2:00에 실행하는 주 단위 일정을 만듭니다.

POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/regions/[REGION]/resourcePolicies

{
 "name": "[SCHEDULE_NAME]",
 "description": "[SCHEDULE_DESCRIPTION]",
 "snapshotSchedulePolicy": {
   "schedule": {
     "weeklySchedule": {
       "dayOfWeeks": [
       {
         "day": "Monday",
         "startTime": "9:00"
       },
       {
         "day": "Thursday",
         "startTime": "2:00"
       }
       ]
     }
   },
  "retentionPolicy": {
    "maxRetentionDays": "5"
  },
  "snapshotProperties": {
    "guestFlush": "False",
    "labels": {
      "production": "webserver"
    },
    "storageLocations": ["US"]
  }
 }
}

디스크에 스냅샷 일정 연결

일정이 준비되면 이를 기존 디스크에 연결합니다. 콘솔, gcloud 명령어 또는 Compute Engine API 메소드를 사용하세요.

콘솔

디스크에 스냅샷 일정 연결

  1. Google Cloud Platform Console의 디스크 페이지로 이동합니다.

    디스크 페이지로 이동

  2. 일정을 연결할 디스크를 선택합니다.
  3. 페이지 상단에서 수정을 클릭합니다.
  4. 스냅샷 일정 드롭다운 메뉴를 사용하여 디스크에 일정을 추가하거나 새 일정을 만듭니다.
  5. 새 일정을 만드는 경우 만들기를 클릭합니다.
  6. 저장을 클릭하여 작업을 완료합니다.

gcloud

스냅샷 일정을 디스크에 연결하려면 disks add-resource-policies gcloud 명령어를 사용합니다.

gcloud beta compute disks add-resource-policies [DISK_NAME] \
    --resource-policies [SCHEDULE_NAME] \
    --zone [ZONE]

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

  • [DISK_NAME]은 기존 디스크의 이름입니다.
  • [SCHEDULE_NAME]은 스냅샷 일정의 이름입니다.
  • [ZONE]은 디스크의 위치입니다.

API

API에서 스냅샷 일정을 기존 디스크에 연결하려면 disks.addResourcePolicies에 대한 POST 요청을 생성합니다.

POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/zones/[ZONE]/disks/[DISK_NAME]/addResourcePolicies

{
  "resourcePolicies": [
    "regions/[REGION]/resourcePolicies/[SCHEDULE_NAME]"
  ]
}

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

  • [PROJECT_ID]는 프로젝트 이름입니다.
  • [ZONE]은 디스크의 위치입니다.
  • [REGION]은 스냅샷 일정의 위치입니다.
  • [DISK_NAME]은 디스크의 이름입니다.
  • [SCHEDULE_NAME]은 이 디스크에 적용할 해당 리전의 스냅샷 일정의 이름입니다.

스냅샷 일정이 있는 디스크 만들기

GCP Console 및 gcloud에서만 디스크와 스냅샷 일정을 동시에 만들 수 있습니다.

Console

  1. Google Cloud Platform Console의 디스크 페이지로 이동합니다.

    디스크 페이지로 이동

  2. 페이지 상단에서 디스크 만들기를 클릭합니다.
  3. 필수 입력란을 모두 완료하여 영역(zone) 또는 리전 디스크를 만듭니다.
  4. 스냅샷 일정과 동일한 리전에 디스크를 만듭니다.
  5. 스냅샷 일정의 필드를 채웁니다.
  6. 드롭다운 메뉴를 사용하고 필드에 모두 입력하여 일정을 만듭니다.
  7. 만들기를 클릭하여 일정을 만듭니다.
  8. 만들기를 클릭하여 디스크를 만듭니다.

gcloud

disks create gcloud 명령어를 사용하여 영역 또는 리전 영구 디스크를 만들어 스냅샷 일정을 연결합니다.

gcloud beta compute disks create [DISK_NAME] \
    --resource-policies [SCHEDULE_NAME] \
    --zone [ZONE]

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

  • [DISK_NAME]은 새 디스크의 이름입니다.
  • [SCHEDULE_NAME]은 스냅샷 일정의 이름입니다.
  • [ZONE]은 디스크를 만들 위치입니다. 디스크는 스냅샷 일정의 리전 내 영역에 있어야 합니다.

스냅샷 일정 보기

스냅샷 일정 목록을 가져오려면 Console, gcloud 명령어 또는 Compute Engine API 메서드를 사용합니다. 이 요청을 수행하면 프로젝트 내의 모든 스냅샷 일정의 이름, 설명, 리전이 표시됩니다.

콘솔

  1. Google Cloud Platform Console의 스냅샷 페이지로 이동합니다.

    스냅샷 페이지로 이동

  2. 페이지 상단의 스냅샷 일정을 클릭합니다.
  3. 스냅샷 일정 필터링 검색창을 사용하여 지정된 스냅샷 일정을 검토합니다.
  4. 스냅샷 일정을 클릭하여 관련 세부정보를 봅니다.

gcloud

스냅샷 일정 목록을 보려면 resource-policies list gcloud 명령어를 사용합니다.

gcloud beta compute resource-policies list

특정 스냅샷 일정에 대한 설명을 보려면 resource-policies describe gcloud 명령어를 사용합니다.

gcloud beta compute resource-policies describe [SCHEDULE_NAME]

여기서 [SCHEDULE_NAME]은 스냅샷 일정의 이름입니다.

API

프로젝트의 스냅샷 일정 목록을 반환하려면 resourcepolicies.aggregatedList에 대한 GET 요청을 생성합니다.

GET https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/aggregated/resourcePolicies

여기서 [PROJECT_ID]는 프로젝트 이름입니다.

리전별 스냅샷 일정 보기

특정 리전의 스냅샷 일정을 보려면 Console, gcloud 명령어 또는 Compute Engine API 메서드를 사용합니다. 이 요청을 수행하면 프로젝트 내의 모든 스냅샷 일정의 이름, 설명, 리전이 표시됩니다.

콘솔

  1. Google Cloud Platform Console의 스냅샷 페이지로 이동합니다.

    스냅샷 페이지로 이동

  2. 페이지 상단의 스냅샷 일정을 클릭합니다.
  3. 스냅샷 일정 필터링 검색창을 사용하여 지정된 리전별 리소스 정책을 검토합니다.

gcloud

특정 리전의 스냅샷 일정을 보려면 resource-policies list gcloud 명령어를 사용합니다.

gcloud beta compute resource-policies list [PROJECT_ID] \
    --filter [REGION]

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

  • [PROJECT_ID]는 프로젝트 이름입니다.
  • [REGION]은 정책이 있는 위치입니다.

API

리전에서 만들어진 스냅샷 일정을 검색하려면 resourcePolicies.get에 대한 요청을 생성합니다.

GET https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/regions/[REGION]/resourcePolicies/[SCHEDULE_NAME]

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

  • [PROJECT_ID]는 프로젝트 이름입니다.
  • [REGION]은 스냅샷 일정의 위치입니다.
  • [SCHEDULE_NAME]은 보려는 스냅샷 일정의 이름입니다.

스냅샷 일정 변경

스냅샷 일정은 수정할 수 없습니다. 이미 디스크에 연결된 일정을 변경하려면 먼저 디스크에서 일정을 연결 해제한 후 삭제해야 합니다. 그런 다음 새 일정을 만들어 디스크에 연결할 수 있습니다. 콘솔, gcloud 명령어 또는 Compute Engine API 메소드를 사용하여 스냅샷 일정을 변경하세요.

콘솔

  1. Google Cloud Platform Console의 디스크 페이지로 이동합니다.

    디스크 페이지로 이동

  2. 연결 해제하려는 일정이 있는 디스크를 선택합니다.
  3. 페이지 상단의 수정을 클릭합니다.
  4. 스냅샷 일정 드롭다운 메뉴를 엽니다.
  5. 일정 없음을 클릭하여 디스크에서 일정을 연결 해제합니다.
  6. 새 일정을 만들거나 디스크 옵션을 수정하는 동안 일정을 바꿀 수 있습니다.
  7. 저장을 클릭하여 작업을 완료합니다.

gcloud

disks remove-resource-policies gcloud 명령어를 사용하여 변경하려는 일정이 있는 디스크에서 스냅샷 일정을 연결 해제합니다.

gcloud beta compute disks remove-resource-policies [DISK_NAME] \
    --resource-policies [SCHEDULE_NAME] \
    --region [REGION] \
    --zone [ZONE]

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

  • [DISK_NAME]은 스냅샷 일정이 연결된 디스크의 이름입니다.
  • [SCHEDULE_NAME]은 디스크에서 연결 해제하려는 스냅샷 일정의 이름입니다.
  • [REGION]은 스냅샷 일정이 있는 곳입니다.
  • [ZONE]은 영역(zone) 디스크가 있는 영역(zone)입니다.

그런 다음 disks add-resource-policies 명령어를 사용하여 디스크에 업데이트된 스냅샷 일정을 추가합니다.

 gcloud beta compute disks add-resource-policies [DISK_NAME] \
     --resource-policies [SCHEDULE_NAME] \
     --zone [ZONE]

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

  • [DISK_NAME]은 스냅샷 일정 정책이 있는 디스크의 이름입니다.
  • [SCHEDULE_NAME]은 디스크에 추가하려는 스냅샷 일정의 이름입니다.
  • [ZONE]은 디스크가 있는 영역(zone)입니다.

API

디스크에서 일정을 연결 해제하려면 disks.removeResourcePolicies에 대한 POST 요청을 생성합니다.

POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/zones/[ZONE]/disks/[DISK_NAME]/removeResourcePolicies

{
  "resourcePolicies": [
    "regions/[REGION]/resourcePolicies/[SCHEDULE_NAME]"
  ]
}

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

  • [PROJECT_ID]는 프로젝트 이름입니다.
  • [ZONE]은 디스크가 있는 영역(zone)입니다.
  • [DISK_NAME]은 연결된 스냅샷 일정이 있는 디스크의 이름입니다.
  • [REGION]은 스냅샷 일정의 위치입니다.
  • [SCHEDULE_NAME]은 디스크에서 삭제하려는 스냅샷 일정의 이름입니다.

API에서 스냅샷 일정을 기존 디스크에 연결하려면 disks.addResourcePolicies에 대한 POST 요청을 생성합니다.

POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/zones/[ZONE]/disks/[DISK_NAME]/addResourcePolicies

{
  "resourcePolicies": [
    "regions/[REGION]/resourcePolicies/[SCHEDULE_NAME]"
  ]
}

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

  • [PROJECT_ID]는 프로젝트 이름입니다.
  • [ZONE]은 디스크의 위치입니다.
  • [DISK_NAME]은 디스크의 이름입니다.
  • [REGION]은 스냅샷 일정의 위치입니다.
  • [SCHEDULE_NAME]은 이 디스크에 적용할 해당 리전의 스냅샷 일정의 이름입니다.

스냅샷 일정 삭제

스냅샷 일정을 삭제하면 스냅샷 일정과 관련된 모든 자동 생성 스냅샷이 무기한 유지됩니다. 그러나 스케줄을 삭제하면 더 이상 스냅샷을 생성할 수 없습니다.

보관 정책은 스냅샷 일정의 일부입니다. 일정이 삭제되면 보관 정책이 더 이상 적용되지 않습니다. 이미 생성된 스냅샷은 수동으로 삭제할 때까지 무기한 유지됩니다.

기존 스냅샷 일정을 삭제하려면 콘솔, gcloud 명령어 또는 Compute Engine API 메소드를 사용합니다. 일정이 이미 디스크에 연결되어 있는 경우 먼저 디스크에서 일정을 연결 해제한 다음 일정을 삭제하세요. 디스크에 연결된 스냅샷 일정은 삭제할 수 없습니다.

콘솔

  1. Google Cloud Platform Console의 스냅샷 페이지로 이동합니다.

    스냅샷 페이지로 이동

  2. 스냅샷 일정을 선택하여 스케줄 목록을 표시합니다.
  3. 디스크에 연결되지 않은 일정을 선택합니다.
  4. 페이지 상단에 있는 삭제를 클릭합니다.

gcloud

지정된 스냅샷 일정을 삭제하려면 resource-policies delete gcloud 명령어를 사용합니다.

gcloud beta compute resource-policies delete [SCHEDULE_NAME] \
    --region [REGION]

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

  • [SCHEDULE_NAME]은 스냅샷 일정의 이름입니다.
  • [REGION]은 스냅샷 일정의 위치입니다.

API

스냅샷 일정을 삭제하려면 resourcepolicies.delete에 대한 요청을 생성합니다. 스냅샷 일정이 이미 특정 디스크에 연결되어 있으면 오류가 발생합니다.

DELETE https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/regions/[REGION]/resourcePolicies/[SCHEDULE_NAME]

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

  • [PROJECT_ID]는 프로젝트 이름입니다.
  • [REGION]은 스냅샷 일정의 위치입니다.
  • [SCHEDULE_NAME]은 스냅샷 일정의 이름입니다.

로깅

베타 출시 버전의 경우 정책이 생성, 삭제, 추가되거나 인스턴스에서 삭제되면 감사 로그가 표시됩니다. 또한 활동 로그는 시스템 이벤트 카테고리에서 대상 디스크에 대해 스냅샷이 만들어지고 삭제된 시기에 대한 정보를 제공합니다. 콘솔의 Stackdriver 메뉴에서 로그를 볼 수 있습니다. 자세한 내용은 로그 보기를 참조하세요.

다음 단계

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

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

Compute Engine 문서