В ходе создания инфраструктуры администратор облачных служб может использовать подключаемый модуль Google Cloud Platform (GCP) для подготовки контейнеров хранилищ на основе подключаемого модуля. Для предоставления логики выделения своим контейнерам хранилищ также можно использовать помощники выделения. Поддержка контейнеров хранилищ на основе подключаемого модуля предусматривает создание контейнеров хранилищ для двух или более регионов, а также ограниченный общий доступ и шифрование.
Дополнительные сведения о подключаемых модулях и выделении в VMware Aria Automation см. в разделе Проекты и развертывания на основе подключаемого модуля в Automation Assembler
Свойства контейнера хранилища
Для ресурсов контейнера хранилища на основе подключаемого модуля обязательными являются следующие свойства. Полный список свойств экземпляра см. в документации по Google Cloud REST. Свойства ресурсов в документации по GCP записываются с помощью стиля camelCase, в то время как свойства ресурса в Automation Assembler записываются в стиле snake case.
Свойство | Описание |
---|---|
name |
Имя контейнера хранилища. Имя, связанное с контейнером, нельзя изменить после создания, поэтому оно должно быть уникальным и удобным для восприятия пользователем. Требования к именованию контейнеров см. в разделе Имена контейнеров в документации по Google Cloud. |
account |
Облачная учетная запись GCP для регионов учетной записи, в которых ваша рабочая группа развертывает облачные шаблоны. Дополнительные сведения см. в разделе Создание облачной учетной записи Google Cloud Platform в VMware Aria Automation. |
В следующем разделе приведены примеры облачных шаблонов для подготовки контейнеров хранилищ на основе подключаемого модуля в Automation Assembler.
Подготовка контейнеров хранилищ для одного региона
Как показано в следующем примере, контейнер хранилища для одного региона можно подготовить, указав регион в облачном шаблоне.
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
При необходимости можно создать список регионов, из которого пользователи смогут выбирать нужный, с помощью свойства enum
. В этом примере также активируется функция управления версиями для контейнера, используются метки контейнеров и пользователям предоставляется право выбора класса хранилища.
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 metadata: layoutPosition: - 0 - 0 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}
Подготовка контейнеров хранилищ для двух регионов
- Создайте облачную учетную запись GCP хотя бы с двумя облачными зонами, которые соответствуют регионам, где будет развернут контейнер. В данном примере используются зоны europe-central2 и europe-north1.
- Создайте проект и добавьте облачные зоны.
- Отметьте зоны с помощью тегов возможностей. В данном примере используются теги
location:eu1
для europe-central2 иlocation:eu2
для europe-north1. - Разверните схему элементов.
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
и повторно разверните шаблон. В консоли Google Cloud убедитесь, что метка удалена.
Подготовка контейнеров хранилищ для нескольких регионов
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