En tant qu'administrateur de cloud, vous pouvez exploiter le plug-in Amazon Web Services (AWS) pour provisionner des instances d'EC2 basées sur un plug-in lors de la création de votre infrastructure. Vous pouvez également utiliser des aides d'allocation pour fournir une logique d'allocation pour vos instances de.
Vous pouvez facilement configurer vos instances d'EC2 pour répondre aux besoins de votre infrastructure à l'aide des dernières propriétés AWS. Par exemple, si vous souhaitez récupérer automatiquement une instance lorsqu'un contrôle d'état échoue, vous pouvez utiliser la propriété auto_recovery_enabled
dans votre modèle lors du provisionnement.
Pour en savoir plus sur les plug-ins et l'allocation dans VMware Aria Automation, reportez-vous à la section Conceptions et déploiements basés sur des plug-ins dans Automation Assembler.
Propriétés de l'instance d'EC2
Les propriétés suivantes sont requises pour les ressources d'instance de EC2 basées sur un plug-in.
Propriété | Description |
---|---|
name |
Nom de l'instance. |
region |
Région dans laquelle l'instance de sera déployée. |
account |
Compte de cloud AWS pour lequel votre équipe déploie des modèles. Pour plus d'informations, reportez-vous à la section Créer un compte de cloud Amazon Web Services dans VMware Aria Automation. |
image_id |
ID de l'AMI à utiliser pour l'instance de. |
La section suivante contient des exemples de modèles de provisionnement d'instances de EC2.
Provisionnement d'une instance d'EC2 simple
Le modèle suivant montre comment vous pouvez provisionner une instance de EC2 avec des valeurs configurées statiquement pour toutes ses propriétés.
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
Provisionnement d'une instance de EC2 avec des aides d'allocation
Le modèle suivant montre comment vous pouvez provisionner une instance de EC2 avec plusieurs aides d'allocation.
Vous pouvez utiliser des aides dans une configuration un-à-plusieurs, où une seule aide fournit une logique d'allocation de zone, comme le placement de zone, pour plusieurs ressources. Vous pouvez ensuite personnaliser davantage les ressources en fonction de leur liste complète de propriétés, telles que définies par le fournisseur de cloud et prises en charge par le plug-in associé.
Dans cet exemple, vous utilisez une aide pour le calcul, une aide pour le type, une aide pour l'image et une aide pour le réseau.
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}
Provisionnement d'une instance de EC2 avec un volume AWS
Le modèle suivant montre comment vous pouvez provisionner une instance de EC2 avec un volume attaché. Dans cet exemple, vous provisionnez deux instances basées sur un plug-in et un volume AWS basé sur un plug-in. Le volume AWS est attaché à l’une des instances de et est chiffré avec une clé KMS classique.
Le volume AWS et la clé KMS font tous deux référence aux mêmes aides d'allocation via l'utilisation des liaisons de propriétés. L'utilisation de liaisons de propriétés garantit que vos ressources sont provisionnées dans le compte et la région appropriés.
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}