표준 디스크 스냅샷을 사용하면 Persistent Disk와 Google Cloud Hyperdisk의 데이터를 주기적으로 백업할 수 있습니다.
디스크 스냅샷을 보고, 나열하고, 삭제할 수 있습니다. 또한 프로젝트 간에 스냅샷을 공유할 수 있습니다.
시작하기 전에
-
아직 인증을 설정하지 않았다면 설정합니다.
인증은 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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Compute 인스턴스 관리자(v1)(
roles/compute.instanceAdmin.v1
) -
서비스 계정으로 실행될 수 있는 VM에 연결하려는 경우:
서비스 계정 사용자(v1)(
roles/iam.serviceAccountUser
) -
스냅샷 나열: 프로젝트에 대한
compute.snapshots.list
권한 -
스냅샷에 대한 정보 보기: 스냅샷에 대한
compute.snapshots.get
권한 -
스냅샷 삭제: 스냅샷에 대한
compute.snapshots.delete
권한 -
필터를 기준으로 스냅샷 삭제:
- 스냅샷에 대한
compute.snapshots.delete
권한 - 프로젝트에 대한
compute.snapshots.list
권한
- 스냅샷에 대한
-
프로젝트 간에 스냅샷 데이터를 공유:
-
프로젝트에 대한
compute.storageAdmin
권한(모든 표준 스냅샷에 액세스용) -
공유할 프로젝트에 대한
compute.disks.create
권한 - 소스 프로젝트에 대한
compute.snapshots.create
권한 - 소스 디스크에 대한
compute.disks.createSnapshot
권한
-
프로젝트에 대한
Google Cloud 콘솔에서 스냅샷 페이지로 이동합니다.
스냅샷 탭에서 현재 프로젝트의 표준 스냅샷을 볼 수 있습니다.
선택사항입니다. filter_list 필터 필드를 사용하여 결과 범위를 좁힙니다. 필터 필드에 속성 이름 또는 값을 입력하거나 사용 가능한 속성 중에서 선택합니다.
Google Cloud 콘솔에서 스냅샷 페이지로 이동합니다.
스냅샷 탭에 프로젝트의 모든 표준 스냅샷 목록이 나타납니다.
소스 디스크로 결과 범위를 좁힙니다.
filter_list 필터 필드에
Source disk:
를 입력하거나 필터 필드를 클릭한 후 속성 목록에서Source disk
값을 선택합니다.필터 필드의
Source disk:
옆에 표시되는 값 목록에서 디스크 이름을 선택합니다.이제 콘솔에 표시된 스냅샷에 지정된 디스크의 모든 표준 스냅샷이 표시됩니다.
값 목록에 디스크 이름이 표시되지 않으면
Source disk:
옆의 필터 필드에 소스 디스크 이름의 처음 몇 글자를 입력하여 보이는 값 목록을 변경하세요.
영역 디스크의 인스턴트 표준 스냅샷을 나열합니다.
gcloud compute snapshots list --filter="sourceDisk:projects/PROJECT_ID/zones/SOURCE_ZONE/disks/DISK_NAME
리전 디스크의 인스턴트 표준 스냅샷을 나열합니다.
gcloud compute snapshots list --filter=sourceDisk:projects/PROJECT_ID/regions/SOURCE_REGION/disks/DISK_NAME
PROJECT_ID
: 프로젝트 ID입니다.SOURCE_ZONE
: (영역 디스크만 해당) 디스크의 영역 이름입니다(예:us-west1-a
).SOURCE_REGION
: (리전 디스크만 해당) 디스크의 리전 이름입니다(예:us-west1
).DISK_NAME
: 디스크 이름입니다(예:disk-1
).영역 디스크의 인스턴트 표준 스냅샷을 나열합니다.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots?filter=sourceDisk:'https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/SOURCE_ZONE/disks/DISK_NAME'
리전 디스크의 인스턴트 표준 스냅샷을 나열합니다.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots?filter=sourceDisk:'https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/SOURCE_REGION/disks/DISK_NAME'
PROJECT_ID
: 프로젝트 ID입니다.SOURCE_ZONE
: (영역 디스크만 해당) 디스크의 영역 이름입니다(예:us-west1-a
).SOURCE_REGION
: (리전 디스크만 해당) 디스크의 리전 이름입니다(예:us-west1
).DISK_NAME
: 소스 디스크 이름입니다(예:disk-1
).Google Cloud 콘솔에서 스냅샷 페이지로 이동합니다.
스냅샷 탭에서 프로젝트의 스냅샷 목록을 확인합니다.
이름 열에서 표준 스냅샷 이름을 클릭합니다. 선택한 스냅샷의 스냅샷 세부정보 페이지가 표시되고 해당 속성이 표시됩니다.
PROJECT_ID
: 표준 스냅샷이 포함된 프로젝트의 이름입니다.SNAPSHOT_NAME
: 표준 스냅샷의 이름입니다.Google Cloud 콘솔의 스냅샷 페이지로 이동합니다.
삭제할 스냅샷을 하나 이상 선택합니다.
스냅샷 페이지의 상단에서 삭제를 클릭합니다.
- PROJECT_ID: 프로젝트의 이름
- SNAPSHOT_NAME: 삭제할 스냅샷의 이름
gcloud compute snapshots create
명령어를 사용하여 대상 프로젝트에서 표준 스냅샷을 만듭니다. 예를 들어 영역 Persistent Disk 또는 Hyperdisk의 스냅샷을 만들려면 다음 명령어를 사용합니다.gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk https://www.googleapis.com/compute/v1/projects/SOURCE_PROJECT_ID/zones/ZONE/disks/SOURCE_DISK_NAME \ --project DESTINATION_PROJECT_ID
다음을 바꿉니다.
- SNAPSHOT_NAME: 새 스냅샷의 이름
- SOURCE_PROJECT_ID: 소스 디스크의 프로젝트 ID
- ZONE: 소스 디스크의 영역
- SOURCE_DISK_NAME: 소스 디스크의 이름입니다.
- DESTINATION_PROJECT_ID: 새 스냅샷의 대상 프로젝트 ID
대상 프로젝트에서
gcloud compute disks create
명령어를 사용하여 스냅샷을 기준으로 영역별 또는 리전별 디스크를 만듭니다.gcloud compute disks create DISK_NAME \ --source-snapshot SNAPSHOT_NAME \ --project DESTINATION_PROJECT_ID
다음을 바꿉니다.
- DISK_NAME: 새 디스크의 이름
- SNAPSHOT_NAME: 스냅샷의 이름
- DESTINATION_PROJECT_ID: 새 디스크의 대상 프로젝트의 ID
snapshots.insert
메서드를 호출하여 대상 프로젝트에 표준 스냅샷을 만듭니다. 예를 들어 영역 Persistent Disk 또는 Hyperdisk의 스냅샷을 만들려면 다음 요청을 수행합니다.POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": SNAPSHOT_NAME "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME }
다음을 바꿉니다.
- DESTINATION_PROJECT_ID: 새 스냅샷의 대상 프로젝트의 ID
- SNAPSHOT_NAME: 스냅샷의 이름
- SOURCE_PROJECT_ID: 소스 디스크 프로젝트의 ID
- SOURCE_ZONE: 소스 디스크의 영역
- SOURCE_DISK_NAME: 소스 디스크의 이름입니다.
대상 프로젝트에서 영역별
disks.insert
메서드 또는 리전별regionDisks.insert
메서드를 사용해서 스냅샷을 기준으로 영역별 또는 리전별 디스크를 만듭니다.예를 들어 영역별 디스크를 만들려면 다음 요청을 수행합니다.
POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/zones/DESTINATION_ZONE/disks { "name": DISK_NAME "sourceSnapshot": SNAPSHOT_NAME }
다음을 바꿉니다.
- DESTINATION_PROJECT_ID: 새 디스크의 대상 프로젝트의 ID
- DESTINATION_ZONE: 새 디스크의 대상 프로젝트에 있는 영역
- DISK_NAME: 새 디스크의 이름
- SNAPSHOT_NAME: 스냅샷의 이름
소스 프로젝트에서
gcloud compute disks create
명령어를 사용하여 스냅샷을 기반으로 디스크를 만듭니다.gcloud compute disks create DISK_NAME \ --source-snapshot SNAPSHOT_NAME \ --project SOURCE_PROJECT_ID \ --zone ZONE
다음을 바꿉니다.
- DISK_NAME: 새 디스크의 이름
- SNAPSHOT_NAME: 스냅샷의 이름
- SOURCE_PROJECT_ID: 소스 프로젝트의 ID
- ZONE: 새 디스크를 만들 영역
이 디스크는 조직 간 스냅샷 복사를 위해서만 생성되는 임시 디스크입니다.
대상 프로젝트에서
gcloud compute snapshots create
명령어를 사용하여 스냅샷을 만듭니다.예를 들어 첫 번째 단계에서 만든 영역 디스크를 사용하여 스냅샷을 만들려면 다음 명령어를 사용합니다.
gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk https://www.googleapis.com/compute/v1/projects/SOURCE_PROJECT_ID/zones/ZONE/disks/DISK_NAME \ --project DESTINATION_PROJECT_ID
다음을 바꿉니다.
- SNAPSHOT_NAME: 스냅샷의 이름입니다.
- SOURCE_PROJECT_ID: 소스 디스크가 포함된 프로젝트의 ID
- ZONE: 소스 디스크의 영역
- DISK_NAME: 1단계에서 만든 디스크의 이름
- DESTINATION_PROJECT_ID: 새 스냅샷의 대상 프로젝트 ID
사용할 수 있는 스냅샷 목록을 가져오려면 프로젝트 또는 위치의 표준 스냅샷 보기를 참조하세요.
gcloud compute disks delete
명령어를 사용하여 첫 번째 단계에서 만든 임시 디스크를 삭제합니다.gcloud compute disks delete DISK_NAME \ --project SOURCE_PROJECT_ID --zone ZONE
다음을 바꿉니다.
- DISK_NAME: 1단계에서 만든 디스크의 이름
- SOURCE_PROJECT_ID: 소스 디스크가 포함된 프로젝트의 ID
- ZONE: 디스크 영역
소스 프로젝트에서 영역별
disks.insert
메서드를 사용하여 스냅샷을 기준으로 영역별 또는 리전별 디스크를 만듭니다.예를 들어 영역별 디스크를 만들려면 다음 요청을 수행합니다.
POST https://compute.googleapis.com/compute/v1/projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks { "name": DISK_NAME "sourceSnapshot": SNAPSHOT_NAME }
다음을 바꿉니다.
- SOURCE_PROJECT_ID: 새 디스크의 소스 프로젝트 ID
- SOURCE_ZONE: 새 디스크의 영역
- DISK_NAME: 새 디스크의 이름
- SNAPSHOT_NAME: 스냅샷의 이름
이 디스크는 조직 간 스냅샷 복사를 위해서만 생성되는 임시 디스크입니다.
snapshots.insert
메서드를 호출하여 대상 프로젝트에 스냅샷을 만듭니다.예를 들어 첫 번째 단계에서 만든 영역 디스크를 사용하여 스냅샷을 만들려면 다음 명령어를 사용합니다.
POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": SNAPSHOT_NAME "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/DISK_NAME }
다음을 바꿉니다.
- DESTINATION_PROJECT_ID: 새 스냅샷의 대상 프로젝트 ID
- SNAPSHOT_NAME: 스냅샷의 이름입니다.
- SOURCE_PROJECT_ID: 소스 디스크가 포함된 프로젝트의 ID
- SOURCE_ZONE: 소스 디스크의 영역
- DISK_NAME: 소스 디스크의 이름입니다.
disks.delete
메서드를 사용하여 첫 번째 단계에서 만든 임시 디스크를 삭제합니다.DELETE https://compute.googleapis.com/compute/v1/projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/DISK_NAME
다음을 바꿉니다.
- SOURCE_PROJECT_ID: 임시 디스크가 포함된 프로젝트의 ID입니다.
- SOURCE_ZONE: 디스크 영역
- DISK_NAME: 1단계에서 만든 임시 디스크의 이름
- 디스크의 예약 스냅샷을 만드는 방법 알아보기
- 스냅샷에서 디스크 이미지를 만드는 방법 알아보기
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공하는 사용자 인증 정보를 사용합니다.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
자세한 내용은 Google Cloud 인증 문서의 REST 사용 인증을 참조하세요.
필수 역할 및 권한
표준 스냅샷을 관리하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.
이러한 사전 정의된 역할에는 표준 스냅샷을 관리하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
표준 스냅샷을 관리하려면 다음 권한이 필요합니다.
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
프로젝트 또는 위치의 표준 스냅샷 보기
gcloud CLI, Google Cloud 콘솔, REST를 사용하여 프로젝트 또는 위치의 표준 스냅샷을 보거나 나열할 수 있습니다.
콘솔
gcloud
특정 프로젝트에서 사용할 수 있는 스냅샷 목록을 보려면
gcloud compute snapshots list
명령어를 사용합니다.gcloud compute snapshots list --project=PROJECT_ID
선택사항입니다.
PROJECT_ID
를 프로젝트 ID로 바꿉니다. 이 플래그를 생략하면 현재 프로젝트가 사용됩니다. gcloud CLI 명령어gcloud config set project PROJECT_ID
를 사용하여 세션의 기본 프로젝트를 설정할 수 있습니다.REST
특정 프로젝트에서 사용할 수 있는 스냅샷 목록을 보려면
snapshots.list
메서드에GET
요청을 수행합니다.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots
PROJECT_ID
를 프로젝트 ID로 바꿉니다.디스크의 표준 스냅샷 보기
Google Cloud 콘솔, gcloud CLI 또는 REST를 사용하여 디스크의 표준 스냅샷 목록을 볼 수 있습니다.
콘솔
gcloud
gcloud compute snapshots list
명령어와--filter
인수를 사용하여 디스크의 표준 스냅샷을 나열합니다.다음을 바꿉니다.
REST
snapshots.list
메서드에GET
요청을 사용하여 영역 또는 리전 디스크의 표준 스냅샷을 나열합니다.filter=sourceDisk
쿼리 매개변수를 사용하여 디스크 이름을 지정합니다.다음을 바꿉니다.
표준 스냅샷에 관한 정보 보기
Google Cloud 콘솔, Google Cloud CLI, REST를 사용하여 생성 시간, 소스 디스크, 크기와 같은 표준 스냅샷에 대한 자세한 정보를 검색합니다.
콘솔
gcloud
표준 스냅샷에 대한 정보를 보려면
gcloud compute snapshots describe
명령어를 사용합니다.gcloud compute snapshots describe SNAPSHOT_NAME
SNAPSHOT_NAME
을 표준 스냅샷의 이름으로 바꿉니다.REST
snapshots.get
메서드에 대해GET
요청을 실행합니다.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME
다음을 바꿉니다.
스냅샷 삭제
Compute Engine에서는 차등 스냅샷을 사용하므로 각 스냅샷에는 이전 스냅샷 이후로 변경된 데이터만 포함됩니다. 이후 스냅샷에서 이전 스냅샷에 저장된 정보를 필요로 하는 경우도 있으므로 스냅샷을 삭제한다고 해서 해당 스냅샷의 모든 데이터가 반드시 삭제되는 것은 아닙니다.
스냅샷 삭제에 대한 자세한 내용은 스냅샷 삭제를 참조하세요.
콘솔
gcloud
스냅샷을 삭제하려면
gcloud compute snapshots delete
명령어를 사용합니다.gcloud compute snapshots delete SNAPSHOT_NAME
SNAPSHOT_NAME을 삭제할 스냅샷의 이름으로 바꿉니다.
Go
자바
Node.js
Python
REST
snapshots.delete
메서드에 대해DELETE
요청을 수행하여 스냅샷을 삭제합니다.DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME
다음을 바꿉니다.
필터를 기준으로 여러 스냅샷 삭제
Compute Engine에서는 차등 스냅샷을 사용하므로 각 스냅샷에는 이전 스냅샷 이후로 변경된 데이터만 포함됩니다. 이후 스냅샷에서 이전 스냅샷에 저장된 정보를 필요로 하는 경우도 있으므로 스냅샷을 삭제해도 해당 스냅샷의 모든 데이터가 반드시 삭제되는 것은 아닙니다.
스냅샷 삭제에 대한 자세한 내용은 스냅샷 삭제를 참조하세요.
특정 필터에 따라 스냅샷 여러 개를 삭제할 수 있습니다. gcloud CLI에서 필터를 사용하는 방법에 대한 자세한 내용은 gcloud CLI 주제 필터를 참조하세요.
스냅샷을 삭제하려면
gcloud compute snapshots list
명령어와 특정 필터를 함께 사용하고gcloud compute snapshots delete
명령어와xargs
를 함께 사용합니다.gcloud compute snapshots list --filter="EXPRESSION" --uri | xargs gcloud compute snapshots delete
EXPRESSION
을 gcloud CLI 주제 필터로 바꿉니다.예를 들어
--filter="creationTimestamp<'2023-12-31'"
은 2023년 12월 31일 이전에 생성된 모든 스냅샷을 삭제합니다.동일 조직에서 프로젝트 간 스냅샷 데이터 공유
이 절차에 따라 한 프로젝트의 디스크에서 동일 조직 내에 있는 다른 프로젝트의 디스크로 데이터를 이동할 수 있습니다.
gcloud
REST
사용할 수 있는 스냅샷 목록을 가져오려면 프로젝트 또는 위치의 표준 스냅샷 보기를 참조하세요.
여러 조직에서 프로젝트 간 스냅샷 공유
이 절차에 따라 한 조직의 프로젝트에 있는 표준 스냅샷을 다른 조직의 다른 프로젝트와 공유할 수 있습니다.
gcloud
REST
다음 단계
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2024-09-05(UTC)
-