Como administrador de nube, puede aprovechar el complemento de Microsoft Azure para aprovisionar máquinas virtuales basadas en complementos a medida que crea la infraestructura. También puede utilizar aplicaciones auxiliares de asignación para proporcionar lógica de asignación para las máquinas virtuales.
Puede configurar fácilmente sus máquinas virtuales para dar soporte a sus necesidades de infraestructura mediante las propiedades de Azure más recientes. Por ejemplo, si desea habilitar diagnósticos de arranque para su máquina virtual, puede utilizar la propiedad boot_diagnostics
en su plantilla de nube.
- Iniciar
- Apagar
- Reiniciar
- Desasignar
Para obtener más información sobre los complementos y la asignación en VMware Aria Automation, consulte Diseños e implementaciones basados en complementos en Automation Assembler.
Propiedades de máquinas virtuales
Las siguientes propiedades son obligatorias para las máquinas virtuales de Azure basadas en complementos.
Propiedad | Descripción |
---|---|
name |
El nombre específico del complemento para el recurso. Puede utilizar el mismo valor para la propiedad |
virtual_machine_name |
El nombre de la máquina virtual en el portal de Azure. Los recursos de Azure que implemente con Automation Assembler deben cumplir las restricciones y las reglas de nomenclatura de Azure. De lo contrario, la implementación presentará errores. Consulte Restricciones de nomenclatura de recursos para obtener más información. |
account |
La cuenta de nube de Microsoft Azure para las regiones de cuentas en las que el equipo implementa plantillas de nube. Consulte Crear una cuenta de nube de Microsoft Azure en VMware Aria Automation para obtener más información. |
location |
La ubicación en la que se implementará la máquina virtual. |
resource_group_name |
El nombre del grupo de recursos. Debe crear el grupo de recursos en su portal de Azure. |
Aprovisionar una máquina virtual de Azure con un disco de datos
La siguiente plantilla muestra cómo puede aprovisionar una máquina virtual mediante aplicaciones auxiliares de asignación. En este ejemplo, se crea una máquina virtual con un disco de datos asociado.
Antes de implementar esta plantilla, realice los siguientes pasos:
- Cree su cuenta de nube de Microsoft Azure en Automation Assembler, cree un proyecto y sus zonas de nube.
- Cree un grupo de recursos a través del portal de Azure.
- Cree una interfaz de red en el grupo de recursos en el portal de Azure. La interfaz de red debe estar en la región que utilizará para implementar la máquina virtual de Azure.
formatVersion: 1 inputs: UUID: type: string title: UUID resources: Allocations_Compute_1: type: Allocations.Compute properties: {} Allocations_Flavor_1: type: Allocations.Flavor properties: flavor: medium Allocations_Image_1: type: Allocations.Image properties: image: ubuntu Cloud_Azure_ResourceGroup_1: type: Cloud.Azure.ResourceGroup properties: name: e2e-a8n-RG-${input.UUID} useExisting: false Idem_NETWORK: type: Idem.AZURE.NETWORK.VIRTUAL_NETWORKS properties: name: e2e-a8n-idem-virtual-net-${input.UUID} account: ${resource.Allocations_Compute_1.selectedCloudAccount.name} location: ${resource.Allocations_Compute_1.selectedRegion.id} address_space: - 10.0.0.0/24 subnets: - name: ${resource.Idem_NETWORK.name} address_prefix: 10.0.0.0/24 resource_group_name: ${resource.Cloud_Azure_ResourceGroup_1.resourceName} virtual_network_name: ${resource.Idem_NETWORK.name} Idem_NETWORK_INTERFACE: type: Idem.AZURE.NETWORK.NETWORK_INTERFACES properties: name: e2e-a8n-idem-net-interface-${input.UUID} account: ${resource.Allocations_Compute_1.selectedCloudAccount.name} location: ${resource.Allocations_Compute_1.selectedRegion.id} ip_configurations: - primary: true name: ipconfig2 private_ip_address: 10.0.0.13 private_ip_address_allocation: Static private_ip_address_version: IPv4 subnet_id: ${'/subscriptions/' + resource.Idem_NETWORK.subscription_id + '/resourceGroups/' + resource.Idem_NETWORK.resource_group_name + '/providers/Microsoft.Network/virtualNetworks/' + resource.Idem_NETWORK.name + '/subnets/' + resource.Idem_NETWORK.subnets[0].name} resource_group_name: ${resource.Idem_NETWORK.resource_group_name} network_interface_name: ${resource.Idem_NETWORK_INTERFACE.name} Idem_DATA_DISK: type: Idem.AZURE.COMPUTE.DISKS properties: name: e2e-a8n-idem-data-disk-${input.UUID} account: ${resource.Allocations_Compute_1.selectedCloudAccount.name} location: ${resource.Allocations_Compute_1.selectedRegion.id} resource_group_name: ${resource.Idem_NETWORK.resource_group_name} disk_name: ${resource.Idem_DATA_DISK.name} disk_size_gb: 10 creation_data: create_option: Empty encryption: disk_encryption_set_id: ${'/subscriptions/' + resource.Idem_NETWORK.subscription_id + '/resourceGroups/DND-static-RG-for-automation/providers/Microsoft.Compute/diskEncryptionSets/DND-e2e-a8n-disk-encryption'} type: EncryptionAtRestWithCustomerKey Idem_VM: type: Idem.AZURE.COMPUTE.VIRTUAL_MACHINES properties: name: e2e-a8n-idem-vm-${input.UUID} account: ${resource.Allocations_Compute_1.selectedCloudAccount.name} location: ${resource.Allocations_Compute_1.selectedRegion.id} resource_group_name: ${resource.Idem_NETWORK.resource_group_name} virtual_machine_name: ${resource.Idem_VM.name} network_interface_ids: - ${resource.Idem_NETWORK_INTERFACE.resource_id} os_profile: admin_username: my-admin-username computer_name: machine-name admin_password: admin virtual_machine_size: ${resource.Allocations_Flavor_1.selectedInstanceTypeName} storage_image_reference: image_sku: ${split(resource.Allocations_Image_1.selectedImageId, ':')[2]} image_publisher: ${split(resource.Allocations_Image_1.selectedImageId, ':')[0]} image_version: ${split(resource.Allocations_Image_1.selectedImageId, ':')[3]} image_offer: ${split(resource.Allocations_Image_1.selectedImageId, ':')[1]} storage_os_disk: storage_account_type: Standard_LRS disk_name: e2e-a8n-idem-os-disk-${input.UUID} disk_caching: ReadWrite disk_size_in_GB: 30 disk_create_option: FromImage disk_delete_option: Delete storage_data_disks: - disk_id: ${resource.Idem_DATA_DISK.resource_id} disk_logical_unit_number: 3 disk_create_option: Attach disk_delete_option: Delete disk_size_in_GB: 10 disk_name: ${resource.Idem_DATA_DISK.disk_name} Cloud_Service_Azure_SQL_Server_1: type: Cloud.Service.Azure.SQL.Server properties: name: e2e-a8n-db-server-puca-${input.UUID} region: ${resource.Allocations_Compute_1.selectedRegion.id} account: ${resource.Allocations_Compute_1.selectedCloudAccount.name} version: '' administrator_login: [email protected] resource_group_name: ${resource.Cloud_Azure_ResourceGroup_1.resourceName} administrator_login_password: admin Idem_AZURE_SQL_DATABASE_DATABASES_1: type: Idem.AZURE.SQL_DATABASE.DATABASES properties: name: e2e-a8n-idem-sql-db-${input.UUID} database_name: e2e-a8n-idem-sql-db-${input.UUID} server_name: ${resource.Cloud_Service_Azure_SQL_Server_1.name} account: ${resource.Allocations_Compute_1.selectedCloudAccount.name} location: ${resource.Allocations_Compute_1.selectedRegion.id} tags: tag-key: tag-value sku: name: GP_Gen5 tier: GeneralPurpose family: Gen5 capacity: 2 requested_backup_storage_redundancy: Local resource_group_name: ${resource.Idem_NETWORK.resource_group_name} read_scale: Disabled Idem_AZURE_STORAGE_RESOURCE_PROVIDER_STORAGE_ACCOUNTS_1: type: Idem.AZURE.STORAGE_RESOURCE_PROVIDER.STORAGE_ACCOUNTS dependsOn: - Idem_NETWORK properties: name: e2ea8nidemstacct${input.UUID} account: ${resource.Allocations_Compute_1.selectedCloudAccount.name} location: ${resource.Allocations_Compute_1.selectedRegion.id} sku_name: Standard_LRS account_name: e2ea8nidemstacct${input.UUID} resource_group_name: ${resource.Cloud_Azure_ResourceGroup_1.resourceName} identity: type: UserAssigned user_assigned_identities: /subscriptions/svpvln45-brk0-mzca-7yxh-dla7h19zxyn3/resourceGroups/DND-static-RG-for-automation/providers/Microsoft.ManagedIdentity/userAssignedIdentities/DND-user-assigned-managed-identity: {} encryption_service: encryption_key_source: Microsoft.Keyvault blob_encryption_key_type: Account file_encryption_key_type: Account customer_managed_key: key_name: DND-e2e-a8n-key key_vault_uri: https://dnd-e2e-a8n-key-vault.vault.azure.net/ key_version: '' user_assigned_identity_id: ${'/subscriptions/' + resource.Idem_NETWORK.subscription_id + '/resourceGroups/DND-static-RG-for-automation/providers/Microsoft.ManagedIdentity/userAssignedIdentities/DND-user-assigned-managed-identity'} immutability_policy: allow_protected_append_writes: true period_since_creation_in_days: 5 state: Unlocked
Si desea asociar discos adicionales a la máquina virtual, puede actualizar el blueprint del recurso de la máquina virtual y agregar el nuevo disco de datos en la propiedad storage_data_disks
.
Aprovisionar una máquina virtual de Azure mediante cloud-init
Las siguientes plantillas muestran cómo aprovisionar una máquina virtual de Azure mediante cloud-init.
En primer lugar, defina el código cloud-init como una entrada en la plantilla de nube y utilice el valor en la propiedad custom_data
. La propiedad custom_data
solo acepta una cadena con codificación base64, por lo que debe convertir los datos personalizados mediante la función base64_encoded
.
inputs: init-data: type: string default: | some multiline maxLength: 9999
resources: Idem_AZURE_COMPUTE_VIRTUAL_MACHINES_1: type: Idem.AZURE.COMPUTE.VIRTUAL_MACHINES properties: ... os_profile: ... custom_data: ${base64_encode(input.init-data)}