![](/img/trans.png)
[英]Public ip address of ec2 instance is None while the instance is initializing
[英]How to get the public DNS address of a second ec2 instance while inside the first instance
建立這個問題:
我知道如何獲取ec2實例自己的公共DNS地址。 我需要的是此實例獲取第二個ec2實例的公共DNS實例的方法。
我的想法是,我將運行約50個實例,其中一個或兩個將是一直運行的競價型實例。 所有其他輔助實例都需要知道該實例或主實例的公用DNS名稱,才能在我的應用程序中連接到該實例。 我怎樣才能做到這一點?
另一方面,是否可以創建我的競價型主實例的備份? 萬一失敗,我想立即使用另一個競價型實例,但是我的worker ec2實例將必須更新有關競價型實例的公共dns地址的信息。
我認為獲取其他實例的公共DNS的唯一方法是使用亞馬遜提供的命令行界面或Web API。
您需要的具體命令是ec2-describe-instances ,它提供有關每個實例的公共DNS設置的數據。
當然,您可以通過Web API進行相同的操作:
http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeInstances.html
關於備份,您可以將競價型實例映射到EBS(首選),然后進行快照備份。 快照備份仍可在Amazon控制台中手動觸發(或再次通過命令行工具和Web API)。 快照應適合常規備份。
您還可以使用http://www.skeddly.com/之類的服務來自動執行EC2快照備份。
如果要備份競價型實例的完整AMI映像,則可以在以后從頭重新創建它,或者從同一映像創建多個實例,等等。請轉到管理控制台並執行以下操作:
一種替代方法是使用S3。 當競價型實例出現時,它將讀取自己的公共地址並將其寫入S3中的存儲桶。 其他實例將在他們第一次需要存儲桶時使用該值。 如果競價型實例發生故障,工作人員將定期輪詢存儲桶,直到出現新的競價型實例並更新存儲桶。
確保將存儲桶設置為僅允許經過身份驗證的訪問,以便只有您的應用程序才能對其進行修改。
這種方法具有安全性優勢,因為VM不需要訪問您的EC2憑據。 他們只需要訪問特定的S3存儲桶。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.