В ходе создания инфраструктуры администратор облачных служб может использовать подключаемый модуль Google Cloud Platform (GCP) для подготовки ресурсов экземпляра на основе подключаемого модуля. Для предоставления логики выделения своим экземплярам можно использовать помощники выделения.

Чтобы экземпляры обеспечивали потребности инфраструктуры, их можно легко настроить с помощью новых свойств GCP. Например, если нужно предотвратить сбои в работе экземпляров во время обновления, можно использовать свойство most_disruptive_allowed_action в облачном шаблоне во время подготовки.

После развертывания экземпляра для управления ресурсом, например присоединения дополнительных дисков к этому ресурсу, можно выполнять действия по регулярному обслуживанию.

Дополнительные сведения о подключаемых модулях и выделении в VMware Aria Automation см. в разделе Проекты и развертывания на основе подключаемого модуля в Automation Assembler

Свойства экземпляра

Для ресурсов экземпляра на основе подключаемого модуля обязательными являются следующие свойства.

Полный список свойств экземпляра см. в документации по Google Cloud REST. Свойства ресурсов в документации по GCP записываются с помощью стиля camelCase, в то время как свойства ресурса в Automation Assembler записываются в стиле snake case.

name Имя экземпляра.

Требования к именованию см. в разделе Соглашение об именовании в документации по Google Cloud.

zone Зона, в которой будет развернут экземпляр.

Дополнительные сведения см. в разделе Регионы и зоны в документации по Google Cloud.

account Облачная учетная запись GCP для регионов учетной записи, в которых ваша рабочая группа развертывает облачные шаблоны.

Дополнительные сведения см. в разделе Создание облачной учетной записи Google Cloud Platform в VMware Aria Automation.

В следующем разделе приведен пример облачного шаблона для подготовки экземпляров на основе подключаемого модуля в Automation Assembler.

Подготовка экранированного экземпляра с отдельным дисковым ресурсом

В следующем шаблоне представлен способ подготовки экранированного экземпляра с помощью помощников выделения. В этом примере выполняется создание диска и его подключение к ресурсу экранированного экземпляра.

Перед развертыванием этого шаблона выполните следующие действия.
  1. Создайте облачную учетную запись GCP в Automation Assembler, создайте проект и добавьте облачные зоны.

    В данном примере имя облачной зоны — europe-central2.

  2. Настройте сопоставление образов для проекта.

    Выбранный образ должен поддерживать экранированные экземпляры.

  3. Настройте сопоставление конфигураций ресурсов для проекта.

    В этом примере конфигурация ресурсов n1 сопоставляется с типом виртуальной машины n1-standard-1 GCP.

  4. Настройте профиль сети с тегом default в той же облачной зоне для сопоставления с сетью GCP по умолчанию.
  5. Если используется ключ шифрования, то перед развертыванием схемы элементов необходимо создать связку ключей и ключ. В этом примере шаблона используется глобальная связка ключей. Идентификатор ключа передается в качестве входных данных в шаблон. Дополнительные сведения см. в документации по службе управления ключами для облака 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