首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在同一个云表单脚本中,是否可以将Route53资源记录设置为EC2实例的IP?

在同一个云表单脚本中,是否可以将Route53资源记录设置为EC2实例的IP?
EN

Stack Overflow用户
提问于 2019-05-30 01:38:23
回答 1查看 385关注 0票数 1

我有一个创建EC2实例并设置一些警报的cloudformation脚本。我想在同一个CloudFormation中为这个实例添加一个Route53记录,但是我在弄清楚在资源记录字段中放置什么内容时遇到问题。是否可以将新创建的EC2实例的IP地址引用到AWS::Route53::RecordSetGroup?的ResourceRecord字段中

我已经尝试过使用"ResourceRecords":"EC2Instance",但这导致我“遇到了不支持的属性类型”。除了在创建后手动设置DNS条目之外,我不知道如何完成此操作,但我希望在一个步骤中完成,以便自动完成。

这就是我所拥有的:

代码语言:javascript
复制
"Resources": {
    "EC2Instance": {
      "Type": "AWS::EC2::Instance",
      "Properties": {"ImageId": {
          "Ref": "AMI"
        },
        "IamInstanceProfile": {
          "Ref": "InstanceProfile"
        },
        "InstanceType": {
          "Ref": "InstanceSize"
        },
        "BlockDeviceMappings": [{
            "DeviceName": "/dev/xvda",
            "Ebs": {
              "Encrypted": true,
              "VolumeSize": 100,
              "DeleteOnTermination": false
            }
          }]
      }
    },
    "DNS": {
      "Type": "AWS::Route53::RecordSetGroup",
      "Properties": {
        "HostedZoneName": {"Ref": "HostedZoneName"},
        "Comment": "Alias Record",
        "ResourceRecords":"EC2Instance",
        "Type": "A",
        "Name": {"Fn::Join" : ["",[{"Ref": "ComponentDNSName"},{"Ref": "HostedZoneName"}]]}
      }
    }
  },

我希望有某种方法可以找到新创建的EC2实例的IP,但我不确定如何找到。我想我必须使用弹性IP,但我仍然不知道如何引用它。感谢您的帮助或建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-30 08:16:25

来自AWS::EC2::Instance - AWS CloudFormation

Fn::GetAtt

Fn::GetAtt内部函数返回此类型的指定属性的值。以下是可用的属性和示例返回值。

PrivateIp

指定实例的内网IP地址。例如: 10.24.34.0。

所以,它应该是这样的:

代码语言:javascript
复制
{ "Fn::GetAtt" : [ "EC2Instance", "PrivateIp" ] }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56365898

复制
相关文章

相似问题

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