클라우드 관리자는 GCP(Google Cloud Platform) 플러그인을 활용하여 인프라를 구축할 때 플러그인 기반 스토리지 버킷을 프로비저닝할 수 있습니다. 할당 도우미를 사용하여 스토리지 버킷에 대한 할당 논리를 제공할 수도 있습니다. 플러그인 기반 스토리지 버킷 지원에는 다중 지역 또는 이중 지역 버킷 리소스 생성, 제한된 공용 액세스 및 암호화가 포함됩니다.

VMware Aria Automation의 플러그인 및 할당에 대한 자세한 내용은 Automation Assembler의 플러그인 기반 설계 및 배포를 참조하십시오.

스토리지 버킷 속성

플러그인 기반 스토리지 버킷 리소스에는 다음 속성이 필요합니다. 인스턴스 속성의 전체 목록은 Google Cloud REST 설명서를 참조하십시오. GCP 설명서의 리소스 속성은 카멜 케이스(camelCase)로 작성되지만 Automation Assembler의 리소스 속성은 스네이크 케이스(snake_case)로 작성됩니다.

속성 설명
name 스토리지 버킷의 이름입니다. 버킷과 연결된 이름은 생성 후에는 변경할 수 없으므로 고유하고 사람이 읽을 수 있는 이름이어야 합니다.

버킷 이름 요구 사항은 Google Cloud 설명서에서 버킷 이름을 참조하십시오.

account 팀에서 클라우드 템플릿을 배포하는 계정 지역에 대한 GCP 클라우드 계정입니다.

자세한 내용은 VMware Aria Automation에서 Google Cloud Platform 클라우드 계정 생성을 참조하십시오.

다음 섹션에는 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}

이중 지역 스토리지 버킷 프로비저닝

다음 클라우드 템플릿은 이중 지역 스토리지 버킷을 생성하는 방법을 보여줍니다. 이 템플릿을 사용하려면 다음 단계를 완료합니다.
  1. 버킷이 배포될 지역에 해당하는 클라우드 영역이 두 개 이상 있는 GCP 클라우드 계정을 생성합니다. 이 예에서 영역은 europe-central2 및 europe-north1입니다.
  2. 새 프로젝트를 생성하고 클라우드 영역을 추가합니다.
  3. 기능 태그를 사용하여 영역에 태그를 지정합니다. 이 예에서 태그는 europe-central2의 경우 location:eu1이고 europe-north1의 경우 location:eu2입니다.
  4. 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로 변경하고 템플릿을 다시 배포합니다. Google Cloud Console에서 레이블이 제거되었는지 확인할 수 있습니다.

다중 지역 스토리지 버킷 프로비저닝

다음 클라우드 템플릿은 다중 지역 스토리지 버킷을 생성하는 방법을 보여줍니다. 기본적으로 버킷은 다중 지역이며 미국 위치의 지역을 포함합니다.
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
공용 액세스가 제한되고 CMEK로 암호화된 스토리지 버킷을 생성하려는 경우 다음 링크에 설명된 몇 가지 사전 요구 사항이 있습니다. https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys
참고: 고객 관리형 암호화 키는 스토리지 버킷과 동일한 지역에 있어야 합니다.