阿⾥云云企业⽹(CEN)构建实例
公司的跨国业务尝试使⽤了AlibabaCloud的云企业⽹(后简写为CEN)加速,记录⼀下搭建实例的整个过程,以供拾遗。
构建CEN加速前,已存在私有云暴露的https互联⽹访问⼊⼝,也就是需要进⾏跨国访问加速的IP,记为:p_cloud_IP。
当前存在英国⽤户通过互联⽹直连搭建在武汉的私有云的链路,⽰意图如下:
在AlibabaCloud官⽹上,⾸先创建两个VPC实例,⼀个在上海(阿⾥云没有武汉节点),⼀个在英国伦敦。
注意创建VPC时要⽤不同的⽹段,否则会造成阿⾥云的内⽹IP冲突,这⾥我⼀个使⽤了⽹段,⼀个使⽤了⽹段。
创建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;
nginx ssl证书配置为了测试CEN的连通性,SSH连接ld_ECS,尝试ping⼀下sh_inner_IP,如果能ping通,就证明CEN连通,如下图所⽰:
同时可以ping⼀下sh_outer_IP,对⽐两者的加速效果,如下图所⽰:
直观感受上加速效果没有想象中的明显,阿⾥云的⼯作⼈员称传输速率只是CEN加速的⼀个优点,另⼀个优点是丢包率⼏乎趋零。丢包率的测试留到后续⼯作中进⾏。
接下来配置ld_ECS和sh_ECS的nginx,作为两层转发。⽰意图如下:
⾸先SSH连接sh_ECS,安装nginx。
按照如下步骤,编译安装:
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
输出如下所⽰,记为安装成功:
接着进⾏配置,写好的配置f⽂件,节选重要的部分,如下所⽰:
upstream p_cloud{
server p_cloud_ip;#私有云暴露在公⽹上的ip
}
server {
listen 443 default ssl;
server_name localhost;
#ssl on;
ssl_;
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 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 - -days 3650
openssl x509 -req -days 3650 -in server.csr - -CAkey server.key -CAcreateserial - 把⽣成好的和server.key放到/usr/local/nginx/conf下⾯。
启动nginx,步骤如下:
cd /usr/local/sbin/
./nginx -t #测试配置⽂件是否异常
./nginx
没问题以后,SSH连接ld_ECS,同样安装nginx。
安装过程⼀样,不再赘述,写好的配置f⽂件,节选重要的部分,如下所⽰:
upstream sh_ip{
server sh_inner_ip;# 上海ECS内⽹IP
}
server {
listen 443 default ssl;
server_name localhost;
#ssl on;
ssl_;
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 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.key放到ld_ECS的/usr/local/nginx/conf下⾯,启动nginx:
cd /usr/local/sbin/
./nginx -t #测试配置⽂件是否异常
./nginx
⾄此,整套CEN⽹络实例部署完毕。
最后再进⾏丢包测试,SSH登录ld_ECS,分别ping sh_inner_ip,sh_outer_ip各⼀个⼩时:
在输出的⽂档中即可统计丢包率。在针对sh_inner_ip的ping记录中中可以看到丢包率为0,sh_outer_ip的ping记录中由于存在⽹络波动,丢包率可能会不为0。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论