디스크는 가상 머신(VM) 인스턴스에서 운영체제를 시작하고 실행하는 데 사용되는 부팅 디스크 또는 VM이 데이터 스토리지에만 사용하는 비부팅 디스크입니다.
스냅샷을 사용하여 다음 방법으로 디스크 데이터를 백업 및 복원할 수 있습니다.
부팅 디스크 또는 비부팅 디스크의 스냅샷을 만든 후 스냅샷을 기반으로 새 디스크를 만듭니다.
부팅 디스크의 스냅샷을 만든 후 부팅 디스크 스냅샷을 기반으로 새 VM을 만듭니다.
비부팅 디스크의 스냅샷을 만든 후 스냅샷을 기반으로 새 비부팅 디스크가 있는 새 VM을 만듭니다.
시작하기 전에
-
아직 인증을 설정하지 않았다면 설정합니다.
인증은 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.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
-
스냅샷에서 디스크 만들기:
-
프로젝트에 대한
compute.disks.create
-
VM에 대한
compute.instances.attachDisk
권한 -
연결할 디스크에 대한
compute.disks.use
권한 -
프로젝트에 대한
compute.snapshots.useReadOnly
,compute.snapshots.create
또는compute.disks.createSnapshot
권한
-
프로젝트에 대한
-
부팅 디스크 및 비부팅 디스크 스냅샷에서 VM 만들기:
- 프로젝트에 대한
compute.instances.create
권한 - 커스텀 이미지를 사용하여 VM 만들기: 이미지에 대한
compute.images.useReadOnly
권한 - 스냅샷을 사용하여 VM 만들기: 스냅샷에 대한
compute.snapshots.useReadOnly
권한 - 인스턴스 템플릿을 사용하여 VM 만들기: 인스턴스 템플릿에 대한
compute.instanceTemplates.useReadOnly
권한 - VM에 기존 네트워크 할당: 프로젝트에 대한
compute.networks.use
권한 - VM의 고정 IP 주소 지정: 프로젝트에 대한
compute.addresses.use
권한 - 기존 네트워크 사용 시 VM에 외부 IP 주소 할당: 프로젝트에 대한
compute.networks.useExternalIp
권한 - VM의 서브넷 지정: 프로젝트 또는 선택한 서브넷에 대한
compute.subnetworks.use
권한 - VPC 네트워크를 사용할 때 VM에 외부 IP 주소 할당: 프로젝트 또는 선택한 서브넷에 대한
compute.subnetworks.useExternalIp
권한 - VM에 VM 인스턴스 메타데이터 설정: 프로젝트에 대한
compute.instances.setMetadata
권한 - VM에 태그 설정: VM에 대한
compute.instances.setTags
권한 - VM에 라벨 설정: VM에 대한
compute.instances.setLabels
권한 - VM에 사용할 서비스 계정 설정: VM에 대한
compute.instances.setServiceAccount
권한 - VM의 새 디스크 만들기: 프로젝트에 대한
compute.disks.create
권한 - 기존 디스크를 읽기 전용 또는 읽기-쓰기 모드로 연결: 디스크에 대한
compute.disks.use
권한 - 기존 디스크를 읽기 전용 모드로 연결: 디스크에 대한
compute.disks.useReadOnly
권한
- 프로젝트에 대한
새 디스크의 크기는 최소한 스냅샷의 원래 소스 디스크와 같아야 합니다. 스냅샷의 원본 소스 디스크보다 큰 디스크를 만드는 경우 추가 디스크 공간이 포함되도록 영구 디스크의 파일 시스템 크기를 조절해야 합니다. 운영체제 및 파일 시스템 유형에 따라서는 다른 파일 시스템 크기 조절 도구를 사용해야 할 수도 있습니다. 자세한 내용은 운영체제 문서를 참조하세요.
지정된 스냅샷에서 최대 10분마다 한 번씩 영역 디스크나 리전 디스크를 새로 만들 수 있습니다. 디스크 스냅샷 요청 버스트를 실행하려면 60분 동안 최대 6개의 요청을 실행할 수 있습니다. 스냅샷에서 리전 디스크를 만들 때는 이 한도가 적용되지 않습니다. 자세한 내용은 스냅샷 빈도 제한을 참조하세요.
Google Cloud 콘솔에서 스냅샷 페이지로 이동합니다.
복원할 스냅샷의 이름을 확인합니다.
디스크 페이지로 이동합니다.
새 디스크 만들기를 클릭합니다.
다음 구성 매개변수를 지정합니다.
- 디스크의 이름
- 디스크의 유형
- 원할 경우 기본 리전 및 영역 선택을 재정의할 수 있습니다. 소스 스냅샷의 스토리지 위치에 관계없이 모든 리전과 영역을 선택할 수 있습니다.
소스 유형에서 스냅샷을 클릭합니다.
복원할 스냅샷의 이름을 선택합니다.
새 디스크의 크기(GB)를 선택합니다. 이 값은 스냅샷의 원래 소스 디스크보다 크거나 같아야 합니다.
만들기를 클릭하여 디스크를 만듭니다.
- VM 인스턴스 페이지로 이동합니다.
- 비부팅 디스크를 복원할 인스턴스의 이름을 클릭합니다.
- 인스턴스 세부정보 페이지의 상단에서 수정을 클릭합니다.
- 추가 디스크에서 기존 디스크 연결을 클릭합니다.
- 스냅샷에서 만든 새 디스크의 이름을 선택합니다.
- 완료를 클릭하여 디스크를 연결합니다.
- 인스턴스 세부정보 페이지 하단에 있는 저장을 클릭해 변경사항을 인스턴스에 적용합니다.
gcloud compute snapshots list
명령어를 사용해 복원할 스냅샷의 이름을 확인합니다.gcloud compute snapshots list
gcloud compute snapshots describe
명령어를 사용해 복원할 스냅샷의 크기를 확인합니다.gcloud compute snapshots describe SNAPSHOT_NAME
SNAPSHOT_NAME을 복원할 스냅샷의 이름으로 바꿉니다.
gcloud compute disks create
명령어를 사용하여 새 리전 또는 영역 디스크를 만듭니다. 추가 처리량 또는 IOPS에 사용할 SSD 영구 디스크가 필요한 경우에는--type
플래그를 포함하고pd-ssd
를 지정합니다.gcloud compute disks create DISK_NAME \ --size=DISK_SIZE \ --source-snapshot=SNAPSHOT_NAME \ --type=DISK_TYPE
다음을 바꿉니다.
- DISK_NAME: 새 디스크의 이름
- DISK_SIZE: 새 디스크의 크기(GB). 이 값은 스냅샷의 원래 소스 디스크보다 크거나 같아야 합니다.
- SNAPSHOT_NAME: 복원할 스냅샷의 이름
- DISK_TYPE: 디스크 유형의 전체 또는 부분 URL. 예를 들면
https://www.googleapis.com/compute/v1/projects/PROJECT_ID /zones/ZONE/diskTypes/pd-ssd
입니다.
(선택사항)
gcloud compute instances attach-disk
명령어를 사용하여 기존 디스크를 새 인스턴스에 연결합니다.gcloud compute instances attach-disk INSTANCE_NAME \ --disk DISK_NAME
다음을 바꿉니다.
- INSTANCE_NAME: 인스턴스의 이름
- DISK_NAME: 스냅샷에서 만든 디스크
snapshots.list
에 대한GET
요청을 작성하여 프로젝트에 스냅샷 목록을 표시합니다.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots
PROJECT_ID를 프로젝트 ID로 바꿉니다.
각
disks.insert
메서드를 사용하여 리전 또는 영역 디스크를 만드는POST
요청을 작성합니다.- 영역 디스크:
disks.insert
- 리전 디스크: 리전 디스크의 경우
regionDisks.insert
name
,sizeGb
,type
, 속성을 포함하세요. 스냅샷을 사용해 디스크를 복원하려면sourceSnapshot
속성을 추가해야 합니다.예를 들어 다음 요청은 영역 디스크를 만듭니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks { "name": "DISK_NAME", "sizeGb": "DISK_SIZE", "type": "zones/ZONE/diskTypes/DISK_TYPE" "sourceSnapshot": "SNAPSHOT_NAME" }
다음을 바꿉니다.
- PROJECT_ID: 프로젝트 ID
- ZONE: 인스턴스와 새 디스크가 배치되는 영역
- DISK_NAME: 새 디스크의 이름
- DISK_SIZE: 새 디스크의 크기(GB). 이 값은 스냅샷의 원래 소스 디스크보다 크거나 같아야 합니다.
- DISK_TYPE: 디스크 유형의 전체 또는 부분 URL. 예를 들면
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ ZONE/diskTypes/pd-ssd
입니다. - SNAPSHOT_NAME: 복원할 디스크의 소스 스냅샷
- 영역 디스크:
또는, 그런 다음에
instances.attachDisk
메서드에 대한POST
요청을 작성하고 스냅샷에서 방금 만든 디스크의 URL을 포함하여 새 디스크를 기존 인스턴스에 연결할 수 있습니다.리전 디스크의 경우
zones/ZONE
을regions/REGION
으로 바꿉니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk { "source": "/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME" }
다음을 바꿉니다.
- PROJECT_ID: 프로젝트 ID
- ZONE: 인스턴스와 새 디스크가 있는 영역
- INSTANCE_NAME: 새 디스크를 추가할 인스턴스의 이름
- DISK_NAME: 새 디스크 이름
Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
프로젝트를 선택하고 계속을 클릭합니다.
인스턴스 만들기를 클릭합니다.
VM의 이름을 지정합니다. 자세한 내용은 리소스 이름 지정 규칙을 참조하세요.
선택사항: 이 VM의 영역을 변경합니다. 모두를 선택하면 Google에서 머신 유형과 가용성을 기반으로 영역을 자동으로 선택합니다.
VM의 머신 구성을 선택합니다.
부팅 디스크 섹션에서 변경을 클릭한 후 다음을 수행합니다.
- 스냅샷 탭을 클릭합니다.
- 스냅샷 목록에서 스냅샷을 클릭합니다.
- 부팅 디스크 유형과 크기를 지정합니다.
- (선택사항) 고급 구성 옵션의 경우 고급 구성 표시를 클릭합니다.
- 부팅 디스크 옵션을 확인하려면 선택을 클릭합니다.
방화벽 섹션에서 VM에 대한 HTTP 또는 HTTPS 트래픽을 허용하려면 HTTP 트래픽 허용 또는 HTTPS 트래픽 허용을 선택합니다.
Google Cloud 콘솔은 VM에 네트워크 태그를 추가하고
tcp:80
(HTTP) 또는tcp:443
(HTTPS)에서 들어오는 모든 트래픽을 허용하는 인그레스 방화벽 규칙을 만듭니다. 네트워크 태그는 방화벽 규칙을 VM과 연결합니다. 자세한 내용은 Virtual Private Cloud 문서의 방화벽 규칙 개요를 참조하세요.만들기를 클릭하여 VM을 만들고 시작합니다.
VM_NAME
: 새 VM의 이름ZONE
: VM을 만들 영역DISK_NAME
: (선택사항) 디스크 이름BOOT_SNAPSHOT_NAME
: 새 VM의 부팅 디스크로 복원할 부팅 디스크 스냅샷의 이름REMOTE_ZONE
: 리전 영구 디스크가 복제되는 리전.replica-zones
속성에는 쉼표로 구분된 두 개의 영역이 필요하며 영역 중 하나는 VM의 영역과 동일해야 합니다.- 하나의 영구 디스크만 부팅 디스크로 사용될 수 있습니다.
- 해당 VM의 첫 번째 디스크로 부팅 디스크를 연결해야 합니다.
source
속성을 지정하면initializeParams
속성을 지정할 수 없습니다.source
제공은 부팅 영구 디스크가 이미 있음을 나타내지만initializeParams
속성은 Compute Engine이 부팅 영구 디스크를 새로 만들어야 함을 나타냅니다.PROJECT_ID
: 프로젝트 IDZONE
: VM을 만들려는 영역의 이름VM_NAME
: VM의 이름BOOT_SNAPSHOT_NAME
: 부팅 디스크 스냅샷 이름REMOTE_ZONE
: 리전 Persistent Disk의 원격 영역각 비부팅 스냅샷을 새 디스크로 복원합니다.
Google Cloud 콘솔에서 디스크 페이지로 이동합니다.
디스크 만들기를 클릭합니다.
디스크 이름을 지정합니다. 자세한 내용은 리소스 이름 지정 규칙을 참조하세요.
이 디스크의 리전과 영역을 선택합니다. 디스크와 VM은 영역 디스크의 경우 같은 영역에 또는 리전 디스크의 경우 같은 리전에 있어야 합니다.
디스크 유형을 선택합니다.
소스 유형에서 스냅샷을 선택합니다.
새 소스 스냅샷 필드에서 새 디스크로 복원할 비부팅 스냅샷을 선택합니다.
디스크를 만들려면 만들기를 클릭합니다.
이 단계를 반복하여 복원할 각 스냅샷을 사용하여 디스크를 만듭니다. VM을 만들 때 비부팅 디스크를 15개까지 추가할 수 있습니다.
Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
프로젝트를 선택하고 계속을 클릭합니다.
인스턴스 만들기를 클릭합니다.
- VM의 이름을 지정합니다. 자세한 내용은 리소스 이름 지정 규칙을 참조하세요.
- 이 VM의 리전과 영역을 선택합니다. 디스크와 VM은 영역 디스크의 경우 같은 영역에 또는 리전 디스크의 경우 같은 리전에 있어야 합니다.
- VM의 머신 유형을 선택합니다.
- 외부 수신 트래픽을 허용하려면 VM의 방화벽 규칙을 변경합니다.
디스크를 VM에 추가하려면 고급 옵션 섹션을 펼친 후 다음을 수행합니다.
- 디스크 섹션을 펼칩니다.
- 기존 디스크 연결을 클릭합니다.
- 디스크 목록에서 이 VM에 연결할 디스크를 선택합니다.
- 연결 설정 섹션에서 디스크의 연결 모드와 삭제 규칙을 선택합니다. 새 디스크 추가에 대한 자세한 내용은 VM에 영구 디스크 추가를 참조하세요.
- 저장을 클릭합니다.
연결하려는 디스크마다 이 단계를 반복합니다. VM을 만들 때 비부팅 디스크를 15개까지 추가할 수 있습니다.
만들기를 클릭하여 VM을 만들고 시작합니다.
VM_NAME
: 새 VM의 이름SNAPSHOT_1_NAME
및SNAPSHOT_2_NAME
: 복원할 비부팅 스냅샷의 이름DISK_1_NAME
및DISK_2_NAME
: 이 VM의 새 비부팅 디스크 이름DISK_1_SIZE
및DISK_2_SIZE
: (선택사항) 각 새 비부팅 디스크의 크기(GB)크기는 스냅샷이 만들어진 소스 디스크보다 크거나 같아야 합니다.
DISK_1_TYPE
및DISK_2_TYPE
: (선택사항) 영구 디스크의 유형예를 들면
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
입니다.- 하나의 영구 디스크만 부팅 영구 디스크가 될 수 있습니다.
- 해당 VM의 첫 번째 디스크로 부팅 영구 디스크를 연결해야 합니다.
source
속성을 지정하면initializeParams
속성을 지정할 수 없습니다.source
제공은 부팅 영구 디스크가 이미 있음을 나타내지만initializeParams
속성은 Compute Engine이 부팅 영구 디스크를 새로 만들어야 함을 나타냅니다.PROJECT_ID
: 프로젝트 IDZONE
: VM을 만들 영역VM_NAME
: 스냅샷을 복원할 VM의 이름MACHINE_TYPE
: VM의 머신 유형DISK_SIZE
: (선택사항) 해당 디스크의 크기(GB)이 속성이 제공되는 경우 크기는 스냅샷이 만들어진 소스 디스크보다 크거나 같아야 합니다.
DISK_TYPE
: (선택사항) 해당 영구 디스크 유형의 전체 또는 부분 URL예를 들면
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
입니다.SNAPSHOT_1_NAME
및SNAPSHOT_2_NAME
: 새 VM의 새 비부팅 디스크로 복원할 비부팅 스냅샷의 이름
Go
이 페이지의 Go 샘플을 로컬 개발 환경에서 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
Java
이 페이지의 Java 샘플을 로컬 개발 환경에서 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
Node.js
이 페이지의 Node.js 샘플을 로컬 개발 환경에서 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
Python
이 페이지의 Python 샘플을 로컬 개발 환경에서 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공하는 사용자 인증 정보를 사용합니다.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
자세한 내용은 Google Cloud 인증 문서의 REST 사용 인증을 참조하세요.
필요한 역할
스냅샷에서 복원하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Compute 인스턴스 관리자(v1)(
roles/compute.instanceAdmin.v1
) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.이 사전 정의된 역할에는 스냅샷에서 복원하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
스냅샷에서 복원하려면 다음 권한이 필요합니다.
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
스냅샷에서 디스크를 만들고 필요한 경우 VM에 연결
스냅샷으로 부팅 또는 비부팅 디스크를 백업한 경우 스냅샷을 기반으로 새 디스크를 만들 수 있습니다.
제한사항
콘솔
필요한 경우 새 디스크를 기존 인스턴스에 연결할 수 있습니다.
gcloud
Go
Go
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 Compute Engine Go API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
자바
Java
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Compute Engine Java API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
Node.js
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Compute Engine Node.js API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Python
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Compute Engine Python API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
REST
새 디스크를 만들고 인스턴스에 연결한 후에는 운영체제가 가용 저장공간을 사용할 수 있도록 디스크를 마운트해야 합니다.
기존 디스크에서 VM 만들기
스냅샷에서 부팅 디스크와 데이터 디스크를 만든 다음 이러한 디스크를 새 VM에 연결할 수 있습니다.
Go
Go
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 Compute Engine Go API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
자바
Java
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Compute Engine Java API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
Node.js
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Compute Engine Node.js API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Python
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Compute Engine Python API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
부팅 디스크 스냅샷에서 VM 만들기
스냅샷으로 VM의 부팅 디스크를 백업한 경우 해당 스냅샷을 사용하여 새 VM을 만들 수 있습니다.
스냅샷에서 리전 Persistent Disk 부팅 디스크가 있는 VM을 만들려면 Google Cloud CLI 또는 Compute Engine API를 사용합니다.
콘솔
gcloud
Persistent Disk 부팅 디스크
gcloud compute instances create
명령어를 사용하고--source-snapshot
플래그를 포함합니다.gcloud compute instances create VM_NAME \ --source-snapshot=BOOT_SNAPSHOT_NAME \ --boot-disk-size=BOOT_DISK_SIZE \ --boot-disk-type=BOOT_DISK_TYPE \ --boot-disk-device-name=BOOT_DISK_NAME
다음을 바꿉니다.
리전 Persistent Disk 부팅 디스크
gcloud compute instances create
명령어를 사용하고source-snapshot
,replica-zones
,boot
속성에--create-disk
플래그를 포함합니다.gcloud compute instances create VM_NAME \ --zone=ZONE \ --create-disk=^:^name=DISK_NAME:source-snapshot=BOOT_SNAPSHOT_NAME:boot=true:replica-zones=ZONE,REMOTE_ZONE
^:^
문자는 콜론:
이 각 디스크 속성 간에 구분자로 사용됨을 지정합니다. 이는replica-zones
의 영역을 지정할 때 쉼표,
를 사용할 수 있도록 하기 위해 필요합니다.다음을 바꿉니다.
Go
Go
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 Compute Engine Go API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
자바
Java
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Compute Engine Java API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
Node.js
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Compute Engine Node.js API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Python
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Compute Engine Python API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
REST
API를 사용하여 스냅샷에서 VM을 만드는 경우 다음 제한사항이 적용됩니다.
Persistent Disk 부팅 디스크
부팅 디스크 스냅샷에서 VM을 만들려면instances.insert
메서드를 사용하고disks
속성 아래에sourceSnapshot
필드를 지정합니다. (선택사항) 새 부팅 디스크의diskSizeGb
및diskType
속성을 지정합니다.
다음을 바꿉니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "machineType": "machineTypes/MACHINE_TYPE" "networkInterfaces": [{ "accessConfigs": [{ "type": "ONE_TO_ONE_NAT", "name": "External NAT" }], "network": "global/networks/default" }], "disks": [{ "boot": true, "initializeParams": { "sourceSnapshot": "global/snapshots/BOOT_SNAPSHOT_NAME", "diskSizeGb": "BOOT_DISK_SIZE", "diskType": "BOOT_DISK_TYPE" } }], }
리전 Persistent Disk 부팅 디스크
부팅 디스크 스냅샷에서 부팅 디스크에 대해 리전 영구 디스크를 사용하여 VM을 만들려면instances.insert
메서드를 사용하고disks
속성에서sourceSnapshot
및replicaZones
필드를 지정해야 합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "disks": [{ "boot": true, "initializeParams": { "sourceSnapshot": "global/snapshots/BOOT_SNAPSHOT_NAME", "replicaZones": [ "projects/PROJECT_ID/zones/ZONE", "projects/PROJECT_ID/zones/REMOTE_ZONE"] } }], }
다음을 바꿉니다.
비부팅 디스크 스냅샷에서 VM 만들기
스냅샷으로 비부팅 디스크를 백업한 경우 스냅샷을 기반으로 새 비부팅 디스크가 있는 VM을 만들 수 있습니다.
콘솔
콘솔에서 비부팅 스냅샷을 새 VM으로 복원할 때 먼저 각 스냅샷에서 디스크를 만듭니다. 그런 다음 VM을 만들 때 새 디스크를 연결합니다.
gcloud
gcloud compute instances create
명령어를 사용하여 VM을 만듭니다. 복원할 각 비부팅 스냅샷에 대해--create-disk
플래그를 포함하고source-snapshot
을 지정합니다. VM을 만들 때 비부팅 디스크를 15개까지 추가할 수 있습니다.예를 들어 두 개의 비부팅 스냅샷을 새 VM으로 복원하려면 다음 명령어를 사용합니다.
gcloud compute instances create VM_NAME \ --create-disk source-snapshot=SNAPSHOT_1_NAME,name=DISK_1_NAME,size=DISK_1_SIZE,type=DISK_1_TYPE \ --create-disk source-snapshot=SNAPSHOT_2_NAME,name=DISK_2_NAME,size=DISK_2_SIZE,type=DISK_2_TYPE
다음을 바꿉니다.
REST
API를 사용하여 비부팅 스냅샷을 새 VM으로 복원하는 경우 다음 제한 사항이 적용됩니다.
베타 API를 사용하여
initializeParams
속성에서sourceSnapshot
필드를 지정합니다. 만들려는 모든 비부팅 디스크의initializeParams
속성을 반복하여 비부팅 디스크를 15개까지 추가할 수 있습니다. 필요한 경우 만드는 모든 디스크에diskSizeGb
및diskType
속성을 지정할 수 있습니다.예를 들어 2개의 비부팅 스냅샷을 새 VM으로 복원하려면 다음 요청을 실행합니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "machineType": "machineTypes/MACHINE_TYPE" "networkInterfaces": [{ "accessConfigs": [{ "type": "ONE_TO_ONE_NAT", "name": "External NAT" }], "network": "global/networks/default" }], "disks": [{ "autoDelete": "true", "boot": "true", "type": "PERSISTENT", "diskSizeGb": "DISK_SIZE", "diskType": "DISK_TYPE" }, { "initializeParams": { "sourceSnapshot": "global/snapshots/SNAPSHOT_1_NAME", "diskSizeGb": "DISK_SIZE", "diskType": "DISK_TYPE" } }, { "initializeParams": { "sourceSnapshot": "global/snapshots/SNAPSHOT_2_NAME", "diskSizeGb": "DISK_SIZE", "diskType": "DISK_TYPE" } }] }
다음을 바꿉니다.
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2024-12-03(UTC)
-