聊聊云計算:彈性IP是怎么回事?
在利用公有云服務(wù)部署我們的應(yīng)用時,為了訪問到我們的服務(wù)器,我們需要為我們的服務(wù)部署公網(wǎng)IP。公有云服務(wù)商除了可以為服務(wù)器提供固定的公網(wǎng)IP,也可以提供彈性IP。這篇文章,我們來弄清楚彈性IP是怎么回事。
彈性IP的技術(shù)基礎(chǔ):NAT
我們都知道搭建外網(wǎng)服務(wù)器的時候,需要給服務(wù)器分配一個外網(wǎng)可以訪問的IP地址。那么彈性IP是什么呢?
在說明什么是彈性IP以前,我們先簡單講一下互聯(lián)網(wǎng)的一個基礎(chǔ)技術(shù):網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT: Network Address Translation)。網(wǎng)絡(luò)地址轉(zhuǎn)換技術(shù),或者叫NAT技術(shù),可以說是實現(xiàn)彈性IP的基礎(chǔ)。
NAT技術(shù)最早提出是在1994年,主要解決一些專用網(wǎng)絡(luò)的主機(jī),與互聯(lián)網(wǎng)主機(jī)之間通信的問題。專用網(wǎng)絡(luò)的主機(jī)只有本地IP地址,沒有互聯(lián)網(wǎng)(公網(wǎng))的IP地址。需要通過NAT技術(shù)來實現(xiàn)專用網(wǎng)主機(jī)的IP地址轉(zhuǎn)換,轉(zhuǎn)換成一個公網(wǎng)IP地址,然后就可以通信了。
解決辦法就是在專用網(wǎng)連接到互聯(lián)網(wǎng)的路由器上安裝NAT軟件,目前一般的路由器都支持NAT功能。
裝有NAT軟件的路由器叫做NAT路由器,它至少有一個有效的公網(wǎng)IP地址。所有使用本地地址的主機(jī)在和外界通信時,都要在NAT路由器上將其本地IP地址轉(zhuǎn)換成公網(wǎng)IP地址。
NAT技術(shù)將專用網(wǎng)的內(nèi)網(wǎng)地址轉(zhuǎn)換為以太網(wǎng)地址
根據(jù)手里公網(wǎng)IP資源的多少,有不同的NAT方案可以選擇。
靜態(tài)NAT:本地地址與公網(wǎng)地址之間一對一映射,即一臺主機(jī)對應(yīng)一個固定的公網(wǎng)IP。如果NAT路由器具有足夠多的公網(wǎng)IP地址,那它有機(jī)會為每個專用網(wǎng)絡(luò)的主機(jī)分配一個固定的公網(wǎng)IP,可以使用靜態(tài)NAT。這種NAT方案用得很少。
動態(tài)NAT:需要一個地址池為內(nèi)部用戶提供公有IP地址,對于同時試圖訪問外網(wǎng)的每位用戶,都從池子里分配一個公網(wǎng)IP地址,但每次分配的IP地址是不固定的。如果專用網(wǎng)絡(luò)不是所有的主機(jī)都要同時訪問外網(wǎng),那么可以采用這種方案。以少量的公網(wǎng)IP,為大量的內(nèi)網(wǎng)主機(jī)提供外網(wǎng)訪問。
NAT重載:使用傳輸層端口號來標(biāo)識本地主機(jī),即端口地址轉(zhuǎn)換(PAT:Port Address Translation),也稱為端口映射。一般情況下,公網(wǎng)IP資源都很稀缺,可能只有一個公網(wǎng)IP,卻有很多個本地IP要使用,那么可以使用端口映射方案。NAT路由器用不同的端口號映射到不同的本地IP地址和端口號上。
彈性公網(wǎng)IP
彈性公網(wǎng)IP是一種NAT IP。它實際位于云服務(wù)提供商的公網(wǎng)網(wǎng)關(guān)上,通過NAT方式映射到了被綁定的云主機(jī)實例的私網(wǎng)網(wǎng)卡上。因此,綁定了彈性公網(wǎng)IP的云主機(jī)可以直接使用這個IP進(jìn)行公網(wǎng)通信,但是在它的私網(wǎng)網(wǎng)卡上并不能看到這個IP地址。
用戶訪問的永遠(yuǎn)是彈性IP地址,但不一定是同一個云主機(jī)
阿里云、騰訊云等云服務(wù)商都有提供彈性IP的服務(wù)。
阿里云的彈性公網(wǎng)IP(EIP: Elastic IP Address),是可以獨立購買和持有的公網(wǎng)IP地址資源,能動態(tài)綁定到不同的ECS實例上,綁定和解綁時無需停機(jī)。
騰訊云的彈性公網(wǎng)IP可以分配給CVM實例,或者是黑石物理服務(wù)器。黑石彈性公網(wǎng)IP只能綁定黑石服務(wù)器和黑石私有網(wǎng)絡(luò)的NAT網(wǎng)關(guān),與云服務(wù)器的彈性公網(wǎng)IP不能共用。
使用彈性公網(wǎng)IP有什么好處?
對于云服務(wù)商來說,當(dāng)然是幫助他們節(jié)約了公網(wǎng)IP資源。那么對于開發(fā)者來說,使用彈性IP有什么好處呢?
有的時候我們會根據(jù)項目運營的需要更換主機(jī),比如換配置更高的主機(jī)。那么每次換云主機(jī)都會更換我們服務(wù)的IP地址,這樣就需要我們重新做一次地址解析,把我們的域名解析到新的IP地址上。
如果我們使用了彈性IP,在更換主機(jī)以后,只需要把我們申請的彈性IP分配到新的主機(jī)上,就可以了,不需要在域名服務(wù)商那里重新解析域名。對于服務(wù)的穩(wěn)定性,有一定的好處。
隨著云計算業(yè)務(wù)的不斷發(fā)展,云服務(wù)商手里的公網(wǎng)IP資源不夠用的時候,有可能以后會強(qiáng)制所有的主機(jī)都使用公網(wǎng)IP。