En tant qu'administrateur de cloud, vous pouvez exploiter le plug-in Google Cloud Platform (GCP) pour provisionner des ressources d'instance basées sur un plug-in lors de la création de votre infrastructure. Vous pouvez également utiliser des aides d'allocation afin de fournir une logique d'allocation pour vos instances.

Vous pouvez facilement configurer vos instances pour répondre aux besoins de votre infrastructure à l'aide des dernières propriétés GCP. Par exemple, si vous souhaitez éviter les interruptions de vos instances lors d'une mise à jour, vous pouvez utiliser la propriété most_disruptive_allowed_action dans votre modèle de cloud lors du provisionnement.

Après avoir déployé votre instance, vous pouvez exécuter des actions de jour 2 pour gérer la ressource, telles que l'attachement de disques supplémentaires à la ressource.

Pour en savoir plus sur les plug-ins et l'allocation dans VMware Aria Automation, reportez-vous à la section Conceptions et déploiements basés sur des plug-ins dans Automation Assembler.

Propriétés de l'instance

Les propriétés suivantes sont requises pour les ressources d'instance basées sur un plug-in.

Reportez-vous à la documentation REST de Google Cloud pour obtenir la liste complète des propriétés de l'instance. Les propriétés de ressources dans la documentation GCP sont écrites en camelCase, alors que les propriétés de ressources dans Automation Assembler sont écrites en snake case.

name Nom de l'instance.

Reportez-vous à la section Convention de nommage dans la documentation de Google Cloud pour connaître les exigences en matière d'attribution de nom.

zone Zone dans laquelle l'instance sera déployée.

Pour plus d'informations, reportez-vous à la section Régions et zones dans la documentation de Google Cloud.

account Compte de cloud GCP pour les régions de compte vers lesquelles votre équipe déploie des modèles de cloud.

Pour plus d'informations, reportez-vous à la section Création d'un compte de cloud Google Cloud Platform dans VMware Aria Automation.

La section suivante contient un exemple de modèle de cloud pour le provisionnement d'instances basées sur un plug-in dans Automation Assembler.

Provisionnement d'une instance protégée avec une ressource disque distincte

Le modèle suivant montre comment vous pouvez provisionner une instance protégée en utilisant les aides d'allocation. Dans cet exemple, vous créez un disque et vous l'attachez à la ressource d'instance protégée.

Avant de déployer ce modèle, procédez comme suit :
  1. Créez votre compte de cloud GCP dans Automation Assembler, créez un projet et ajoutez vos zones de cloud.

    Dans cet exemple, la zone de cloud est europe-central2.

  2. Configurez votre mappage d'image pour le projet.

    L'image choisie doit prendre en charge les fonctionnalités d'instance protégée.

  3. Configurez votre mappage de type pour le projet.

    Dans cet exemple, le type n1 est mappé au type de machine GCP n1-standard-1.

  4. Configurez votre profil réseau avec la balise default dans la même zone de cloud afin de le mapper au réseau GCP par défaut.
  5. Si vous utilisez une clé de chiffrement, vous devez créer le trousseau de clés et la clé avant de déployer le Blueprint. Cet exemple de modèle utilise un trousseau de clés global. L'ID de clé est transmis en tant qu'entrée au modèle. Pour plus d'informations, reportez-vous à la documentation de Cloud Key Management Service de 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
    metadata:
      layoutPosition:
        - 0
        - 0
    properties: {}
  Allocations_Network_1:
    type: Allocations.Network
    metadata:
      layoutPosition:
        - 0
        - 1
    properties:
      networkType: existing
      constraints:
        - tag: default
  Allocations_Flavor_1:
    type: Allocations.Flavor
    metadata:
      layoutPosition:
        - 0
        - 2
    properties:
      flavor: n1
  Allocations_Image_1:
    type: Allocations.Image
    metadata:
      layoutPosition:
        - 0
        - 3
    properties:
      image: centos-7-shielded
  BOOT_DISK:
    type: Idem.GCP.COMPUTE.DISK
    metadata:
      layoutPosition:
        - 1
        - 1
    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
    metadata:
      layoutPosition:
        - 2
        - 2
    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