我正在创建一个Cloudformation模板,该模板将分配ID和现有弹性IP地址作为输入参数。我的代码需要与分配ID相关联的实际IP地址。
如何使用模板中的EIP分配ID获取IP地址?
如果不可能,我们可以走另一条路吗?也就是说,将输入参数更改为现有EIP的IP地址,并以某种方式获得与EIP关联的分配ID?
我要求模板中的EIP的IP和分配ID,并且我试图避免将两者作为参数传递,而是从另一个中确定一个。
答案 0 :(得分:5)
如果您在另一个堆栈中创建EIP,您可以导出分配ID和IP地址,并将它们导入到另一个模板中。
创建EIP:
Resources:
MyEIP:
Type: AWS::EC2::EIP
Outputs:
MyEIPAllocationId:
Value: !GetAtt MyEIP.AllocationId
Export:
Name: "MyEIP::AllocationId"
MyEIPAddress:
Value: !Ref MyEIP
Export:
Name: "MyEIP::Address"
然后在您的其他模板中,您可以像这样使用它们:
!ImportValue MyEIP::AllocationId
!ImportValue MyEIP::Address