gpt4 book ai didi

amazon-web-services - 在 AWS CloudFormation 中,是否可以使用没有 AutoScaling 组的映射中的值创建多个 EC2 实例?

转载 作者:行者123 更新时间:2023-12-04 13:32:21 24 4
gpt4 key购买 nike

假设我想为每个 InstanceType 创建一个 EC2 实例,否则它们是相同的。

所以我会创建一个像这样的映射:

"Mappings" : {
"MyAWSInstanceTypes" : [
"t1.micro",
"m1.small",
"m1.medium",
"m1.large",
"m1.xlarge",
"m3.xlarge",
"m3.2xlarge",
"m2.xlarge",
"m2.2xlarge",
"m2.4xlarge",
"c1.medium",
"c1.xlarge",
"cc1.4xlarge",
"cc2.8xlarge",
"cg1.4xlarge",
"hi1.4xlarge",
"hs1.8xlarge"
],

后来我想要

 "Resources" : {  
"MyEc2Instances" : {
"Type" :
"AWS::EC2::Instance",

我可以神奇地获得根据映射创建的所有实例类型。

如果没有自动缩放,这可能吗?

最佳答案

听起来您想循环遍历每种实例类型,创建每种实例类型。这在 CloudFormation 模板中是不可能的。

您可以通过编程方式生成模板。 troposphere Python 库提供了一个很好的抽象来生成模板。例如:

import json
from troposphere import Template, ec2


types = [
"t1.micro",
"m1.small",
"m1.medium",
"m1.large",
"m1.xlarge",
"m3.xlarge",
"m3.2xlarge",
"m2.xlarge",
"m2.2xlarge",
"m2.4xlarge",
"c1.medium",
"c1.xlarge",
"cc1.4xlarge",
"cc2.8xlarge",
"cg1.4xlarge",
"hi1.4xlarge",
"hs1.8xlarge"]
ami = "ami-12345678"
t = Template()

for type in types:
t.add_resource(ec2.Instance(
type.replace('.', ''), #resource names must be alphanumeric
ImageId=ami,
InstanceType=type,
))

print t.to_json()

关于amazon-web-services - 在 AWS CloudFormation 中,是否可以使用没有 AutoScaling 组的映射中的值创建多个 EC2 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21978641/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com