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}