2013-12-09 44 views
4

我使用CloudFormation,彈出一個實例自動縮放組中(MAXSIZE:1)獲取一個實例的內部IP自動縮放組

我想知道如何訪問內部該實例的IP,以便我可以在同一個模板中爲它分配一個帶有Route 53的友好名稱。

如果它只是一個AWS EC2 :: ::比如,它會很容易,但它被定義爲自動縮放組,所以我沒有從instnace獲得「PrivateIP」屬性

回答

5

從CloudFormation,你不能。

Cloud Formation構建您的自動伸縮組,但它是伸縮組本身,負責創建該實例。在某些情況下,Cloud Formation將在縮放組觸發並完成實例創建之前完成堆疊創建。

爲了通過CloudFormation實現您想要的功能,您應該在前面添加Elastic Load Balancer(ELB)。然後用Route 53註冊ELB地址,並將其綁定到縮放組。

0

,你可以得到內部IP地址爲:

curl http://169.254.169.254/latest/meta-data/local-ipv4/ 
+0

我不能在我的AWS :: Route53 :: RecordSet中使用它來爲此IP添加A記錄。 – Rory

+1

意思是,你想通過雲計算檢索實例「ON-THE-FLY」的內部IP地址,這樣你就可以將它提供給你的Route53資源?它是否正確? – slayedbylucifer

+0

準確。我已經在做與我的外部IP類似的東西(在UserData部分使用Salt分配的EIP) 我也很高興得到ec2-x-x-x-x.aws.amazon.com地址,因此我可以添加CNAME。這個想法是我想讓foo.domain.com指向外部IP(EIP),而foo.internal.domain.com指向內部IP。 – Rory

相關問題