AWS:如何提供缺失的公共 IPv4 DNS

AWS:如何提供缺失的公共 IPv4 DNS

更新:重写问题

我有一个通过 terraform 启动的 ec2 实例,它是无法到达;我基于完全相同的图像手动启动了完全相同类型的实例,并且能够毫无问题地连接到它。

比较这两个实例,我能看到的唯一区别是在网络设置方面:

  • Public IPv4 DNS对于可访问(手动启动)的实例列出,但对于经过地形改造的实例则为空白。
  • Answer private resource DNS nameIPv4 (A)对于可访问实例,将其列出;对于已改造的实例,则为空白。

问:我该如何提供这一缺失的基础信息?

  • DNS 提供商好像是用来设置自定义域名的?我不需要这个/没有要用于此服务器的自定义域名。
  • 不同的记录类型这让我很困惑,因为我不是网络专家。

有人能指出我在 Terraform 中指定这一点的正确方向吗?

答案1

以下两篇文章也许可以回答你的问题。

来自帖子 EC2 实例没有公共 DNS

  • 转到 console.aws.amazon.com
  • 服务 -> VPC
  • 打开您的 VPC
  • 选择您的 VPC连接到你的EC2并
  • 选择操作 > 编辑 DNS 主机名
  • 将 DNS 主机名:更改为 YES

帖子 公共子网中的 EC2 实例没有公共 IP 添加了以下内容:

在子网中启用“自动分配 IPv4”后,您的实例将不会自动将公共 IP 附加到其 ENI。一种可能的解决方案是无需启动新的 EC2,即可将弹性 IP(如 @Oleksii Donoha 在评论中所建议的那样)附加到此实例。您可以按照 aws 文档进行操作分配弹性 IP 地址 进而将其与您正在运行的实例关联

附注:无法附加短暂的ip 到已创建的 ENI 或 EC2 实例。查看讨论 这里

答案2

我遇到了同样的问题

1\ 如果从地面构建,使用自定义 vpc 和路由表,可以尝试使用 terraform 提供程序aws_vpc 有一个参数叫做enable_dns_hostnames设置true 然后在aws_instance public_dns将自动分配Public IPv4 DNS 其他解决方法可能是

2\ 使用 AWS 提供的默认 vpc 路由表

3\ 使用 aws_ec2_module,这样您就不需要从头开始构建

相关内容