クラウド管理者は、Google Cloud Platform (GCP) プラグインを利用して、インフラストラクチャの構築時にプラグイン ベースのストレージ バケットをプロビジョニングできます。割り当てヘルパーを使用して、ストレージ バケットの割り当てロジックを提供することもできます。プラグインベース ストレージ バケットのサポートには、マルチリージョンまたはデュアルリージョンのバケット リソースの作成、パブリック アクセスの制限、および暗号化が含まれます。
VMware Aria Automation でのプラグインと割り当ての詳細については、「Automation Assembler のプラグイン ベースのデザインと展開」を参照してください。
ストレージ バケットのプロパティ
プラグイン ベースのストレージ バケット リソースには、次のプロパティが必要です。インスタンス プロパティの完全なリストについては、「Google Cloud REST のドキュメント」を参照してください。GCP ドキュメントのリソース プロパティはキャメルケースで記述されており、Automation Assembler のリソース プロパティはスネークケースで記述されています。
プロパティ | 説明 |
---|---|
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}
デュアルリージョン ストレージ バケットのプロビジョニング
- GCP クラウド アカウントを作成し、バケットが展開されるリージョンに対応するクラウド ゾーンを 2 つ以上設定します。この例では、ゾーンは europe-central2 および europe-north1 です。
- 新しいプロジェクトを作成し、クラウド ゾーンを追加します。
- 機能タグを使用してゾーンにタグを付けます。この例では、europe-central2 のタグは
location:eu1
、europe-north1 のタグはlocation:eu2
です。 - ブループリントを展開します。
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