每个通配符子域指向不同的 IP 地址



我一直在使用 AWS Route-53 作为我的应用程序的 dns 服务,并在我的代码中说,对于每个 http 请求,我都需要创建一些动态子域并将其指向动态创建的新 ec2 实例。

现在,任何人都应该能够使用新创建的子域向新创建的 ec2 实例发出请求。

我知道我可以使用通配符 dns 记录,但它不只是指向一个 IP?

如何使创建的每个子域始终指向新的 ec2 实例?

traefik 正是我所需要的。我使用 etcd 作为提供者配置 traefik,只需向 etcd 服务器输入,我就可以实现我想要的。

现在我只有一个通配符域映射到一个 ec2 实例,我在其上运行 traefik,它会监视 etcd 服务器中任何前缀为/traefik/的新条目。然后,它会动态生成新配置,并负责根据HOST标头将任何请求路由到目标服务器。

创建 *.example.com 的 A 记录并将值分配给 IP 地址。

如果任何子域没有显式记录,它将默认使用此记录。

自动添加 DNS 记录的可能解决方案。

  • 创建 EC2 实例时,添加应分配以解析到此实例的域名标签。让 CloudWatch 事件检测"StartInstance",然后触发 Lambda 通过 API 添加 DNS 记录。
  • 编写一个代理,该代理可以确定要用于每个子域的 IP 地址。或者通过某种自动化(SSM/Ansible(手动添加它。

最新更新