首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在cloudformation脚本的输出部分引用记录集名称?

如何在cloudformation脚本的输出部分引用记录集名称?
EN

Stack Overflow用户
提问于 2015-02-02 22:52:48
回答 3查看 3.1K关注 0票数 4

我正在我的cloudformation中创建一些DNS条目。有一个参数被传递到cfn脚本中,这将导致创建一个Route53条目,如hostname-test.example.com:

代码语言:javascript
复制
"Host" : {
  "Type" : "AWS::Route53::RecordSetGroup",
  "Properties" : {
      "HostedZoneName" : "example.com.",
      "RecordSets" : [
        {
          "Name" : { 
            "Fn::Join" : [ "-", [
                {"Ref" : "Hostname" },
                "test.example.com"
            ]]
          },
          "Type" : "A",
          "AliasTarget" : {
            "DNSName" : { "Fn::GetAtt" : [ "PublicWebLoadBalancer", "CanonicalHostedZoneName" ] },
            "HostedZoneId" : { "Fn::GetAtt" : [ "PublicWebLoadBalancer", "CanonicalHostedZoneNameID" ] }
          }
        }
      ]
  }
}

在我的输出中,我想从RecordSet获取Name属性,但我不知道如何引用它。根据Fn::GetAtt documentation,不支持Route53对象。

这个是可能的吗?

EN

回答 3

Stack Overflow用户

发布于 2017-07-29 01:46:46

这个问题有点老了,但我刚刚遇到了同样的问题。您需要输出整个RecordSet,即:

代码语言:javascript
复制
"Outputs" : {
  "MyDNSRecord" : {
    "Description": "The DNS Record of ...",
    "Value" : { "Ref": "MyRecordSet" }
  }
}

它(不直观地)输出您正在查找的记录集名称的值。

票数 3
EN

Stack Overflow用户

发布于 2018-07-31 06:15:49

我也有同样的问题,并在yaml中寻找一个明确的答案。

给定以下AWS::Route53::RecordSet

代码语言:javascript
复制
rPublicReverseProxyNLBDnsRecord:
  Type: AWS::Route53::RecordSet
  Properties:
    HostedZoneName: !Ref pPublicHostedZoneName
    Comment:  !Sub 'DNS record for the ${AWS::StackName} ELB front door.'
    Name: !Sub '${pDeploymentType}.${pPublicHostedZoneName}'
    Type: CNAME
    TTL: '30'
    ResourceRecords:
      - !GetAtt rPublicReverseProxyNLB.DNSName

我能够使用以下输出部分代码输出我想要的应用程序URL:

代码语言:javascript
复制
Outputs:

  ApplicationURL:
    Description: 'The public URL for the application'
    Value: !Sub 'https://${rPublicReverseProxyNLBDnsRecord}/'
票数 2
EN

Stack Overflow用户

发布于 2015-02-04 06:02:49

不要将RecordSet嵌入到RecordSetGroup中,而是将其定义为一个单独的属性,并使用与您的RecordSetGroup相同的HostedZoneName。

然后可以使用"Ref“来获取Name属性的值。

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28280388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档