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


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

인스턴트 스냅샷은 소스 디스크와 동일한 영역이나 리전에 저장되며 재해 복구를 위한 오프사이트 백업을 제공하는 표준 스냅샷을 대체하지 않습니다. 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. 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 사용 인증을 참조하세요.

필수 역할 및 권한

인스턴트 스냅샷을 만드는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.

역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

이러한 사전 정의된 역할에는 인스턴트 스냅샷을 만드는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.

필수 권한

인스턴트 스냅샷을 만들려면 다음 권한이 필요합니다.

  • 인스턴트 스냅샷 만들기: compute.instantSnapshots.create
  • 인스턴트 스냅샷 보기: compute.instantSnapshots.list
  • 인스턴트 스냅샷 세부정보 보기: compute.instantSnapshots.get
  • 인스턴트 스냅샷 삭제하기: compute.instantSnapshots.delete

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

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

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

영역 디스크

영역 디스크의 인스턴트 스냅샷을 만들려면 다음을 수행합니다.

 gcloud 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 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/v1/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/v1/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. 선택사항: filter_list 필터 필드를 사용하여 결과 범위를 좁힙니다. filter_list 필터 필드에 속성 이름 또는 값을 입력하거나 사용 가능한 속성 중에서 선택합니다.

gcloud

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

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

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

    gcloud compute instant-snapshots list --project=PROJECT_ID
    

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

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

    gcloud compute instant-snapshots list --zones=ZONE
    

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

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

    gcloud compute instant-snapshots list --regions=REGION
    

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

REST

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

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

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

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/instantSnapshots
    

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

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

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

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

      GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/SOURCE_ZONE//instantSnapshots
      

      다음을 바꿉니다.

      • PROJECT_ID: 프로젝트 ID입니다.
      • SOURCE_ZONE: 대상 영역입니다(예: us-west1-a).
    • 리전의 리전 인스턴트 스냅샷을 나열합니다.

      GET https://compute.googleapis.com/compute/v1/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. gcloud compute instant-snapshots list 명령어와 --filter 인수를 사용하여 디스크의 인스턴트 스냅샷을 나열합니다.

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

      gcloud 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 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/v1/projects/PROJECT_ID/zones/SOURCE_ZONE/instantSnapshots?filter=sourceDisk:'https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/SOURCE_ZONE/disks/DISK_NAME'
    

    다음을 바꿉니다.

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

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/SOURCE_REGION/instantSnapshots?filter=sourceDisk:'https://www.googleapis.com/compute/v1/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. 인스턴트 스냅샷에 대한 정보를 보려면 gcloud compute instant-snapshots describe 명령어를 사용합니다.

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

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

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

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

      gcloud 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/v1/projects/PROJECT_ID/zones/ZONE/instantSnapshots/INSTANT_SNAPSHOT_NAME

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

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

리전 인스턴트 스냅샷

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

GET https://compute.googleapis.com/compute/v1/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 compute instant-snapshots delete 명령어로 소스 영역이나 소스 리전을 지정하여 인스턴트 스냅샷을 삭제합니다.

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

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

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

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

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

    다음을 바꿉니다.

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

REST

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

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

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

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

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

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

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

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

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

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

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

문제 해결

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