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
- 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.
- Creare un nuovo progetto e aggiungere le zone cloud.
- Contrassegnare le zone utilizzando tag di funzionalità. In questo esempio, i tag sono
location:eu1
per europe-central2 elocation:eu2
per europe-north1. - 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
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
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
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