阿里云云企業網(CEN)構建實例

公司的跨國業務嘗試使用了AlibabaCloud的雲企業網(後簡寫爲CEN)加速,記錄一下搭建實例的整個過程,以供拾遺。

構建CEN加速前,已存在私有云暴露的https互聯網訪問入口,也就是需要進行跨國訪問加速的IP,記爲:p_cloud_IP。

當前存在英國用戶通過互聯網直連搭建在武漢的私有云的鏈路,示意圖如下:

在AlibabaCloud官網上,首先創建兩個VPC實例,一個在上海(阿里雲沒有武漢節點),一個在英國倫敦。

  • 注意創建VPC時要用不同的網段,否則會造成阿里雲的內網IP衝突,這裏我一個使用了192.168.x.x網段,一個使用了172.16.x.x網段。

創建CEN實例,把剛剛創建的兩個VPC實例都加入此CEN。如下圖所示:

購買寬帶包,設置中國內地到歐洲,如下圖所示:

分配帶寬,如下圖所示:

至此,CEN的管道已經構建完畢了。

之後在上海的VPC和倫敦的VPC上,分別購買一臺ECS。倫敦的ECS作爲訪問入口,需要開通外網權限;上海的ECS作爲訪問中繼,爲了SSH連接方便,也推薦開通外網權限。

兩臺ECS搭建完畢,如下圖所示:

爲了後續記錄方便,記倫敦ECS爲ld_ECS,其外網IP爲ld_outer_IP,阿里內網IP爲ld_inner_IP;記上海ECS爲sh_ECS,其外網IP爲sh_outer_IP,阿里內網IP爲sh_inner_IP;

爲了測試CEN的連通性,SSH連接ld_ECS,嘗試ping一下sh_inner_IP,如果能ping通,就證明CEN連通,如下圖所示:

同時可以ping一下sh_outer_IP,對比兩者的加速效果,如下圖所示:

直觀感受上加速效果沒有想象中的明顯,阿里雲的工作人員稱傳輸速率只是CEN加速的一個優點,另一個優點是丟包率幾乎趨零。丟包率的測試留到後續工作中進行。

接下來配置ld_ECS和sh_ECS的nginx,作爲兩層轉發。示意圖如下:

首先SSH連接sh_ECS,安裝nginx。

https://nginx.org/download/下載nginx1.18版本的編譯安裝包,放到sh_ECS上後解壓到/xxx/nginx-1.18.0。

按照如下步驟,編譯安裝:

cd /xxx/nginx-1.18.0
./configure --prefix=/usr/local/nginx --with-http_ssl_module #需要安裝ssl module
make
make install

之後查看nginx是否安裝成功:

cd /usr/local/nginx/sbin
./nginx -V

輸出如下所示,記爲安裝成功:

接着進行配置,寫好的配置nginx.conf文件,節選重要的部分,如下所示:

upstream p_cloud{
        server p_cloud_ip;#私有云暴露在公網上的ip
    } 

    server {
        listen       443 default ssl;
        server_name  localhost;
        #ssl on;
        ssl_certificate server.crt;
        ssl_certificate_key server.key;
        ssl_session_timeout 5m;
        ssl_protocols SSLv2 SSLv3 TLSv1;
        ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
        ssl_prefer_server_ciphers on;
        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass https://p_cloud;
            proxy_set_header Host $host;
            proxy_set_header X-Real_IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

新建SSL個人證書,步驟如下:

openssl genrsa -des3 -out server.key 2048
openssl req -new -key server.key -out server.csr
openssl req -new -x509 -key server.key -out ca.crt -days 3650
openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt

把生成好的server.crt和server.key放到/usr/local/nginx/conf下面。

啓動nginx,步驟如下:

cd /usr/local/sbin/
./nginx -t #測試配置文件是否異常
./nginx

這時可以訪問https://sh_outer_IP,測試上海ECS到私有云的網絡是否通暢了。

沒問題以後,SSH連接ld_ECS,同樣安裝nginx。

安裝過程一樣,不再贅述,寫好的配置nginx.conf文件,節選重要的部分,如下所示:

upstream sh_ip{
        server sh_inner_ip;# 上海ECS內網IP
    } 

    server {
        listen       443 default ssl;
        server_name  localhost;
        #ssl on;
        ssl_certificate server.crt;
        ssl_certificate_key server.key;
        ssl_session_timeout 5m;
        ssl_protocols SSLv2 SSLv3 TLSv1;
        ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
        ssl_prefer_server_ciphers on;
        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass https://sh_ip;
            proxy_set_header Host $host;
            proxy_set_header X-Real_IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

把剛剛在sh_ECS上生成的server.crt和server.key放到ld_ECS的/usr/local/nginx/conf下面,啓動nginx:

cd /usr/local/sbin/
./nginx -t #測試配置文件是否異常
./nginx

訪問https://ld_outer_ip,如果沒有差錯的話,就可以通過阿里雲內網加速訪問到私有云上的內容了。

至此,整套CEN網絡實例部署完畢。 

最後再進行丟包測試,SSH登錄ld_ECS,分別ping sh_inner_ip,sh_outer_ip各一個小時:

在輸出的文檔中即可統計丟包率。在針對sh_inner_ip的ping記錄中中可以看到丟包率爲0,sh_outer_ip的ping記錄中由於存在網絡波動,丟包率可能會不爲0。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章