从分配ID参数中获取弹性IP

时间:2018-02-17 20:01:41

标签: amazon-web-services amazon-cloudformation elastic-ip

我正在创建一个Cloudformation模板,该模板将分配ID和现有弹性IP地址作为输入参数。我的代码需要与分配ID相关联的实际IP地址。

如何使用模板中的EIP分配ID获取IP地址?

如果不可能,我们可以走另一条路吗?也就是说,将输入参数更改为现有EIP的IP地址,并以某种方式获得与EIP关联的分配ID?

我要求模板中的EIP的IP和分配ID,并且我试图避免将两者作为参数传递,而是从另一个中确定一个。

1 个答案:

答案 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