클라우드 관리자는 Automation Assembler에서 GCP(Google Cloud Platform) 디스크의 플러그인 기반 스냅샷을 생성하고 관리할 수 있습니다.
디스크의 백업을 생성해야 하는 경우 클라우드 템플릿에서 스냅샷 리소스를 사용할 수 있습니다. 스냅샷 리소스는 모든 유형의 디스크에 연결할 수 있습니다. 스냅샷을 사용하여 새 인스턴스 또는 디스크를 생성할 수도 있습니다. 스냅샷이 생성된 후 Google Cloud Console에 로그인하여 스냅샷을 볼 수 있습니다.
다음 섹션에는 스냅샷 사용을 위한 몇 가지 예제 클라우드 템플릿이 포함되어 있습니다.
부팅 디스크의 스냅샷 생성
다음 클라우드 템플릿은 인스턴스에 연결된 부팅 디스크의 스냅샷을 생성하는 방법을 보여줍니다. 이 예에서는 계산 도우미, 네트워크 도우미, 이미지 도우미 및 버전 도우미를 사용합니다.
formatVersion: 1
inputs: {}
resources:
Allocations_Image_1:
type: Allocations.Image
properties:
image: ubuntu
Allocations_Network_1:
type: Allocations.Network
properties:
networkType: existing
Allocations_Compute_1:
type: Allocations.Compute
properties:
accountType: gcp
Allocations_Flavor_1:
type: Allocations.Flavor
properties:
flavor: small
mysql:
type: Idem.GCP.COMPUTE.INSTANCE
properties:
name: mysql
zone: ${resource.Allocations_Compute_1.selectedPlacementCompute.id}
account: ${resource.Allocations_Compute_1.selectedCloudAccount.name}
project: ${resource.Allocations_Compute_1.selectedCloudAccount.additionalProperties.gcp.project}
network_interfaces:
- name: nic0
stack_type: IPV4_ONLY
subnetwork: ${'/projects/' + resource.Allocations_Compute_1.selectedCloudAccount.additionalProperties.gcp.project + '/regions/' + resource.Allocations_Compute_1.selectedRegion.id + '/subnetworks/' + resource.Allocations_Network_1.selectedSubnet.name}
disks:
- device_name: ${resource.mysql-boot-disk.name}
source: ${resource.mysql-boot-disk.resource_id}
boot: true
- boot: false
device_name: ${resource.mssql-attached-disk.name}
source: ${resource.mssql-attached-disk.resource_id}
machine_type: ${'/projects/' + resource.Allocations_Flavor_1.selectedCloudAccount.additionalProperties.gcp.project + '/zones/' + resource.Allocations_Compute_1.selectedPlacementCompute.id + '/machineTypes/' + resource.Allocations_Flavor_1.selectedInstanceTypeName}
mssql-attached-disk:
type: Idem.GCP.COMPUTE.DISK
properties:
name: attached-disk
account: ${resource.Allocations_Compute_1.selectedCloudAccount.name}
size_gb: 1
project: ${resource.Allocations_Flavor_1.selectedCloudAccount.additionalProperties.gcp.project}
zone: ${resource.Allocations_Compute_1.selectedPlacementCompute.name}
type: ${'/projects/' + resource.Allocations_Flavor_1.selectedCloudAccount.additionalProperties.gcp.project + '/zones/' + resource.Allocations_Compute_1.selectedPlacementCompute.id + '/diskTypes/pd-extreme'}
mysql-boot-disk:
type: Idem.GCP.COMPUTE.DISK
properties:
name: mysql-boot-disk
account: ${resource.Allocations_Compute_1.selectedCloudAccount.name}
size_gb: 12
project: ${resource.Allocations_Flavor_1.selectedCloudAccount.additionalProperties.gcp.project}
zone: ${resource.Allocations_Compute_1.selectedPlacementCompute.name}
type: ${'/projects/' + resource.Allocations_Flavor_1.selectedCloudAccount.additionalProperties.gcp.project + '/zones/' + resource.Allocations_Compute_1.selectedPlacementCompute.id + '/diskTypes/pd-balanced'}
mysql-disk-snapshot:
type: Idem.GCP.COMPUTE.SNAPSHOT
dependsOn: ''
properties:
name: mysql-boot-disk-snapshot
account: ${resource.Allocations_Compute_1.selectedCloudAccount.name}
source_disk: ${resource.mysql-boot-disk.resource_id}
바인딩을 사용하여 mysql-boot-disk의 resource_id를 스냅샷 리소스에 전달합니다.
스냅샷에서 새 인스턴스 생성
다음 클라우드 템플릿은 스냅샷에서 새 인스턴스를 생성하는 방법을 보여줍니다. 이 예에서는 계산 도우미, 이미지 도우미, 네트워크 도우미 및 버전 도우미도 사용합니다.
atVersion: 1
inputs:
disk-snapshot-Id:
type: string
title: Disk Snapshot Link id
resources:
Allocations_Image_1:
type: Allocations.Image
properties:
image: ubuntu
Allocations_Network_1:
type: Allocations.Network
properties:
networkType: existing
Allocations_Compute_1:
type: Allocations.Compute
properties:
accountType: gcp
Allocations_Flavor_1:
type: Allocations.Flavor
properties:
flavor: small
mysql:
type: Idem.GCP.COMPUTE.INSTANCE
properties:
name: mysql-from-snapshot
zone: ${resource.Allocations_Compute_1.selectedPlacementCompute.id}
account: ${resource.Allocations_Compute_1.selectedCloudAccount.name}
project: ${resource.Allocations_Compute_1.selectedCloudAccount.additionalProperties.gcp.project}
network_interfaces:
- name: nic0
stack_type: IPV4_ONLY
subnetwork: ${'/projects/' + resource.Allocations_Compute_1.selectedCloudAccount.additionalProperties.gcp.project + '/regions/' + resource.Allocations_Compute_1.selectedRegion.id + '/subnetworks/' + resource.Allocations_Network_1.selectedSubnet.name}
disks:
- device_name: ${resource.restored-disk.name}
source: ${resource.restored-disk.resource_id}
boot: true
machine_type: ${'/projects/' + resource.Allocations_Flavor_1.selectedCloudAccount.additionalProperties.gcp.project + '/zones/' + resource.Allocations_Compute_1.selectedPlacementCompute.id + '/machineTypes/' + resource.Allocations_Flavor_1.selectedInstanceTypeName}
restored-disk:
type: Idem.GCP.COMPUTE.DISK
properties:
name: restored
account: ${resource.Allocations_Compute_1.selectedCloudAccount.name}
disk_name: restored-boot
zone: ${resource.Allocations_Compute_1.selectedPlacementCompute.id}
source_snapshot: ${input.disk-snapshot-Id}
boot: true
입력 매개 변수를 사용하여 부팅 디스크에 사용할 스냅샷의 snapshot-Id를 사용자가 입력하도록 허용합니다.