AWS攻略——子网

现实场景中,我们希望一些服务器不可以被外网SSH登录上去,但是可以通过某一台跳板机登录。这样只用加固这台跳板机的安全性,就可以在一定程度上保障整个集群的安全。
在AWS场景下,我们一般使用子网去做IP地址段的分割,然后限制子网的访问性来达到这样的目的。
回顾下《AWS攻略——使用ACL限制访问》,其架构通过主ACL或者子网ACL来实现安全访问。
在这里插入图片描述
如果我们不用子网,也可以直接使用复杂的ACL规则来达成。但是这就要求EC2实例不能新增,因为新增的EC2会在子网IP/CIDR下自动分配一个IP,而该IP不能指定。已编辑好的ACL不能预先知道IP的存在,于是就需要再次编辑ACL来满足新机器的情况。
举个例子:假如目前只有两台机器,一台是100.0.0.10,一台是100.0.0.11。我们规定100.0.0.10这台机器可以被外网访问,而100.0.0.11不能,则可以配置两条规则。如果后续新增一台100.0.0.121的机器,则需要在ACL中再新增一条针对其的记录。这样的设计是非常不友好的,而通过子网划分就可以很好解决这个问题。因为EC2创建过程中要选择子网,这样就可以通过子网的IP/CIDR将规则一次性写好。
我们删除掉《AWS攻略——创建VPC》创建的子网和机器,以及《AWS攻略——使用ACL限制访问》中创建的ACL。设计两个子网来满足上述需求。

分配子网

子网创建页面,选择VPC后,按下图分配两个子网。
在这里插入图片描述
名字为test-vpc-private的子网IP/CIDR是100.0.0.0/25,地址长度是2(32-25)=128,即100.0.0.0~100.0.0.127。于是名字为test-vpc-public的子网只能从100.0.0.128开始分配,为了填满VPC,其长度是2(32-24)-2(32-25)=2(32-25)=128,于是它的IP/CIDR是100.0.0.0128/25。

给Public子网分配互联网网关

创建互联网网关

在这里插入图片描述

附加到VPC

在这里插入图片描述

给Public子网创建路由表

路由表创建页面
在这里插入图片描述

关联子网

在这里插入图片描述

打通Public子网和互联网网关

在上述路由表中配置
在这里插入图片描述

创建Public子网下的EC2进行测试

如下图,我们将机器分配在test-vpc-public子网下,并选用之前博文中创建的密钥对,以便后续测试。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

配置Private子网路由

给Private子网创建路由表

在这里插入图片描述

附加在Private子网

在这里插入图片描述

创建Private子网下的EC2进行测试

创建实例

我们将该实例放在test-vpc-private子网中。
在这里插入图片描述
在这里插入图片描述
注意需要选择“密钥对”。
我们没有给其分配共有IP,于是它的共有IPv4地址是没有的。这样这台实例就不能通过外网ssh上去了。但是其终极原因是它处在Private子网里。
在这里插入图片描述
我们也可以给其开启“自动分配共有IP”,让其有一个出口IP。
在这里插入图片描述
但是由于其所在Private子网没有将互联网网关配置到路由上,导致其不能在外部通过ssh登录。

在跳板机上配置“密钥对”文件

在test-vpc-public-instance实例上新建一个pem文件,然后将“密钥对”文件内容粘贴进去。
通过chmod 400 your.pem文件来修改文件权限。

连接测试

执行 ssh -i “your.pem” ec2-user@your-private-instance-ip来测试登录
在这里插入图片描述

知识点

Public subnet(共有子网) 和 Private subnet(私有子网)区别在于Public Subnet的路由配置了连接互联网的网关。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/wujiesunlirong/article/details/134791408
AWS
今日推荐