L'amministratore del cloud può utilizzare il plug-in Google Cloud Platform (GCP) per eseguire il provisioning delle risorse delle istanze basati su plug-in durante la creazione dell'infrastruttura. È inoltre possibile utilizzare gli helper di allocazione per specificare la logica di allocazione per le risorse delle istanze.

È possibile configurare facilmente le istanze per supportare le esigenze dell'infrastruttura utilizzando le proprietà di GCP più recenti. Ad esempio, se si desidera evitare interruzioni delle attività delle istanze durante un aggiornamento, è possibile utilizzare la proprietà most_disruptive_allowed_action nel modello cloud durante il provisioning.

Dopo aver distribuito l'istanza, è possibile eseguire azioni giorno 2 per gestire la risorsa, ad esempio collegare dischi aggiuntivi alla risorsa.

Per ulteriori informazioni sui plug-in e sull'allocazione in VMware Aria Automation, vedere Progettazioni e distribuzioni basate su plug-in in Automation Assembler.

Proprietà delle istanze

Per le risorse delle istanze basate su plug-in, sono necessarie le proprietà seguenti.

Per un elenco completo delle proprietà delle istanze, vedere la documentazione di Google Cloud REST. Le proprietà delle risorse nella documentazione di GCP sono scritte in camelCase, mentre le proprietà delle risorse in Automation Assembler sono scritte in snake case.

name Il nome dell'istanza.

Per informazioni sui requisiti di denominazione, vedere Convenzione di denominazione nella documentazione di Google Cloud.

zone La zona in cui verrà distribuita l'istanza di.

Per ulteriori informazioni, vedere Regioni e zone nella documentazione di Google Cloud.

account Account cloud di GCP per le regioni dell'account in cui il team distribuisce i modelli cloud.

Per ulteriori informazioni, vedere Creazione di un account cloud di Google Cloud Platform in VMware Aria Automation.

La sezione seguente contiene un modello cloud di esempio per il provisioning delle istanze basate su plug-in in Automation Assembler.

Provisioning di un'istanza schermata con una risorsa disco separata

Il modello seguente illustra come eseguire il provisioning di un'istanza schermata utilizzando gli helper di allocazione. In questo esempio, si crea un disco, che viene collegato alla risorsa delle istanze protetta.

Prima di distribuire questo modello, completare i passaggi seguenti:
  1. Creare l'account cloud di GCP in Automation Assembler, creare un progetto e aggiungere le zone cloud.

    In questo esempio, la zona cloud è europe-central2.

  2. Configurare la mappatura dell'immagine per il progetto.

    L'immagine scelta deve supportare le funzionalità di istanza schermate.

  3. Configurare la mappatura delle caratteristiche per il progetto.

    In questo esempio, il valore n1 delle caratteristiche viene mappato al tipo di macchina GCP n1-standard-1.

  4. Configurare il profilo di rete con il tag default nella stessa zona cloud per mappare alla rete GCP predefinita.
  5. Se si utilizza una chiave di crittografia, è necessario creare l'anello della chiave e la chiave prima di distribuire il blueprint. Questo modello di esempio utilizza un anello della chiave globale. L'ID della chiave viene passato come input al modello. Per ulteriori informazioni, consultare documentazione di Cloud Key Management Service GCP.
formatVersion: 1
inputs:
  name:
    type: string
    title: VM name
  kms_key_name:
    type: string
    title: Full key name
    description: 'Example format for a global key ring: projects/<project>/locations/global/keyRings/<ring>/cryptoKeys/<key>'
resources:
  Allocations_Compute_1:
    type: Allocations.Compute
    properties: {}
  Allocations_Network_1:
    type: Allocations.Network
    properties:
      networkType: existing
      constraints:
        - tag: default
  Allocations_Flavor_1:
    type: Allocations.Flavor
    properties:
      flavor: n1
  Allocations_Image_1:
    type: Allocations.Image
    properties:
      image: centos-7-shielded
  BOOT_DISK:
    type: Idem.GCP.COMPUTE.DISK
    properties:
      name: idem-disk-${input.name}-boot
      account: ${resource.Allocations_Compute_1.selectedCloudAccount.name}
      zone: ${resource.Allocations_Compute_1.selectedPlacementCompute.id}
      type_: ${'projects/' + resource.Allocations_Compute_1.selectedCloudAccount.additionalProperties.gcp.project + '/zones/' + resource.Allocations_Compute_1.selectedPlacementCompute.id + '/diskTypes/pd-balanced'}
      size_gb: 20
      source_image: ${resource.Allocations_Image_1.selectedImageId}
      disk_encryption_key:
        kms_key_name: ${input.kms_key_name}
  Idem_GCP_COMPUTE_INSTANCE_1:
    type: Idem.GCP.COMPUTE.INSTANCE
    properties:
      name: ${input.name}
      zone: ${resource.Allocations_Compute_1.selectedPlacementCompute.id}
      account: ${resource.Allocations_Compute_1.selectedCloudAccount.name}
      can_ip_forward: false
      machine_type: ${'projects/' + resource.Allocations_Compute_1.selectedCloudAccount.additionalProperties.gcp.project + '/zones/' + resource.Allocations_Compute_1.selectedPlacementCompute.id + '/machineTypes/' + resource.Allocations_Flavor_1.selectedInstanceTypeName }
      shielded_instance_config:
        enable_integrity_monitoring: true
        enable_secure_boot: true
        enable_vtpm: true
      network_interfaces:
        - access_configs:
            - kind: compute#accessConfig
              name: External NAT
              network_tier: PREMIUM
              set_public_ptr: false
              type_: ONE_TO_ONE_NAT
          kind: compute#networkInterface
          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:
        - auto_delete: false
          boot: true
          device_name: ${resource.BOOT_DISK.name}
          source: ${resource.BOOT_DISK.resource_id}
          mode: READ_WRITE
          type_: PERSISTENT
        - auto_delete: false
          boot: false
          device_name: idem-disk-${input.name}-additional
          initialize_params:
            disk_size_gb: 15
            disk_type: ${'projects/' + resource.Allocations_Compute_1.selectedCloudAccount.additionalProperties.gcp.project + '/zones/' + resource.Allocations_Compute_1.selectedPlacementCompute.id + '/diskTypes/pd-balanced'}
          disk_encryption_key:
            kms_key_name: ${input.kms_key_name}
          mode: READ_WRITE
          type_: PERSISTENT
      scheduling:
        automatic_restart: true
        on_host_maintenance: MIGRATE
        preemptible: false
        provisioning_model: STANDARD
      deletion_protection: false