1. 程式人生 > >通過雲端儲存閘道器實現阿里雲物件儲存跨地域訪問

通過雲端儲存閘道器實現阿里雲物件儲存跨地域訪問

某客戶在阿里雲的上海地域內有一臺位於VPC內部的ECS,想訪問同一阿里雲賬號下位於北京地域的一個OSS Bucket裡面的資料,同時又希望走阿里雲的內網流量以享受內網的頻寬。因為北京上海屬於不同的地域,所以如果使用ossutil或者ossfs這樣的工具進行Bucket裡面的檔案的直接訪問,只能走公網的Endpoint,不滿足客戶的需求。我們知道阿里雲的雲企業網或者高速通道產品提供了VPC之間的私網連線,那麼在雲企業網或者高速通道存在的情況下,是否可以通過OSS的內網Endpoint進行訪問呢?遺憾的是在這種情況下,在上海的ECS內部仍然沒有辦法直接訪問北京的OSS Bucket的內網的Endpoint。好訊息是在雲企業網或者高速通道存在的情況下,不同地域的網路實際上已經打通,我們可以利用雲端儲存閘道器進行OSS Bucket裡面的資料訪問,而且走的是內網流量,完全滿足客戶的需求。

雲端儲存閘道器

雲端儲存閘道器是一款可以部署在使用者IDC和阿里雲上的閘道器產品。它以阿里雲物件儲存(OSS)為後端儲存,為雲上和雲下應用提供業界標準的檔案服務(NFS和SMB)和塊儲存服務(iSCSI),具體可見雲端儲存閘道器的產品介紹在雲企業網或者高速通道存在的情況下,我們利用雲端儲存閘道器訪問不同地域的OSS的資料的架構如下圖所示。

24b75af206c5996d3c54624fead0d40289222dc9

配置實戰

下面我們通過一臺位於上海VPC內部的ECS和北京的OSS Bucket的例子來展示整個配置過程。上海的ECS的私網IP是172.31.202.106,北京的OSS Bucket的名稱是test-bucket-sydney-1229。

配置雲端儲存閘道器

首先我們需要在北京建立一個雲端儲存閘道器,建立的過程很簡單。首先我們需要開通雲端儲存閘道器服務 ,然後可以直接參考雲端儲存閘道器的幫助手冊建立一個閘道器。如果需要NFS/SMB協議訪問,則需要建立檔案型別的閘道器。如果需要iSCSI協議訪問,則需要建立塊閘道器。如果希望能夠訪問以前通過其他手段上傳到OSS裡面的存量資料,推薦使用檔案閘道器。因為不同於檔案閘道器,塊閘道器只能夠訪問通過塊閘道器上傳到OSS Bucket的資料,通過其他手段上傳到OSS Bucket的檔案是沒有辦法通過iSCSI協議訪問的。這裡我們建立了一個檔案閘道器,它的私網IP172.27.151.200

。然後根據幫助手冊配置快取盤配置OSS資源,最後配置了一個NFS共享,這個共享繫結到了北京的OSS Bucket test-bucket-sydney-1229

c39f5ac5e2705dc0f21a3db635f1751e5fe19bec

需要注意的是在配置OSS資源的過程中,因為我們期望的資料要走內網,所以在繫結雲資源的時候,我們的區域要選擇內網,不要錯誤的選擇為公網而導致產生外網流量。

01be1b4d80ca6cc0dbd0d8df6711ce93ab4a1330

在建立NFS共享的過程中,如果需要訪問已經存在於OSS Bucket中的資料,我們需要設定反向同步選項,這樣閘道器就會去OSS Bucket上將元資料同步到本地,我們就可以通過閘道器上的NFS共享來訪問原來存在於OSS Bucket裡面的存量資料。另外,模式保持預設的快取模式。這樣雲端儲存閘道器會只儲存熱資料在本地,冷資料本地只存有元資料,資料會按需去OSS Bucket上抓取,這一切對使用者都是透明的。

 

ae7a72c60e6f89a043060f645d3423de59260aa5

經過配置快取盤,配置雲資源,建立NFS共享這簡單的三步之後,閘道器側的配置就完成了。如果你在北京有和雲端儲存閘道器在同一VPCECS,應該已經可以直接掛載NFS共享進行資料訪問了。

配置雲企業網

因為我們的目標是讓上海的ECS能訪問位於北京的OSS Bucket,所以接下來需要打通上海和北京的網路,在這裡我們選擇的是雲企業網。雲企業網的配置很簡單,具體可以參考雲企業網同賬號VPCVBR互通。通過簡單的幾步之後,我們就連線了上海ECS所在的VPC和北京雲端儲存閘道器所在的VPC。配置成功之後我們在雲企業網的控制檯就可以看到互通的VPC

d2bdfb58152d2ee42b6ac3ed58486a0756ea88de

跨地域的情況下我們必須購買頻寬包用來滿足業務的頻寬需要。在購買頻寬包的時候,區域的選擇需要參考什麼是雲企業網。在當前的例子中,上海和北京都屬於中國大陸區域。如果需要跨國訪問,選擇對應的互通區域購買頻寬資源包即可。

c79f402285bccef53b7c91d595bcc7d618e9d972

配置雲端儲存閘道器安全組

當雲端儲存閘道器和雲企業網都配置完成之後,我們可以登陸到上海的ECS裡面通過telnet命令”telnet 172.27.151.200 111” 去試著連線閘道器提供NFS協議的一個埠111,來驗證連線是否有問題。絕大部分情況下,連線是有問題的,除非不同區域的兩個VPC恰巧在同一網段。這是因為為了安全性考慮,雲端儲存閘道器預設只允許建立時候指定的VPC內部的ECS主機訪問。但是我們可以通過配置閘道器的安全組來實現跨VPC訪問。我們可以在北京地域的ECS控制檯裡的安全組選項裡找到雲端儲存閘道器的安全組”Cloud_Storage_Gateway”並進行配置規則。

35521edc1ce1457bf8ab0e33c55a2c23d187adcd

預設雲端儲存閘道器安全組只對指定安全組的ECS開放了下列埠,所以即使通過雲企業網打通了不同區域的VPC,在上面的例子裡,位於上海的ECS仍然不能訪問位於北京的雲端儲存閘道器。

e6aca8a77d62d801ea15349faaebc55d9c657170

 為了能夠讓上海的ECS能夠通過NFS協議訪問共享,我們可以在閘道器側的安全組裡加上如下NFS埠相關的配置,允許位於上海的某個或者某些ECS進行訪問。如果需要SMB或者iSCSI協議訪問,根據上圖配置上相應的安全組規則即可。

d9078f7b26817e61098c6abed742e02b155f5f14

再回到位於上海的ECS,首先用telnet命令連線閘道器的111埠,從下圖我們可以看到連線成功。之後執行mount命令掛載閘道器的testnfs目錄到本地的/mnt/test_sydney/,成功掛載!

23b235bef3f5bd48762ce8dbcbb971beed3cd8f0

至此,整個配置過程就結束了。現在就可以通過對上海ECS的本地目錄/mnt/test_sydney的讀寫從而實現內網流量訪問位於北京的OSS Bucket了!

小結

在雲企業網或者高速通道存在的情況下,雲端儲存閘道器給我們提供了一種手段,讓我們可以走阿里雲的內網流量來訪問位於不同地域的OSS Bucket。而且雲端儲存閘道器提供了NFS/SMB/iSCSI協議支援,可以適應不同使用者以及應用的需求,使用起來非常的便捷。