【问题标题】:CloudFormation - Full EC2 DNS suffix by region?CloudFormation - 按区域划分的完整 EC2 DNS 后缀?
【发布时间】:2018-10-10 16:55:20
【问题描述】:

AWS 对某些区域使用不同的 DNS 后缀。最值得注意的是 us-east-1。对于公共 IP 地址,对于 us-east-1 区域,DNS 主机名采用 ec2-public-ipv4-address.compute-1.amazonaws.com 和 ec2-public-ipv4-address.region.compute.amazonaws 的形式。 com 其他地区。

这是一个足够简单的规则,可以有条件地处理或使用映射,但我想知道 CloudFormation 是否提供伪参数或其他方式直接返回给定区域的完整后缀应该是什么。

我知道 AWS::URLSuffix 参数,对于大多数地区来说,它会返回“amazonaws.com”,但这本身还不够。

【问题讨论】:

  • 我认为您可能不小心将route53 创建为amazon-route53 已经存在的重复标签。以后请注意这一点,谢谢!
  • 不,我没有创建那个标签。

标签: amazon-ec2 amazon-cloudformation amazon-route53


【解决方案1】:

使用 Fn::GetAtt 获取公共 DNS,如此处的返回值中所述 https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#aws-properties-ec2-instance-returnvalues

{"Fn::GetAtt":["EC2LogicalResourceName","PublicDnsName"]}

希望对你有帮助

【讨论】:

  • 谢谢。但是,只有在我的 CloudFormation 中确实有 AWS::EC2::Instance 资源时才有效,而我没有。
  • 您尝试启动哪些资源?
  • 就这个问题而言,我引用了一个 ElasticIP,我正在尝试使用预期的公共 DNS 名称创建一个 Route53 RecordSetGroup,该名称将分配给 EIP 最终分配给的任何内容.这项任务还不一定发生。需要明确的是,这与条件逻辑无关。事实上,它已经为我工作了。我只是想知道是否有一种方法比我当前的解决方案更好,它涉及一个 Condition 和一个 Fn::If。
猜你喜欢
  • 1970-01-01
  • 2021-04-30
  • 2012-04-07
  • 2022-01-17
  • 2011-09-21
  • 1970-01-01
  • 1970-01-01
  • 2011-09-26
  • 1970-01-01
相关资源
最近更新 更多