Como administrador de nube, puede aprovechar el complemento de Amazon Web Services (AWS) para aprovisionar instancias de EC2 basadas en complementos a medida que crea la infraestructura. También puede utilizar las aplicaciones auxiliares de asignación para proporcionar lógica de asignación para las instancias.
Puede configurar fácilmente las instancias de EC2 para que se adapten a sus necesidades de infraestructura mediante las propiedades de AWS más recientes. Por ejemplo, si desea recuperar automáticamente una instancia si se produce un error en una comprobación de estado, puede utilizar la propiedad auto_recovery_enabled
en la plantilla durante el aprovisionamiento.
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 instancia EC2
Las siguientes propiedades son obligatorias para los recursos de instancias de EC2 basadas en complementos.
Propiedad | Descripción |
---|---|
name |
El nombre de la instancia. |
region |
La región en la que se implementará la instancia. |
account |
La cuenta de nube de AWS para la que el equipo implementa plantillas. Para obtener más información, consulte Crear una cuenta de nube de Amazon Web Services en VMware Aria Automation. |
image_id |
El identificador de la AMI que se utilizará para la instancia. |
La siguiente sección contiene plantillas de ejemplo para el aprovisionamiento instancias de EC2.
Aprovisionar una instancia de EC2 simple
La siguiente plantilla muestra cómo puede aprovisionar una instancia de EC2 con valores configurados estáticamente para todas sus propiedades.
formatVersion: 1 inputs: {} resources: Idem_AWS_EC2_INSTANCE_1: type: Idem.AWS.EC2.INSTANCE properties: name: my-instance-1 region: us-east-1 account: AWS image_id: ami-0aa7d40eeae50c9a9 availability_zone: us-east-1a instance_type: t2.small subnet_id: subnet-07d2c529b6336bd0e
Aprovisionar una instancia de EC2 con aplicaciones auxiliares de asignación
La siguiente plantilla muestra cómo puede aprovisionar una instancia de EC2 con varias aplicaciones auxiliares de asignación.
Puede utilizar aplicaciones auxiliares en una configuración de uno a varios, donde una aplicación auxiliar proporciona la lógica de asignación, como la colocación de zonas, para varios recursos. A continuación, puede personalizar aún más los recursos de acuerdo con su lista completa de propiedades según la definición del proveedor de nube y la compatibilidad con el complemento asociado.
En este ejemplo, se utiliza una aplicación auxiliar de recursos informáticos, una aplicación auxiliar de tipo, una aplicación auxiliar de imagen y una aplicación auxiliar de red.
formatVersion: 1 inputs: instance_name: type: string resources: Allocations_Compute_1: type: Allocations.Compute properties: constraints: - tag: env:dev Allocations_Flavor_1: type: Allocations.Flavor properties: flavor: small Allocations_Image_1: type: Allocations.Image properties: image: ubuntu Allocations_Network_1: type: Allocations.Network properties: networkType: existing constraints: - tag: alternative-net Idem_AWS_EC2_INSTANCE_1: type: Idem.AWS.EC2.INSTANCE properties: name: ${input.instance_name} region: ${resource.Allocations_Compute_1.selectedRegion.id} account: ${resource.Allocations_Compute_1.selectedCloudAccount.name} image_id: ${resource.Allocations_Image_1.selectedImageId} availability_zone: ${resource.Allocations_Compute_1.selectedPlacementCompute.id} instance_type: ${resource.Allocations_Flavor_1.selectedInstanceTypeName} subnet_id: ${resource.Allocations_Network_1.selectedSubnet.id}
Aprovisionar una instancia de EC2 con un volumen de AWS
La siguiente plantilla muestra cómo puede aprovisionar una instancia de EC2 con un volumen asociado. En este ejemplo, se aprovisionan dos instancias basadas en complementos y un volumen de AWS basado en complemento. El volumen de AWS está asociado a una de las instancias de y se cifra con una clave de KMS clásica.
El volumen de AWS y la clave de KMS hacen referencia a las mismas aplicaciones auxiliares de asignación mediante el uso de enlaces de propiedades. El uso de enlaces de propiedades garantiza que los recursos se aprovisionen en la cuenta y la región correctas.
formatVersion: 1 inputs: instance_name: type: string instance2_name: type: string volume_name: type: string resources: Allocations_Compute_1: type: Allocations.Compute properties: constraints: - tag: env:dev Allocations_Flavor_1: type: Allocations.Flavor properties: flavor: small Allocations_Image_1: type: Allocations.Image properties: image: ubuntu Allocations_Network_1: type: Allocations.Network properties: networkType: existing constraints: - tag: alternative-net Idem_AWS_EC2_INSTANCE_1: type: Idem.AWS.EC2.INSTANCE properties: name: ${input.instance_name} region: ${resource.Allocations_Compute_1.selectedRegion.id} account: ${resource.Allocations_Compute_1.selectedCloudAccount.name} image_id: ${resource.Allocations_Image_1.selectedImageId} availability_zone: ${resource.Allocations_Compute_1.selectedPlacementCompute.id} instance_type: ${resource.Allocations_Flavor_1.selectedInstanceTypeName} subnet_id: ${resource.Allocations_Network_1.selectedSubnet.id} Idem_AWS_EC2_INSTANCE_2: type: Idem.AWS.EC2.INSTANCE properties: name: ${input.instance2_name} region: ${resource.Allocations_Compute_1.selectedRegion.id} account: ${resource.Allocations_Compute_1.selectedCloudAccount.name} image_id: ${resource.Allocations_Image_1.selectedImageId} availability_zone: ${resource.Allocations_Compute_1.selectedPlacementCompute.id} instance_type: ${resource.Allocations_Flavor_1.selectedInstanceTypeName} subnet_id: ${resource.Allocations_Network_1.selectedSubnet.id} block_device_mappings: - volume_id: ${resource.Idem_AWS_EC2_VOLUME_1.resource_id} device_name: /dev/sdb Idem_AWS_EC2_VOLUME_1: type: Idem.AWS.EC2.VOLUME properties: name: ${input.volume_name} region: ${resource.Allocations_Compute_1.selectedRegion.id} account: ${resource.Allocations_Compute_1.selectedCloudAccount.name} availability_zone: ${resource.Allocations_Compute_1.selectedPlacementCompute.id} size: 10 volume_type: io2 iops: 100 encrypted: true kms_key_id: ${resource.Cloud_Service_AWS_KMS_Key_1.key_id} Cloud_Service_AWS_KMS_Key_1: type: Cloud.Service.AWS.KMS.Key properties: region: ${resource.Allocations_Compute_1.selectedRegion.id} account: ${resource.Allocations_Compute_1.selectedCloudAccount.name}