![](/img/trans.png)
[英]aws cloudformation template for spot request in ec2 instance
[英]In an AWS CloudFormation template, how can I place an EC2 instance in the subnet determined by a Spot Fleet?
我在CloudFormation模板中指定了具有动态子网和(按需)EC2实例的Spot Fleet,如下所示:
"Resources": {
"myInstance": {
"Type": "AWS::EC2::Instance",
"Properties": {
...
}
},
"myFleet": {
"Type": "AWS::EC2::SpotFleet",
"Properties" : {
"SpotFleetRequestConfigData" : {
...
"LaunchSpecifications": [
{
...
"SubnetId": "subnet-1a1a1a, subnet-2b2b2b, subnet-3c3c3c"
}
]
}
}
}
}
我的每个子网都在不同subnet-1a1a1a
区中,例如, subnet-1a1a1a
在us-east-1a
, subnet-2b2b2b
在us-east-1b
,等等。
我想将myInstance
与 myInstance
车队实例放置在同一子网中 ,以避免为跨越可用区的网络流量付费,但是我不确定如何做到这一点:
"myInstance": {
"Type": "AWS.::EC2::Instance",
"Properties": {
...
"SubnetId": ???? // WHAT GOES HERE?
}
}
它看起来并不像我可以用Fn::GetAtt
上myFleet
,即使我做myInstance
取决于myFleet
,我仍然不知道如何来查找现货舰队的位置的结果。
我能做到吗? 谢谢!
在现货机队配置中,如果执行以下操作:
"SubnetId": "subnet-1a1a1a, subnet-2b2b2b, subnet-3c3c3c"
那么您要告诉竞价型队列将竞价型实例放置在这三个子网中的任何一个中。 竞价型实例可能同时位于所有3个子网中。
由于您只有一个EC2实例,因此不能保证您的EC2实例与所有竞价型实例位于同一子网中。
您的EC2实例只能存在于一个子网中,您必须指定该子网,或让AWS为您决定。
因此,您可以选择:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.