在VPC子网内,为了网络安全,多数服务器是不能直接连接互联网的,也就不能直接使用apt-get,yum等工具直接安装软件。本教程的目的即为解决这类场景下软件安装的问题。
我们直接进入实战。
第一步先规划好服务器好网路拓扑:服务器3台,第一台web服务器,要连接外网;第二台为Backend服务器,只连接内网。前两台都是业务服务器,真实生产环境这两类也最典型。第三台为堡垒机,操作员要先登录堡垒机,才能操作业务服务器,这也是生产环境里安全性较高的部署模式。三台服务器应在不同的subnet,并且有不同的security group设置。
图1:业务服务器
图2:堡垒机&业务服务器
1个VPC tutorialvpc-pubpriv。
3个subnet:10.xxx.1.0/24 web服务器,10.xxx.2.0/24 Backend服务器,10.xxx.0.0/24 堡垒机。
创建4个security group:
security group | Inbound | Outbound | 备注 |
tutorialvpc-pubpriv-backend-sg | 80/TCP | N/A | Backend服务器 |
tutorialvpc-pubpriv-frontend-sg | 80/TCP | 80/TCP | web服务器 |
tutorialvpc-pubpriv-bastion-sg | 22/TCP | 22/TCP 允许ICMP | 堡垒机 |
tutorialvpc-pubpriv-maintenance-sg | 22/TCP | 22,443,53/TCP 53/UDP | 维护用途 |
以下演示我们都使用命令行方式( IBM Cloud CLI https://cloud.ibm.com/docs/cli?topic=cli-install-ibmcloud-cli)来操作,命令行方式的好处是您只需简单的复制/粘贴就能执行示例中的操作。
安装IBM Cloud CLI
#curl -fsSL https://clis.cloud.ibm.com/install/linux | sh
安装VPC插件
#ibmcloud plugin install vpc-infrastructure
登录
#ibmcloud login -a cloud.ibm.com -r us-south
设置 VPC 版本为第2代
#ibmcloud is target --gen 2
使用工具生成ssh key,并将此key导入到IBM Cloud
#ssh-keygen -t rsa -C "root"
#ibmcloud is key-create my-key @/root/.ssh/id_rsa.pub
创建VPC tutorialvpc-pubpriv:
#ibmcloud is vpc-create tutorialvpc-pubpriv
记录输出中的ID信息(格式类似r006-34a55ddf-d1c8-4190-af32-316db22893e2)
创建subnet:
创建VSI:
创建块存储器数据卷:
将块存储器数据卷连接到实例:
创建安全组:
向安全组中添加规则:
维护用途安全组的规则:
切换安全组:
正是借助切换安全组的方法,使原本只连接内网的服务器也可以联网更新软件。 当然,如果安全性要求更高,还是内网Repositories更安全。