模板获取AWS :: EC2 :: EIP(弹性IP)的AllocationID时,AWS CloudFormation错误

时间:2019-03-01 22:45:00

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

我已经创建了一个具有EIP资源的堆栈,并且正在尝试获取分配ID,并且CloudFormation验证程序一直对我大吼大叫。我将EIP提取到一个非常简单的堆栈中,它是唯一的资源,但是我仍然无法获得有效的模板。我要疯了还是AWS弄乱了我??下面是无法通过验证的简单堆栈模板,如果我将其用作嵌套堆栈,则会在创建时失败。

AWSTemplateFormatVersion: 2010-09-09
Description: Create an EIP to be used by Alliance web proxy EC2 instance.
Resources:
  EIPForProxy:
    Type: AWS::EC2::EIP
    Properties:
      Domain: vpc
Outputs:
  EIPAllocationID:
    Value: !GetAtt EIPForProxy.AllocationID
  EIPPublicIP:
    Value: !Ref EIPForProxy

1 个答案:

答案 0 :(得分:0)

作为VPC弹性IP地址,您只能将其导出为值并将此模板用作子堆栈到父堆栈。您无法使用GetAtt函数将其作为值输出。

---
AWSTemplateFormatVersion: '2010-09-09'
Description: Create an EIP to be used by Alliance web proxy EC2 instance.
Resources:
  EIPForProxy:
    Type: AWS::EC2::EIP
    Properties:
      Domain: vpc
Outputs:
  EIPAllocationID:
    Value: 'null'
    Export:
      Name: MyEIP::AllocationId
  EIPPublicIP:
    Value:
      Ref: EIPForProxy