Como administrador de nube, puede aprovechar el complemento de Google Cloud Platform (GCP) para aprovisionar los recursos de instancias basadas en complementos a medida que crea la infraestructura. También puede utilizar las aplicaciones auxiliares de asignación para proporcionar lógica de asignación para las instancias.

Puede configurar fácilmente las instancias para que se adapten a sus necesidades de infraestructura mediante las propiedades de GCP más recientes. Por ejemplo, si desea evitar interrupciones en las instancias durante una actualización, puede utilizar la propiedad most_disruptive_allowed_action en la plantilla de nube durante el aprovisionamiento.

Después de implementar la instancia, puede ejecutar acciones del día 2 para administrar el recurso, como asociar discos adicionales al recurso.

Para obtener más información sobre los complementos y la asignación en VMware Aria Automation, consulte Diseños e implementaciones basados en complementos en Automation Assembler

Propiedades de instancia

Las siguientes propiedades son obligatorias para los recursos de instancias basadas en complementos.

Consulte la documentación de REST de Google Cloud para obtener una lista completa de las propiedades de la instancia. Las propiedades de recursos en la documentación de GCP se escriben en camelCase, mientras que las propiedades de recursos en Automation Assembler se escriben en "snake case".

name El nombre de la instancia.

Consulte Convención de nomenclatura en la documentación de Google Cloud para conocer los requisitos de nomenclatura.

zone La zona en la que se implementará la instancia.

Consulte Regiones y zonas en la documentación de Google Cloud para obtener más información.

account La cuenta de nube de GCP para las regiones de cuenta en las que el equipo implementa plantillas de nube.

Consulte Crear una cuenta de nube de Google Cloud Platform en VMware Aria Automation para obtener más información.

La siguiente sección contiene un ejemplo de plantilla de nube para aprovisionar instancias basadas en complementos en Automation Assembler.

Aprovisionar una instancia blindada con un recurso de disco independiente

La siguiente plantilla muestra cómo puede aprovisionar una instancia blindada mediante aplicaciones auxiliares de asignación. En este ejemplo, crea un disco y lo asocia al recurso de instancia blindada.

Antes de implementar esta plantilla, realice los siguientes pasos:
  1. Cree la cuenta de nube de GCP en Automation Assembler, cree un proyecto y agregue las zonas de nube.

    En este ejemplo, la zona de nube es europe-central2.

  2. Configure la asignación de imagen para el proyecto.

    La imagen elegida debe ser compatible con funciones de instancias blindadas.

  3. Configure la asignación de tipo para el proyecto.

    En este ejemplo, el tipo n1 se asigna al tipo de máquina de GCP n1-standard-1.

  4. Configure el perfil de red con la etiqueta default en la misma zona de nube para asignarlo a la red de GCP predeterminada.
  5. Si utiliza una clave de cifrado, debe crear el anillo de claves y la clave antes de implementar el blueprint. Esta plantilla de ejemplo utiliza un anillo de claves global. El identificador de clave se pasa como entrada a la plantilla. Consulte la documentación de Cloud Key Management Service de GCP para obtener más información.
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