缺省情況下實例會被賦予固定ip,這時並不能保證實例會馬上可以從外面訪問到,一般來說需要配置防火牆來允許公共ip,然后建立一條NAT規則從公共ip到私有ip的映射。
OpenStack引入了一個叫浮動ip的概念,浮動ip是一些可以從外部訪問的ip列表,通常從isp哪里買來的。
浮動ip缺省不會自動賦給實例,用戶需要手動從地址池里抓取然后賦給實例。一旦用戶抓去后,他就變成這個ip的所有者,可以隨意賦給自己擁有的其他實例。如果實例死掉了的話,用戶也不會失去這個浮動ip,可以隨時賦給其他實例。暫時不支持為了負載均衡多實例共享一個浮動ip。
而對於固定ip來說,實例啟動后獲得的ip也是自動的,不能指定某一個。所以當一個VM歇菜了,再啟動也許固定ip就換了一個。
系統管理員可以配置多個浮動ip池,這個ip池不能指定租戶,每個用戶都可以去抓取。多浮動ip池是為了考慮不同的isp服務提供商,免得某一個isp出故障帶來麻煩。
如果運行的是企業雲,浮動ip池就是那些openstack外的數據中心都能訪問到的ip。
浮動ip機制給雲用戶提供了很多靈活性,也給系統管理員減少了安全風險,盡量只讓OpenStack軟件去改防火牆會安全些。