2015-11-05 169 views
-1

我們從Jenkins進行持續集成,並將Jenkins部署到EC2實例。此EC2實例將已部署代碼的NFS共享導出到EC2處理節點。處理節點安裝NFS共享。使用指定的專用地址和/或主機名啓動AWS EC2?

Jenkins需要能夠「找到」這個代碼共享的EC2實例和scp新建的代碼,並且處理節點需要「查找」這個代碼共享的EC2實例並掛載它的NFS共享。

這些通信發生在私有IP空間上,我們的內部部署Jenkins在直連VPC子網中與我們的EC2進行通信,而不使用公共IP地址。

有沒有一種簡單的方法,以可靠的「地址」(由靜態私有IP地址,主機名,或者一些其他方法)的代碼共享EC2,它接收scp'd建立,並通過NFS出口呢?當然,我們在啓動時確定子網,但如果實例終止並重新啓動,我們不知道如何防止IP地址的更改。

我們也熱切地考慮其他方法進行部署,如新的EFS或S3,但那些將不得不等待一點點,直到我們對他們的帶寬。

謝謝!

-Greg

+0

你看過CodeDeploy嗎?甚至還有一個Jenkins插件,所以你可以在編譯結束時推送你的代碼。 –

+0

感謝您的回覆。是的,這絕對看起來像是最適合我們的選擇,甚至相當快!希望針對目前效率低下的設置採取短期解決方案,但我們可能需要咬緊牙關,花時間儘快完成正確的任務。 –

回答

0

如果是在任何給定的時間是這樣的「代碼共享」的情況下,你可以指定一個Elastic IP給它,當你啓動後的單個實例。這會給你一個固定的公共IP,你可以定位。 彈性IP保留並保持靜態,直到您釋放它們。請記住,他們沒有保留時會花錢。

此外,您可以使用SecurityGroups來限制對實例的訪問。

+0

我們需要在我們的私人直接連接VPN上擁有此功能......不確定彈性IP是否適用於除公有IP之外的任何其他內容......?感謝您的建議! –

+0

好吧,我明白了。 ElasticIP無法按照您想要的方式通過VPN進行尋址。另一種方法是在實例啓動並指向實例的私有IP之後,在Route53中分配一個DNS名稱。這樣你就可以隨時使用dns,而不需要知道私有IP。 – polythene

0

最後,我們創建了&保存了一個網絡接口,爲我們分配了一個私有IP。在回收EC2並創建一個新的EC2時,我們只需將保存的接口(使用其IP)分配給新的EC2。似乎完成了我們的工作!

相關問題