我有一个CloudFormation堆栈,用于创建环境的多个副本。 一些但不是所有这些环境都将具有相关的弹性IP。
现在我:
对实例本身的更新,关联将丢失。
当从CF堆栈本身进行更新时,会更改基础实例名称,这会导致IP被取消分配。所以我想将弹性IP的ID作为参数传递给脚本并手动分配。
似乎有two ways to do this,但我不明白其中的区别。什么是分配ID,何时需要使用它?
"IPAssoc" : {
"Type" : "AWS::EC2::EIPAssociation",
"Properties" : {
"InstanceId" : { "Ref" : "logical name of an AWS::EC2::Instance resource" },
"EIP" : "existing Elastic IP address"
}
}
VS
"VpcIPAssoc" : {
"Type" : "AWS::EC2::EIPAssociation",
"Properties" : {
"InstanceId" : { "Ref" : "logical name of an AWS::EC2::Instance resource" },
"AllocationId" : "existing VPC Elastic IP allocation ID"
}
}
答案 0 :(得分:1)
VPC使用与EC2 Classic之间存在差异。
根据http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip-association.html,EIP用于EC2 Classic,AllocationId用于VPC。
有关VPC和EC2 Classic之间的区别,请参阅http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-vpc.html#differences-ec2-classic-vpc。