Als cloudbeheerder kunt u gebruikmaken van de Amazon Web Services-plug-in (AWS) om EC2-instanties op basis van de plug-in in te richten wanneer u uw infrastructuur bouwt. U kunt ook toewijzingshelpers gebruiken om toewijzingslogica voor uw instanties te leveren.
U kunt eenvoudig uw EC2-instanties configureren om uw infrastructuurbehoeften te ondersteunen met behulp van de nieuwste AWS-eigenschappen. Als u bijvoorbeeld een instantie automatisch wilt herstellen als een statuscontrole mislukt, kunt u tijdens de inrichting de eigenschap auto_recovery_enabled
in uw sjabloon gebruiken.
Zie Ontwerpen en implementaties op basis van plug-ins in Automation Assembler voor meer informatie over plug-ins en toewijzing in VMware Aria Automation.
Eigenschappen voor EC2-instanties
De volgende eigenschappen zijn vereist voor EC2-instantieresources op basis van de plug-in.
Eigenschap | Beschrijving |
---|---|
name |
De naam voor de instantie. |
region |
De regio waar de instantie wordt geïmplementeerd. |
account |
Het AWS-cloudaccount waarvoor uw team sjablonen implementeert. Zie Een Amazon Web Services-cloudaccount maken in VMware Aria Automation voor meer informatie. |
image_id |
De ID van de AMI die u wilt gebruiken voor de instantie. |
Het volgende gedeelte bevat voorbeeldsjablonen voor het inrichten van EC2-instanties.
Een eenvoudige EC2-instantie inrichten
In de volgende sjabloon ziet u hoe u een EC2-instantie kunt inrichten met statisch geconfigureerde waarden voor alle bijbehorende eigenschappen.
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
Een EC2-instantie met toewijzingshelpers inrichten
In de volgende sjabloon ziet u hoe u een EC2-instantie met meerdere toewijzingshelpers kunt inrichten.
U kunt helpers gebruiken in een een-op-veel configuratie, waarbij een helper toewijzingslogica, zoals zoneplaatsing, voor verschillende resources biedt. Vervolgens past u de resources verder aan op basis van hun volledige lijst met eigenschappen, zoals gedefinieerd door de cloudprovider en ondersteund door de gekoppelde plug-in.
In dit voorbeeld gebruikt u een computerhelper, een soorthelper, een imagehelper en een netwerkhelper.
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}
Een EC2-instantie met een AWS-volume inrichten
In de volgende sjabloon ziet u hoe u een EC2-instantie met een gekoppeld volume kunt inrichten. In dit voorbeeld richt u twee instanties op basis van de plug-in en een AWS-volume op basis van de plug-in in. Het AWS-volume wordt gekoppeld aan een van de instanties en wordt versleuteld met een klassieke KMS-sleutel.
Het AWS-volume en de KMS-sleutel verwijzen beide naar dezelfde toewijzingshelpers bij het gebruik van eigenschapsbindingen. Door eigenschapsbindingen te gebruiken, zorgt u ervoor dat uw resources in het juiste account en de juiste regio worden ingericht.
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}