클라우드 관리자는 GCP(Google Cloud Platform) 플러그인을 활용하여 인프라를 구축할 때 플러그인 기반 인스턴스 리소스를 프로비저닝할 수 있습니다. 할당 도우미를 사용하여 인스턴스에 대한 할당 논리를 제공할 수도 있습니다.
최신 GCP 속성을 사용하여 인프라 요구 사항을 지원하도록 인스턴스를 쉽게 구성할 수 있습니다. 예를 들어 업데이트 중에 인스턴스가 중단되는 것을 방지하려면 프로비저닝 중에 클라우드 템플릿에서 most_disruptive_allowed_action
속성을 사용할 수 있습니다.
인스턴스를 배포한 후 2일 차 작업을 실행하여 리소스를 관리할 수 있습니다(예: 리소스에 추가 디스크 연결).
VMware Aria Automation의 플러그인 및 할당에 대한 자세한 내용은 Automation Assembler의 플러그인 기반 설계 및 배포를 참조하십시오.
인스턴스 속성
플러그인 기반 인스턴스 리소스에는 다음 속성이 필요합니다.
인스턴스 속성의 전체 목록은 Google Cloud REST 설명서를 참조하십시오. GCP 설명서의 리소스 속성은 카멜 케이스(camelCase)로 작성되지만 Automation Assembler의 리소스 속성은 스네이크 케이스(snake_case)로 작성됩니다.
name |
인스턴스의 이름입니다. 이름 지정 요구 사항은 Google Cloud 설명서에서 이름 지정 규칙 을 참조하십시오. |
zone |
인스턴스가 배포될 영역입니다. 자세한 내용은 Google Cloud 설명서에서 리전 및 영역을 참조하십시오. |
account |
팀에서 클라우드 템플릿을 배포하는 계정 지역에 대한 GCP 클라우드 계정입니다. 자세한 내용은 VMware Aria Automation에서 Google Cloud Platform 클라우드 계정 생성을 참조하십시오. |
다음 섹션에는 Automation Assembler에서 플러그인 기반 인스턴스를 프로비저닝하기 위한 클라우드 템플릿 예시가 포함되어 있습니다.
별도의 디스크 리소스로 보호된 인스턴스 프로비저닝
다음 템플릿은 할당 도우미를 사용하여 보안 인스턴스를 프로비저닝하는 방법을 보여줍니다. 이 예에서는 디스크를 생성하여 보호된 인스턴스 리소스에 연결합니다.
- Automation Assembler에서 GCP 클라우드 계정을 생성하고 프로젝트를 생성하고 클라우드 영역을 추가합니다.
이 예에서 클라우드 영역은 europe-central2 입니다.
- 프로젝트에 대한 이미지 매핑을 설정합니다.
선택한 이미지는 보호된 인스턴스 기능을 지원해야 합니다.
- 프로젝트에 대한 플레이버 매핑을 설정합니다.
이 예에서 버전
n1
은 n1-standard-1 GCP 시스템 유형에 매핑됩니다. - 동일한 클라우드 영역에 태그
default
를 사용하여 네트워크 프로파일을 설정하여 기본 GCP 네트워크에 매핑합니다. - 암호화 키를 사용하는 경우 Blueprint를 배포하기 전에 키 링과 키를 생성해야 합니다. 이 예제 템플릿은 글로벌 키 링을 사용합니다. 키 ID는 템플릿에 대한 입력으로 전달됩니다. 자세한 내용은 GCP Cloud Key Management Service 설명서를 참조하십시오.
formatVersion: 1 inputs: name: type: string title: VM name kms_key_name: type: string title: Full key name description: 'Example format for a global key ring: projects/<project>/locations/global/keyRings/<ring>/cryptoKeys/<key>' resources: Allocations_Compute_1: type: Allocations.Compute properties: {} Allocations_Network_1: type: Allocations.Network properties: networkType: existing constraints: - tag: default Allocations_Flavor_1: type: Allocations.Flavor properties: flavor: n1 Allocations_Image_1: type: Allocations.Image properties: image: centos-7-shielded BOOT_DISK: type: Idem.GCP.COMPUTE.DISK properties: name: idem-disk-${input.name}-boot account: ${resource.Allocations_Compute_1.selectedCloudAccount.name} zone: ${resource.Allocations_Compute_1.selectedPlacementCompute.id} type_: ${'projects/' + resource.Allocations_Compute_1.selectedCloudAccount.additionalProperties.gcp.project + '/zones/' + resource.Allocations_Compute_1.selectedPlacementCompute.id + '/diskTypes/pd-balanced'} size_gb: 20 source_image: ${resource.Allocations_Image_1.selectedImageId} disk_encryption_key: kms_key_name: ${input.kms_key_name} Idem_GCP_COMPUTE_INSTANCE_1: type: Idem.GCP.COMPUTE.INSTANCE properties: name: ${input.name} zone: ${resource.Allocations_Compute_1.selectedPlacementCompute.id} account: ${resource.Allocations_Compute_1.selectedCloudAccount.name} can_ip_forward: false machine_type: ${'projects/' + resource.Allocations_Compute_1.selectedCloudAccount.additionalProperties.gcp.project + '/zones/' + resource.Allocations_Compute_1.selectedPlacementCompute.id + '/machineTypes/' + resource.Allocations_Flavor_1.selectedInstanceTypeName } shielded_instance_config: enable_integrity_monitoring: true enable_secure_boot: true enable_vtpm: true network_interfaces: - access_configs: - kind: compute#accessConfig name: External NAT network_tier: PREMIUM set_public_ptr: false type_: ONE_TO_ONE_NAT kind: compute#networkInterface name: nic0 stack_type: IPV4_ONLY subnetwork: ${'projects/' + resource.Allocations_Compute_1.selectedCloudAccount.additionalProperties.gcp.project + '/regions/' + resource.Allocations_Compute_1.selectedRegion.id + '/subnetworks/' + resource.Allocations_Network_1.selectedSubnet.name } disks: - auto_delete: false boot: true device_name: ${resource.BOOT_DISK.name} source: ${resource.BOOT_DISK.resource_id} mode: READ_WRITE type_: PERSISTENT - auto_delete: false boot: false device_name: idem-disk-${input.name}-additional initialize_params: disk_size_gb: 15 disk_type: ${'projects/' + resource.Allocations_Compute_1.selectedCloudAccount.additionalProperties.gcp.project + '/zones/' + resource.Allocations_Compute_1.selectedPlacementCompute.id + '/diskTypes/pd-balanced'} disk_encryption_key: kms_key_name: ${input.kms_key_name} mode: READ_WRITE type_: PERSISTENT scheduling: automatic_restart: true on_host_maintenance: MIGRATE preemptible: false provisioning_model: STANDARD deletion_protection: false