2014-09-29 75 views
1

大厦关闭这个问题里面:如何获得第二个EC2实例的公共DNS地址,而一审

https://unix.stackexchange.com/questions/24355/is-there-a-way-to-get-the-public-dns-address-of-an-instance

我知道如何获得一个EC2实例自己的公共DNS地址。我需要的是这个实例获取第二个ec2实例的公有DNS实例的方法。

这个想法是,我将有~50个实例运行,其中一个或两个将是一个持续运行的现场实例。所有其他工作者实例都需要知道现场或主实例的公共DNS名称,以便在我的应用程序中连接它。我怎样才能做到这一点?

另一个说明,有没有办法可以创建我的专家主实例的备份?如果它失败了,我想有另一个即时取代它的位置实例,但是我的工作者ec2实例将不得不更新他们关于现场实例的公共dns地址的信息。

回答

1

我认为获取其他实例的公有DNS的唯一方法是使用命令行界面或由amazon提供的Web API。

您需要的具体命令是ec2-describe-instances它提供有关每个实例的公有DNS设置的数据。

http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ApiReference-cmd-DescribeInstances.html

当然你也可以通过Web API做同样的:

http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeInstances.html

关于备份您可以映射现货实例EBS(这是preferrable),然后进行快照备份。快照备份仍然在亚马逊控制台中手动触发(或者通过命令行工具和Web API再次手动触发)。快照应该适合定期备份。

您还可以使用像http://www.skeddly.com/这样的服务来自动执行EC2快照备份。

如果要备份专色实例的完整AMI映像,以便稍后从头开始重新创建它,或者从同一图像创建多个实例等,请转到管理控制台并执行以下:

  1. 点击实例
  2. 选择实例要在“操作”从
  3. 点击创建一个AMI并选择“创建图像”
  4. 设置图像名称等信息,并保存
+0

啊,如果我从我的一台机器创建AMI实例,它是否会包含我的user_data引导配置?目前启动一个实例需要大约5分钟,因为我传入了user_data操作。如果我创建了一个自定义的AMI,我也可以跳过加载时间? – jeffrey 2014-10-01 21:01:00

0

另一种方法是使用S3。当现场实例出现时,它将读取自己的公共地址,并将其写入S3中的存储桶。其他实例会在第一次需要时查找存储桶并使用此值。如果现场实例发生故障,工作人员将定期轮询桶,直到出现新的实时实例并更新桶。

确保将存储区设置为仅允许通过身份验证,因此只有您的应用程序可以对其进行修改。

此方法具有安全优势,因为VM不需要访问您的EC2凭证。他们只需要访问特定的S3存储桶。

+0

有趣的是,我假设现货实例会创建自己的桶呢? – jeffrey 2014-10-01 15:46:18

+0

取决于你想完成什么。通常情况下,每个应用程序都有一个固定的存储桶,服务器会将他们的详细信息写入存储桶中的文件。使应用程序更容易,因为每个应用程序都可以有独立的存储区。 – Barak 2014-10-02 06:26:29

相关问题