我已经创建了一个具有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
答案 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