1

考慮重用:
一個(或多個),我們要重用彈性IP地址。 (IP池)
CloudFormation模板,其中包含與其關聯的彈性IP的計算機。 (通過AWS :: EC2 :: EIPA協會) 啓動/拆除多個從共享EIP池獲取ips的CloudFormation堆棧。 (ip是堆棧中的一個參數,並在啓動堆棧之前計算)確保EIP不跨的VPC

我的期望是,如果一個VPC/CloudFormation堆棧已經在使用EIP,則其他嘗試使用它將失敗。
事實證明,如果您嘗試在另一個堆棧中使用相同的EIP,它將起作用。 EIP將被綁定到創建的最新堆棧。

如果說堆棧1使用EIP,則堆棧2使用相同的EIP,如果在堆棧2使用後拆除堆棧1,則「盜取」IP,堆棧2將丟失IP (導致IP免費 - 即不受任何實例限制)。

有沒有人碰到這個問題上運行?你如何確保你不在上面的情況下運行?

我之所以必須使用IPS是他們列入白名單中的系統我用在公共互聯網交互訪問。流量必須來自該池中的IP,並且不能只抓取任何隨機公共IP。

+0

不會通過帶EIP的NAT實例路由出站流量會更直接嗎? –

+0

@ Michael-sqlbot我正在談論的這個實例是一個NAT :)把它留出來讓它簡單,但是我正在經歷一個NAT實例。 – Mircea

+0

大聲笑,那麼,在這種情況下,我的問題會重寫自己,問一下讓NAT實例運行是否會更簡單? t2.micro是一款優秀且價格低廉的NAT機器。但是這裏有一個想法:當EIP在控制檯中手動關聯時,可以選擇「允許重新關聯」。如果未選中,您[無法竊取EIP](http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AssociateAddress.html)。粗略閱讀CloudFormation文檔表明,在進行關聯時,沒有可比較的功能。 –

回答

1

取而代之的是直接EIP連接到實例,附加有連接到它的EIP的ENI。如果ENI處於使用狀態,則不會將其從當前連接的實例中分離出來。

+0

我不知道我關注。你能解釋一下爲什麼這比單純使用EIP更好嗎? – Mircea

+1

如果您的目標是有效地爲實例「保留一個eip」,並且在啓動另一個實例時不讓它分離,則需要添加一個抽象級別:將EIP與彈性網絡接口關聯並使_that_您附加到您的實例以有效地爲您提供所需的EIP。就像你現在所做的那樣,你不會失去EIP。 – BestPractices

1

我不是100%,如果你想要的東西通過cloudformation是可能的。但個人而言,我會以不同的方式去做。 Cloudformation對於它的功能非常棒,但是當你想要開始添加邏輯和條件時,它就會陷入困境。

創建所有的情況下,像往常一樣,但不嘗試和綁定的EIP,而不是使用用戶數據腳本和AWS CLI來搜索獨立的EIP和附加。與cli一起做會給你更多的權力。

好運

+0

有趣的想法。我有一個運行並生成模板的腳本。我想這會盡量減少事情發生錯誤的窗口,並將EIP綁定到雲形成之外,但這並不理想...... – Mircea