身為雲端管理員,您可以在建置基礎結構時利用 Amazon Web Services (AWS) 外掛程式佈建以外掛程式為基礎的 EC2 執行個體。此外,還可以使用配置協助程式為執行個體提供配置邏輯。
可以使用最新的 AWS 內容輕鬆設定 EC2 執行個體以支援您的基礎結構需求。例如,如果希望在狀態檢查失敗時自動復原執行個體,則可以在佈建期間在範本中使用 auto_recovery_enabled
內容。
若要進一步瞭解 VMware Aria Automation 中的外掛程式和配置,請參閱Automation Assembler 中以外掛程式為基礎的設計和部署。
EC2執行個體內容
以外掛程式為基礎的 EC2 執行個體資源需要以下內容。
內容 | 說明 |
---|---|
name |
執行個體的名稱。 |
region |
將部署執行個體的區域。 |
account |
您的團隊在其中部署範本的 AWS 雲端帳戶。如需詳細資訊,請參閱在 VMware Aria Automation 中建立 Amazon Web Services 雲端帳戶。 |
image_id |
要用於執行個體的 AMI 的識別碼。 |
以下區段包含用於佈建 EC2 執行個體的範例範本。
佈建簡單的 EC2 執行個體
以下範本顯示了如何佈建 EC2 執行個體並對其所有內容使用靜態設定的值。
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
使用配置協助程式佈建 EC2 執行個體
以下範本顯示了如何使用多個配置協助程式佈建 EC2 執行個體。
可以透過一對多組態使用協助程式,即一個協助程式為多個資源提供配置邏輯,例如區域放置。之後,可以根據由雲端提供者定義並由關聯外掛程式支援的完整內容清單進一步自訂資源。
在此範例中,將使用計算協助程式、類型模板協助程式、映像協助程式以及網路協助程式。
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}
佈建具有 AWS 磁碟區的 EC2 執行個體
以下範本顯示了如何佈建具有連結磁碟區的 EC2 執行個體。在此範例中,您將佈建兩個以外掛程式為基礎的執行個體和一個以外掛程式為基礎的 AWS 磁碟區。AWS 磁碟區連接到其中一個執行個體,並使用經典 KMS 金鑰進行加密。
AWS 磁碟區和 KMS 金鑰都透過使用內容繫結參照相同的配置協助程式。使用內容繫結可確保在正確的帳戶和區域中佈建資源。
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}