我想使用 Route53 为我们的组织提供一组适用于我们开发环境的标准化域名(例如 website2.theclient.development.com)。
我可以在 Route53 托管区域中创建一个新的子域,并将其与 EC2 实例的公共 IP 或 DNS 关联。但是,当 EC2 实例关闭并启动时,公共 IP 和 DNS 会更改,我必须更新 Route53 A 名称。
我不想为每个 EC2 实例使用静态 IP。有没有其他方法可以解决这个问题,以便托管区域中的域名永久与 EC2 实例关联?
答案1
如果您不想按照@Ondra 的建议使用弹性 IP,您可以自动将新分配的 IP 地址重新关联到 Route53 CName 记录。
以下是一篇博客文章,其中提供了一种方法:
我们遇到的情况是,我们使用大量临时 EC2 实例,这些实例是集成演示机器的一部分。它们都通过我们在 AWS 中的 Route53 域中设置的 DNS 名称相互引用。出于成本原因,我们在不使用时会关闭这些机器。问题是,每次启动机器时,我们都必须经历将 Route53 CNAMES 与新获取的公共 DNS 和 IP 条目重新关联的痛苦。手动执行此操作有点麻烦,而我的本性总是使用命令行脚本自动执行此操作……
https://www.coveros.com/auto-register-an-ec2-host-with-route53-dns/
答案2
您可以使用弹性 IP 将“静态”IP 分配给您的 EC2,或者在创建新的 EC2 实例时使用 CloudFormation 模板更新您的 Route53 记录。