Als Cloud-Administrator können Sie das AWS-Plug-In (Amazon Web Services) nutzen, um beim Aufbau Ihrer Infrastruktur Plug-In-basierte EC2-Instanzen bereitzustellen. Sie können auch Zuteilungs-Helper verwenden, um Zuteilungslogik für Ihre Instanzen bereitzustellen.
Sie können Ihre EC2-Instanzen zur Unterstützung Ihrer Infrastrukturanforderungen ganz einfach mithilfe der aktuellen AWS-Eigenschaften konfigurieren. Wenn Sie beispielsweise eine Instanz beim Fehlschlagen der Statusprüfung automatisch wiederherstellen möchten, können Sie während der Bereitstellung die auto_recovery_enabled
-Eigenschaft in Ihrer Vorlage verwenden.
Weitere Informationen zu Plug-Ins und Zuteilung in VMware Aria Automation finden Sie unter Plug-In-basierte Designs und Bereitstellungen in Automation Assembler.
Eigenschaften der EC2-Instanz
Die folgenden Eigenschaften sind für Plug-In-basierte EC2-Instanzressourcen erforderlich.
Eigenschaft | Beschreibung |
---|---|
name |
Der Name für die Instanz. |
region |
Die Region, in der die Instanz bereitgestellt wird. |
account |
Das AWS-Cloud-Konto für Kontoregionen, in denen Ihr Team Vorlagen bereitstellt. Weitere Informationen finden Sie unter Erstellen eines Amazon Web Services-Cloud-Kontos in VMware Aria Automation. |
image_id |
Die ID des AMI (Amazon Machine Image), das für die Instanz verwendet werden soll. |
Der folgende Abschnitt enthält Beispielvorlagen für die Bereitstellung von EC2-Instanzen.
Bereitstellen einer einfachen EC2-Instanz
Die folgende Vorlage zeigt, wie Sie eine EC2-Instanz mit statisch konfigurierten Werten für alle zugehörigen Eigenschaften bereitstellen können.
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
Bereitstellen einer EC2-Instanz mit Zuteilungshelfern
Die folgende Vorlage zeigt, wie Sie eine EC2-Instanz mithilfe von mehreren Hilfsprogrammen für die Zuteilung bereitstellen können.
Sie können Hilfsprogramme in einer 1:n-Konfiguration verwenden, in der ein Hilfsprogramm eine Zuteilungslogik für mehrere Ressourcen bereitstellt, z. B. die Zonenplatzierung. Anschließend passen Sie die Ressourcen entsprechend der vollständigen Liste ihrer Eigenschaften (wie vom Cloud-Anbieter definiert und vom zugehörigen Plug-In unterstützt) weiter an.
In diesem Beispiel verwenden Sie einen Computing-Hilfsdienst, einen Typ-Hilfsdienst, einen Image-Hilfsdienst und einen Netzwerk-Hilfsdienst.
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}
Bereitstellen einer EC2-Instanz mit einem AWS-Volume
Die folgende Vorlage zeigt, wie Sie eine EC2-Instanz mit einem angehängten Volume bereitstellen können. In diesem Beispiel stellen Sie zwei Plug-In-basierte Instanzen und ein Plug-In-basiertes AWS-Volume bereit. Das AWS-Volume ist an eine der Instanzen angehängt und mit einem klassischen KMS-Schlüssel verschlüsselt.
Das AWS-Volume und der KMS-Schlüssel verweisen durch die Verwendung von Eigenschaftsbindungen beide auf dieselben Hilfsprogramme für die Zuteilung. Durch die Verwendung von Eigenschaftsbindungen wird sichergestellt, dass Ihre Ressourcen im richtigen Konto und in der richtigen Region bereitgestellt werden.
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}