在CFT模板中能否通过Fn::GetAtt获取EC2实例ID?
关于CloudFormation中获取EC2实例ID的问题
不能通过Fn::GetAtt获取EC2实例的ID,你需要用Ref函数直接引用EC2资源的逻辑ID即可。
在CloudFormation里,当你用Ref引用EC2实例的逻辑ID时,它会直接返回该实例的物理ID(也就是你需要的实例ID)。举个简单的模板片段示例:
Resources: MyEC2Instance: Type: AWS::EC2::Instance Properties: # 你的EC2配置参数,比如AMI ID、实例类型等 ImageId: ami-xxxxxx InstanceType: t2.micro # 比如在其他资源中需要用到这个实例ID AnotherResource: Type: AWS::SomeOther::Resource Properties: InstanceId: !Ref MyEC2Instance
Fn::GetAtt的作用是获取资源的附加属性(比如EC2实例的私有IP、公网IP、子网ID等),但实例ID属于资源的核心物理标识,不需要通过GetAtt来获取,直接用Ref就可以满足需求。
内容的提问来源于stack exchange,提问作者Sumanth Devadiga
相关产品推荐
相关产品推荐

