Como administrador de nuvem, você pode aproveitar o plug-in do Google Cloud Platform (GCP) para provisionar recursos de instância baseados em plug-in à medida que você cria sua infraestrutura. Você também pode usar auxiliares de alocação para fornecer lógica de alocação para suas instâncias.

Você pode configurar facilmente suas instâncias para oferecer suporte às suas necessidades de infraestrutura usando as propriedades mais recentes do GCP. Por exemplo, se você quiser evitar interrupções em suas instâncias durante uma atualização, poderá usar a propriedade most_disruptive_allowed_action no seu modelo de nuvem durante o provisionamento.

Depois de implantar sua instância, você pode executar ações de dia 2 para gerenciar o recurso, como anexar discos adicionais ao recurso.

Para saber mais sobre plug-ins e alocação no VMware Aria Automation, consulte Designs e implantações baseados em plug-in no Automation Assembler

Propriedades da instância

As propriedades a seguir são necessárias para recursos de instância baseados em plug-in.

Consulte a documentação REST do Google Cloud para obter uma lista completa das propriedades da instância. As propriedades de recursos na documentação do GCP são escritas em camelCase, em que, como propriedades de recursos no Automation Assembler são escritas em snake case.

name O nome da instância.

Consulte a Convenção de nomenclatura na documentação do Google Cloud para obter os requisitos de nomenclatura.

zone A zona na qual a instância do será implantada.

Consulte Regiões e zonas na documentação do Google Cloud para obter mais informações.

account A conta de nuvem do GCP para regiões de conta nas quais sua equipe implanta modelos de nuvem.

Consulte Criar uma conta de nuvem do Google Cloud Platform no VMware Aria Automation para obter mais informações.

A seção a seguir contém um exemplo de modelo de nuvem para o provisionamento de instâncias baseadas em plug-in no Automation Assembler.

Provisionando uma instância protegida com um recurso de disco separado

O modelo a seguir mostra como você pode provisionar uma instância protegida usando auxiliares de alocação. Esse exemplo, você cria um disco e o anexa ao recurso de instância protegido.

Antes de implantar esse modelo, conclua as seguintes etapas:
  1. Crie sua conta de nuvem do GCP no Automation Assembler, crie um projeto e adicione suas zonas de nuvem.

    Este exemplo, a zona de nuvem éurope-central2.

  2. Configure o mapeamento de imagem para o projeto.

    A imagem escolhe deve oferecer suporte a recursos de instância protegidos.

  3. Configure o mapeamento de tipo para o projeto.

    Nesse exemplo, o tipo n1 mapeia para o tipo de máquina n1-standard-1 do GCP.

  4. Configure seu perfil de rede com a tag default na mesma zona de nuvem para mapear para a rede padrão do GCP.
  5. Se você estiver usando uma chave de criptografia, deverá criar o anel de chave e a chave antes de implantar o blueprint. Este modelo de exemplo usa um anel de chaves global. A ID da chave é transmitida como uma entrada para o modelo. Consulte a documentação do GCP Cloud Key Management Service para obter mais informações.
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