我们需要为新客户动态启动 EC2 实例,并为他们分配一个子域:customer1.mydomain.com、customer2.mydomain.com。我想使用 AWS SDK 以编程方式执行此操作。我想使用 Route 53 将子域分配给实例。
问题:
是否可以将 Route 53 指向 instanceId 而不是 IP?还是我还需要为每个实例动态分配一个弹性 IP?
当硬件崩溃时会发生什么?我一直无法弄清楚如何让 CloudWatch 和 Auto Scaling 检测实例何时关闭,然后在新硬件上自动启动(EBS 支持的)实例并重新附加子域。
<
最佳答案
是的,您可以使用 Route53 将 DNS 名称映射到 EC2 实例。
弹性 IP 地址是以永久方式指向 EC2 实例的基本方式。如果您决定您的原始实例不再适用,它可以与替换实例相关联,并且需要在停止/启动后重新与该实例相关联(除非您在 VPC 中)。将其添加到您的 DNS 时,我建议使用 CNAME to the Elastic IP address DNS name。
Auto Scaling 如果检测到实例失败或不再通过健康检查,可以自动启动替换实例。但是,它不会自动重新关联弹性 IP 地址。您可以将 Auto Scaling 与 Elastic Load Balancing 结合使用以获得永久 DNS 条目来访问健康实例,包括任何替换实例。如文档中所述,您可以将 DNS 条目映射为指向 ELB DNS 名称的 CNAME 指针。
我不确定您的问题标题与问题主体的关系究竟如何,但如果您对停止/启动的作用感兴趣,我写了一篇文章,介绍它与简单重启实例的所有不同之处:Rebooting vs. Stop/Start of Amazon EC2 Instance
关于amazon-web-services - 如何确保 EC2 实例在停止/启动后仍然存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9319013/