L'amministratore del cloud può utilizzare il plug-in Google Cloud Platform (GCP) per eseguire il provisioning dei bucket di storage basati su plug-in durante la creazione dell'infrastruttura. È inoltre possibile utilizzare gli helper di allocazione per specificare la logica di allocazione per i bucket di storage. Il supporto dei bucket di storage basati su plug-in include la creazione di bucket di storage basati su più regioni o due regioni, l'accesso pubblico limitato e la crittografia.

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à dei bucket di storage

Per le risorse dei bucket di storage 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.

Proprietà Descrizione
name Nome del bucket di storage. Il nome associato al bucket non può essere modificato dopo la creazione, quindi deve essere univoco e leggibile.

Per informazioni sui requisiti dei nomi dei bucket, vedere Nomi dei bucket 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 alcuni modelli cloud di esempio per il provisioning dei bucket di storage basati su plug-in in Automation Assembler.

Provisioning dei bucket di storage a regione singola

È possibile eseguire il provisioning di un bucket di storage a regione singola eseguendo l'hardcoding della regione nel modello cloud come illustrato nell'esempio seguente.

formatVersion: 1
inputs: {}
resources:
  Idem_GCP_STORAGE_BUCKET_1:
    type: Idem.GCP.STORAGE.BUCKET
    metadata:
      layoutPosition:
        - 0
        - 0
    properties:
      name: bucket-test
      account: gcp-account
      location: us-central1

Facoltativamente, è possibile utilizzare la proprietà enum per creare un elenco di regioni selezionabili dagli utenti. In questo esempio, è possibile abilitare anche il controllo delle versioni per il bucket, utilizzare le etichette dei bucket e consentire agli utenti di scegliere una classe di storage.

formatVersion: 1
inputs:
  region:
    type: string
    title: Region
    description: Google region
    # This enumeration is used to simplify the choosing of a region. You can just hardcode the region in the "region" section.
    enum:
      - europe-central2
      - europe-north1
      - europe-southwest1
      - europe-west1
      - europe-west2
      - europe-west3
      - europe-west4
      - europe-west6
      - europe-west8
      - europe-west9
      - europe-west12
  loc:
    type: string
    title: Location label
  bucket:
    type: string
    title: Bucket name
  storage_class:
    type: string
    title: Storage class
    enum:
      - STANDARD
      - NEARLINE
      - COLDLINE
      - ARCHIVE
  versioning:
    type: string
    title: Enable versioning
    enum:
      - 'Yes'
      - 'No'
resources:
  Idem_GCP_STORAGE_BUCKET_1:
    type: Idem.GCP.STORAGE.BUCKET
    properties:
      name: ${input.bucket}
      account: gcp-account
      labels:
        location: ${input.loc}
      location: ${input.region}
      storage_class: ${input.storage_class}
      versioning:
        enabled: ${input.versioning=="Yes"?true:false}

Provisioning dei bucket di storage a due regioni

Il modello cloud seguente mostra come è possibile creare un bucket di storage a due regioni. Per utilizzare questo modello; completare i passaggi seguenti:
  1. Creare un account cloud GCP con almeno due zone cloud che corrispondano alle regioni in cui il bucket verrà distribuito. In questo esempio, le zone sono europe-central2 e europe-north1.
  2. Creare un nuovo progetto e aggiungere le zone cloud.
  3. Contrassegnare le zone utilizzando tag di funzionalità. In questo esempio, i tag sono location:eu1 per europe-central2 e location:eu2 per europe-north1.
  4. Distribuire il blueprint.
inputs: {}
resources:
  Idem_GCP_STORAGE_BUCKET_1:
    type: Idem.GCP.STORAGE.BUCKET
    metadata:
      layoutPosition:
        - 0
        - 1
    properties:
      name: bucket-dual-region-idem
      account: ${resource.Allocations_Compute_1.selectedCloudAccount.name}
      labels:
        a: b
        c: d
      custom_placement_config:
        data_locations: ${[resource.Allocations_Compute_1.selectedRegion.name, resource.Allocations_Compute_2.selectedRegion.name]}
      location: EU
  Allocations_Compute_1:
    type: Allocations.Compute
    metadata:
      layoutPosition:
        - 1
        - 0
    properties:
      groupId: 1
      constraints:
        - tag: location:eu1
  Allocations_Compute_2:
    type: Allocations.Compute
    metadata:
      layoutPosition:
        - 1
        - 2
    properties:
      groupId: 2
      constraints:
        - tag: location:eu2
Nota: Se è necessario rimuovere un'etichetta del bucket, impostare il valore dell'etichetta su null e distribuire nuovamente il modello. È possibile verificare che l'etichetta sia stata rimossa nella console Google Cloud.

Provisioning di bucket di storage a più regioni

Il modello cloud seguente mostra come è possibile creare un bucket di storage a più regioni. Per impostazione predefinita, i bucket sono a più regioni e includono regioni nella posizione USA.
formatVersion: 1
inputs: {}
resources:
  Idem_GCP_STORAGE_BUCKET_1:
    type: Idem.GCP.STORAGE.BUCKET
    metadata:
      layoutPosition:
        - 0
        - 0
    properties:
      name: bucket-test-1
      account: gcp-account
Il modello cloud seguente mostra come è possibile creare un bucket di storage a più regioni con crittografia.
formatVersion: 1
inputs: {}
resources:
  Idem_GCP_STORAGE_BUCKET_1:
    type: Idem.GCP.STORAGE.BUCKET
    metadata:
      layoutPosition:
        - 0
        - 0
    properties:
      name: bucket-test-0
      account: gcp-account
      labels:
        a: b
        c: d
      encryption:
        default_kms_key_name: projects/gcp-account/locations/us/keyRings/gcp-test-1/cryptoKeys/key-2
Se si desidera creare bucket di storage con accesso pubblico limitato e crittografati da CMEK, esistono alcuni prerequisiti, come descritto nel collegamento seguente: https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys.
Nota: La chiave di crittografia gestita dal cliente deve trovarsi nella stessa regione del bucket di storage.