인스턴트 스냅샷 만들기 및 관리


이 문서에서는 인스턴트 스냅샷을 만들고 관리하는 방법을 설명합니다. 인스턴트 스냅샷은 디스크 콘텐츠를 캡처하며 몇 분 내에 새 디스크를 만드는 데 사용될 수 있습니다.

인스턴트 스냅샷은 소스 디스크와 동일한 영역이나 리전에 저장되며 재해 복구를 위한 오프사이트 백업을 제공하는 표준 스냅샷을 대체하지 않습니다. Compute Engine에서 사용할 수 있는 다른 데이터 보호 옵션에 대해 알아보세요.

인스턴트 스냅샷의 데이터에 액세스하려면 인스턴트 스냅샷을 사용하여 새 디스크를 만듭니다.

인스턴트 스냅샷을 다른 위치로 복사하려면 인스턴스 스냅샷에서 표준 스냅샷을 만듭니다.

시작하기 전에

  • 아직 인증을 설정하지 않았다면 설정합니다. 인증은 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

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

      gcloud init
    2. Set a default region and zone.
    3. REST

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

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

        gcloud init

      자세한 내용은 Google Cloud 인증 문서의 REST 사용 인증을 참조하세요.

제한사항

인스턴트 스냅샷이 사용 사례에 적합한지 확인하려면 인스턴트 스냅샷과 관련된 제한사항을 검토하세요.

Persistent Disk 볼륨의 인스턴트 스냅샷 만들기

영역 디스크의 인스턴트 스냅샷은 소스 디스크와 동일한 영역에 저장됩니다. 마찬가지로 리전 디스크의 인스턴트 스냅샷은 디스크와 동일한 리전에 저장됩니다.

gcloud CLI, Google Cloud 콘솔, REST를 사용하여 영역 또는 리전 Persistent Disk 볼륨의 인스턴트 스냅샷을 만들 수 있습니다.

콘솔

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

    VM 인스턴스로 이동

  2. 작업할 프로젝트를 선택합니다.

  3. 이름 열에서 백업할 디스크에 연결된 VM의 이름을 클릭합니다.

  4. 스토리지 섹션에서 다음 방법 중 하나로 디스크를 선택합니다.

    • VM의 부팅 디스크를 백업하려면 부팅 디스크 섹션에서 원하는 부팅 디스크의 이름을 클릭합니다.
    • 연결된 Persistent Disk 볼륨을 백업하려면 추가 디스크 섹션에서 원하는 연결된 Persistent Disk 볼륨의 이름을 클릭합니다.
  5. 인스턴트 스냅샷 만들기를 완료하려면 스냅샷 만들기 페이지에서 다음을 수행합니다.

    1. 이름 필드에 인스턴트 스냅샷을 식별할 수 있는 고유한 이름을 입력합니다.
    2. 선택사항: 설명 필드에 스냅샷에 대한 세부정보를 추가합니다.
    3. 유형 필드에서 인스턴트 스냅샷을 선택합니다. 위치 필드는 디스크와 동일한 영역이나 리전으로 자동 설정됩니다.
    4. 스냅샷 소스 유형 필드에서 디스크가 선택되었는지 확인합니다.
    5. 선택사항: 프로젝트를 구성하려면 라벨을 하나 이상 추가합니다.
    6. 만들기를 클릭합니다.

gcloud

  1. Google Cloud 콘솔에서 Cloud Shell을 활성화합니다.

    Cloud Shell 활성화

    Google Cloud 콘솔 하단에서 Cloud Shell 세션이 시작되고 명령줄 프롬프트가 표시됩니다. Cloud Shell은 Google Cloud CLI가 사전 설치된 셸 환경으로, 현재 프로젝트의 값이 이미 설정되어 있습니다. 세션이 초기화되는 데 몇 초 정도 걸릴 수 있습니다.

  2. 인스턴트 스냅샷을 만들려면 gcloud beta compute instant-snapshots create 명령어를 사용합니다.

    영역 디스크

    gcloud beta compute instant-snapshots create INSTANT_SNAPSHOT_NAME \
       --source-disk=SOURCE_DISK_NAME \
       --zone=SOURCE_DISK_ZONE
    

    다음을 바꿉니다.

    • INSTANT_SNAPSHOT_NAME: 인스턴트 스냅샷의 고유한 이름입니다.
    • SOURCE_DISK_NAME: 소스 디스크의 이름입니다.
    • SOURCE_DISK_ZONE: 소스 디스크의 영역입니다. 인스턴트 스냅샷이 같은 영역에 생성됩니다.

    리전 디스크

    gcloud beta compute instant-snapshots create INSTANT_SNAPSHOT_NAME \
       --source-disk=SOURCE_DISK_NAME \
       --region=SOURCE_DISK_REGION
    

    다음을 바꿉니다.

    • INSTANT_SNAPSHOT_NAME: 인스턴트 스냅샷의 고유한 이름입니다.
    • SOURCE_DISK_NAME: 소스 디스크의 이름입니다.
    • SOURCE_DISK_REGION: 소스 디스크의 리전입니다. 인스턴트 스냅샷이 같은 리전에 생성됩니다.

REST

인스턴트 스냅샷을 만들려면 instantSnapshots.insert 메서드에 POST 요청을 보냅니다.

  • 영역 디스크의 인스턴트 스냅샷을 만듭니다.

    POST 요청의 URL에 영역을 지정합니다. 요청 본문에서 새 스냅샷 이름과 소스 디스크의 URL을 지정합니다.

     POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/DISK_ZONE/instantSnapshots
     {
        "name": "INSTANT_SNAPSHOT_NAME",
        "sourceDisk": "projects/PROJECT_ID/zones/DISK_ZONE/disks/SOURCE_DISK_NAME"
     }
     
    다음을 해당 값으로 바꿉니다.

    • PROJECT_ID: 디스크가 포함된 프로젝트의 이름입니다.
    • DISK_ZONE: 디스크가 있는 영역입니다. 인스턴트 스냅샷이 이 영역에 생성됩니다.
    • INSTANT_SNAPSHOT_NAME: 인스턴트 스냅샷의 고유한 이름입니다.
    • SOURCE_DISK_NAME: 소스 디스크의 이름입니다.
  • 리전 디스크의 인스턴트 스냅샷을 만듭니다.

    POST 요청의 URL에 리전을 지정합니다. 새 스냅샷의 이름과 소스 디스크를 요청 본문에 포함합니다.

        POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/DISK_REGION/instantSnapshots
           {
              "name": "INSTANT_SNAPSHOT_NAME",
              "sourceDisk": "projects/PROJECT_ID/regions/DISK_REGION/disks/SOURCE_DISK_NAME"
           }
     
    요청 본문에서 다음을 해당 값으로 바꿉니다.

    • PROJECT_ID: 디스크가 포함된 프로젝트의 이름입니다.
    • DISK_REGION: 소스 디스크가 있는 리전입니다. 스냅샷이 같은 리전에 생성됩니다.
    • INSTANT_SNAPSHOT_NAME: 스냅샷의 고유한 이름입니다.
    • SOURCE_DISK_NAME: 소스 디스크의 이름입니다.

요청 응답

POST 요청이 성공하면 응답 본문은 인스턴트 스냅샷 생성 상태를 가져오도록 폴링할 수 있는 객체가 됩니다. 자세한 내용은 API 응답 처리를 참조하세요.

새 Persistent Disk 볼륨으로 인스턴트 스냅샷 복원

인스턴트 스냅샷으로 백업된 데이터를 복원하려면 인스턴스 스냅샷에서 새 디스크를 만듭니다.

프로젝트 또는 위치의 인스턴트 스냅샷 보기

gcloud CLI, Google Cloud 콘솔, REST를 사용하여 프로젝트 또는 위치의 모든 인스턴트 스냅샷 목록을 볼 수 있습니다.

콘솔

  1. Google Cloud 콘솔에서 스냅샷 페이지로 이동합니다.

    스냅샷 페이지로 이동

  2. 인스턴트 스냅샷 탭을 클릭합니다. 인스턴트 스냅샷 목록이 표시됩니다.

  3. 선택사항: 필터 필드를 사용하여 결과 범위를 좁힙니다. 필터 필드에 속성 이름 또는 값을 입력하거나 사용 가능한 속성 중에서 선택합니다.

gcloud

gcloud beta compute instant-snapshots list 명령어를 사용하여 특정 프로젝트나 위치의 인스턴트 스냅샷을 나열할 수 있습니다.

  1. Google Cloud 콘솔에서 Cloud Shell을 활성화합니다.

    Cloud Shell 활성화

    Google Cloud 콘솔 하단에서 Cloud Shell 세션이 시작되고 명령줄 프롬프트가 표시됩니다. Cloud Shell은 Google Cloud CLI가 사전 설치된 셸 환경으로, 현재 프로젝트의 값이 이미 설정되어 있습니다. 세션이 초기화되는 데 몇 초 정도 걸릴 수 있습니다.

  2. 프로젝트의 모든 스냅샷 또는 영역이나 리전의 스냅샷을 나열합니다.

    • 특정 프로젝트의 모든 인스턴트 스냅샷을 나열합니다.

      gcloud beta compute instant-snapshots list --project=PROJECT_ID
      

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

    • --zones 인수를 사용하여 영역의 인스턴트 스냅샷을 나열합니다.

      gcloud beta compute instant-snapshots list --zones=ZONE
      

      ZONE을 대상 영역 이름으로 바꿉니다.

    • --regions 인수를 사용하여 리전의 리전 인스턴트 스냅샷을 나열합니다.

      gcloud beta compute instant-snapshots list --regions=REGION
      

      REGION을 대상 리전 이름으로 바꿉니다.

REST

특정 프로젝트나 위치의 인스턴트 스냅샷 목록을 검색할 수 있습니다.

  • 프로젝트의 스냅샷을 나열합니다.

    instantSnapshots.aggregatedList 메서드에 GET 요청을 보냅니다.

        GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/aggregated/instantSnapshots
     
    PROJECT_ID를 프로젝트의 ID로 바꿉니다.

  • 영역이나 리전의 인스턴트 스냅샷을 나열합니다.

    instantSnapshots.list 메서드에 GET 요청을 보냅니다.

    • 영역의 인스턴트 스냅샷을 나열합니다.
        GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/SOURCE_ZONE//instantSnapshots
    
    다음을 바꿉니다. - `PROJECT_ID`: 프로젝트 ID입니다. - `SOURCE_ZONE`: 대상 영역입니다(예: `us-west1-a`). + 리전의 리전 인스턴트 스냅샷을 나열합니다.
        GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/SOURCE_REGION/instantSnapshots
    

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID입니다.
    • SOURCE_REGION: 대상 리전입니다(예: us-west1).

디스크의 인스턴트 스냅샷 보기

gcloud CLI, Google Cloud 콘솔, REST를 사용하여 디스크의 인스턴트 스냅샷 목록을 볼 수 있습니다.

콘솔

  1. Google Cloud 콘솔에서 스냅샷 페이지로 이동합니다.

    스냅샷 페이지로 이동

  2. 인스턴트 스냅샷 탭을 클릭합니다. 프로젝트의 모든 인스턴트 스냅샷 목록이 표시됩니다.

  3. 소스 디스크로 결과 범위를 좁힙니다.

    1. filter_list 필터 필드에 Source disk:를 입력합니다. 소스 디스크 필터 입력

      인스턴트 스냅샷이 있는 디스크 목록이 표시됩니다.

    2. 목록에서 디스크 이름을 선택합니다. 인스턴트 스냅샷 목록에는 디스크의 모든 인스턴트 스냅샷이 표시됩니다.

      filter_list 필터 필드에 디스크 이름이 표시되지 않으면 디스크 이름의 처음 몇 자를 입력하여 표시된 필터링된 옵션 목록을 변경하세요.

gcloud

  1. Google Cloud 콘솔에서 Cloud Shell을 활성화합니다.

    Cloud Shell 활성화

    Google Cloud 콘솔 하단에서 Cloud Shell 세션이 시작되고 명령줄 프롬프트가 표시됩니다. Cloud Shell은 Google Cloud CLI가 사전 설치된 셸 환경으로, 현재 프로젝트의 값이 이미 설정되어 있습니다. 세션이 초기화되는 데 몇 초 정도 걸릴 수 있습니다.

  2. gcloud beta compute instant-snapshots list 명령어와 --filter 인수를 사용하여 디스크의 인스턴트 스냅샷을 나열합니다.

    • 영역 디스크의 인스턴트 스냅샷을 나열합니다.

      gcloud beta compute instant-snapshots list
      --filter="sourceDisk:projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME
      

      다음을 바꿉니다.

      • PROJECT_ID: 프로젝트 ID입니다.
      • ZONE: 디스크의 영역 이름입니다(예: us-west1-a).
      • DISK_NAME: 소스 디스크 이름입니다(예: disk-1).
    • 리전 디스크의 인스턴트 스냅샷을 나열합니다.

      gcloud beta compute instant-snapshots list
         --filter=sourceDisk:projects/PROJECT_ID/regions/SOURCE_REGION/disks/DISK_NAME
      

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID입니다.
    • SOURCE_REGION: 디스크의 리전 이름입니다(예: us-west1).
    • DISK_NAME: 디스크 이름입니다(예: disk-1).

REST

instantSnapshots.list 메서드에 GET 요청을 보내 영역 또는 리전 디스크의 인스턴트 스냅샷을 나열합니다.

filter=sourceDisk 쿼리 매개변수를 사용하여 디스크 이름을 지정합니다.

  • 영역 Persistent Disk 볼륨의 인스턴트 스냅샷을 나열합니다.

    GET https://compute.googleapis.com/compute/beta/projects/<var>PROJECT_ID</var>/zones/<var>SOURCE_ZONE/</var>/instantSnapshots?filter=sourceDisk:'https://www.googleapis.com/compute/beta/projects/<var>PROJECT_ID</var>/zones/<var>SOURCE_ZONE</var>/disks/<var>DISK_NAME</var>'
    

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID입니다.
    • SOURCE_ZONE: 대상 영역입니다(예: us-west1-a).
    • DISK_NAME: 소스 디스크 이름입니다(예: disk-1).
  • 리전 Persistent Disk 볼륨의 인스턴트 스냅샷을 나열합니다.

    GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/SOURCE_REGION//instantSnapshots?filter=sourceDisk:'https://www.googleapis.com/compute/beta/projects/PROJECT_ID/regions/SOURCE_REGION/disks/DISK_NAME'

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID입니다.
    • SOURCE_REGION: 대상 리전입니다(예: us-west1).
    • DISK_NAME: 소스 디스크 이름입니다(예: disk-1).

인스턴트 스냅샷에 대한 정보 보기

gcloud CLI, Google Cloud 콘솔, REST를 사용하여 위치, 소스 디스크, 크기와 같은 인스턴트 스냅샷에 대한 자세한 정보를 검색합니다.

콘솔

  1. Google Cloud 콘솔에서 스냅샷 페이지로 이동합니다.

    스냅샷 페이지로 이동

  2. 인스턴트 스냅샷 탭을 클릭합니다. 인스턴트 스냅샷 목록이 표시됩니다.

  3. 이름 열에서 인스턴트 스냅샷 이름을 클릭합니다. 선택한 스냅샷의 인스턴트 스냅샷 세부정보 페이지가 표시되고 해당 속성이 표시됩니다.

gcloud

  1. Google Cloud 콘솔에서 Cloud Shell을 활성화합니다.

    Cloud Shell 활성화

    Google Cloud 콘솔 하단에서 Cloud Shell 세션이 시작되고 명령줄 프롬프트가 표시됩니다. Cloud Shell은 Google Cloud CLI가 사전 설치된 셸 환경으로, 현재 프로젝트의 값이 이미 설정되어 있습니다. 세션이 초기화되는 데 몇 초 정도 걸릴 수 있습니다.

  2. 인스턴트 스냅샷에 대한 정보를 보려면 gcloud beta compute instant-snapshots describe 명령어를 사용합니다.

    • 스냅샷이 영역 디스크 스냅샷이면 --zone 플래그로 영역을 지정합니다.

      gcloud beta compute instant-snapshots describe INSTANT_SNAPSHOT_NAME  \
         --zone=ZONE
      

      다음을 해당 값으로 바꿉니다.

      • INSTANT_SNAPSHOT_NAME: 인스턴트 스냅샷 이름입니다.
      • ZONE: 인스턴트 스냅샷이 생성된 영역입니다(예: us-west1-a).
    • 스냅샷이 리전 디스크 스냅샷이면 --region 플래그로 리전을 지정합니다.

      gcloud beta compute instant-snapshots describe INSTANT_SNAPSHOT_NAME \
      --region=REGION
      

      다음을 해당 값으로 바꿉니다.

      • INSTANT_SNAPSHOT_NAME: 인스턴트 스냅샷 이름입니다.
      • REGION: 스냅샷이 생성된 리전입니다(예: us-central1).

REST

사용하는 API 메서드 요청은 리전 또는 영역 인스턴트 스냅샷으로 작동하는지 여부에 따라 다릅니다.

영역 인스턴트 스냅샷

요청에 영역을 지정하여 instantSnapshots.get 메서드에 GET 요청을 보냅니다.

GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instantSnapshots/INSTANT_SNAPSHOT_NAME

다음을 해당 값으로 바꿉니다.

  • PROJECT_ID: 인스턴트 스냅샷이 포함된 프로젝트의 이름입니다.
  • ZONE: 인스턴트 스냅샷이 생성된 영역입니다.
  • INSTANT_SNAPSHOT_NAME: 인스턴트 스냅샷 이름입니다.

리전 인스턴트 스냅샷

요청에 리전을 지정하여 instantSnapshots.get 메서드에 GET 요청을 보냅니다.

GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instantSnapshots/INSTANT_SNAPSHOT_NAME

다음을 해당 값으로 바꿉니다.

  • PROJECT_ID: 인스턴트 스냅샷이 포함된 프로젝트의 이름입니다.
  • REGION: 인스턴트 스냅샷이 생성된 리전입니다.
  • INSTANT_SNAPSHOT_NAME: 인스턴트 스냅샷 이름입니다.

인스턴트 스냅샷 삭제

gcloud CLI, Google Cloud 콘솔, REST를 사용하여 인스턴트 스냅샷을 삭제할 수 있습니다.

콘솔

  1. Google Cloud 콘솔에서 스냅샷 페이지로 이동합니다.

    스냅샷 페이지로 이동

  2. 인스턴트 스냅샷 탭을 클릭합니다.

  3. 삭제할 스냅샷을 하나 이상 선택합니다.

  4. 스냅샷 페이지의 상단에서 삭제를 클릭합니다.

gcloud

gcloud beta compute instant-snapshots delete 명령어로 소스 영역이나 소스 리전을 지정하여 인스턴트 스냅샷을 삭제합니다.

  • 영역 디스크의 인스턴트 스냅샷을 삭제합니다.

    gcloud beta compute instant-snapshots delete INSTANT_SNAPSHOT_NAME \
        --zone=ZONE
     

    다음을 해당 값으로 바꿉니다.

    • ZONE: 영역 이름입니다.
    • INSTANT_SNAPSHOT_NAME: 인스턴트 스냅샷 이름입니다.
  • 리전 디스크의 인스턴트 스냅샷을 삭제합니다.

    gcloud beta compute instant-snapshots delete INSTANT_SNAPSHOT_NAME \
       --region=REGION
    

    다음을 바꿉니다.

    • REGION: 리전의 이름입니다.
    • INSTANT_SNAPSHOT_NAME: 인스턴트 스냅샷 이름입니다.

REST

instantSnapshots.delete 메서드에 DELETE 요청을 보내 인스턴트 스냅샷을 삭제합니다.

  • 영역 디스크의 인스턴트 스냅샷을 삭제합니다.

    DELETE https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instantSnapshots/INSTANT_SNAPSHOT_NAME
    

    다음을 해당 값으로 바꿉니다.

    • PROJECT_ID: 프로젝트 ID입니다.
    • ZONE: 영역 이름입니다.
    • INSTANT_SNAPSHOT_NAME: 인스턴트 스냅샷 이름입니다.
  • 리전 디스크의 인스턴트 스냅샷을 삭제합니다.

    DELETE https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instantSnapshots/INSTANT_SNAPSHOT_NAME

    다음을 해당 값으로 바꿉니다.

    • PROJECT_ID: 프로젝트 ID입니다.
    • REGION: 리전의 이름입니다.
    • INSTANT_SNAPSHOT_NAME: 인스턴트 스냅샷 이름입니다.

인스턴트 스냅샷의 스토리지 위치 변경

인스턴트 스냅샷은 항상 소스 디스크와 동일한 위치에 저장됩니다. 다른 영역이나 리전에서 인스턴트 스냅샷에 액세스할 수 없게 할 수 없습니다. 대신 인스턴트 스냅샷에서 표준 스냅샷을 만들어 사용할 수 있습니다.

인스턴스 스냅샷에서 표준 스냅샷 생성 방법을 알아보세요.

문제 해결

인스턴트 스냅샷 작업 중에 발생한 문제를 해결하려면 인스턴스 스냅샷 문제 해결을 참조하세요.