Utilisation de snapshots de disque basés sur un plug-in
En tant qu'administrateur de cloud, vous pouvez créer et gérer des snapshots basés sur un plug-in de disques Google Cloud Platform (GCP) dans
Automation Assembler
.Si vous devez créer une sauvegarde d'un disque, vous pouvez utiliser la ressource
Snapshot
dans vos modèles de cloud. Vous pouvez attacher la ressource Snapshot
à n'importe quel type de disque. Vous pouvez également créer une instance ou un disque à l'aide d'un snapshot. Une fois le snapshot créé, vous pouvez vous connecter à votre console Google Cloud pour voir le snapshot.La section suivante contient des exemples de modèles de cloud pour l'utilisation de snapshots.
Création d'un snapshot d'un disque de démarrage
Le modèle de cloud suivant montre comment vous pouvez prendre un snapshot d'un disque de démarrage attaché à une instance. Dans cet exemple, vous utilisez une aide pour le calcul, une aide pour le réseau, une aide pour l'image et une aide pour le type.
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}
Vous utilisez des liaisons pour transmettre le
resource_id
de mysql-boot-disk
à la ressource Snapshot
.Création d’une instance à partir d’un snapshot
Le modèle de cloud suivant montre comment créer une instance à partir d'un snapshot. Dans cet exemple, vous utilisez également une aide pour le calcul, une aide pour l'image, une aide pour le réseau et une aide pour le type.
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
Vous utilisez des paramètres d'entrée pour permettre aux utilisateurs d'entrer le
snapshot-Id
du snapshot qu'ils souhaitent utiliser pour le disque de démarrage.