当前位置: 首页 > news >正文

AWS攻略——子网

文章目录

  • 分配子网
  • 给Public子网分配互联网网关
    • 创建互联网网关
      • 附加到VPC
    • 给Public子网创建路由表
      • 关联子网
    • 打通Public子网和互联网网关
  • 创建Public子网下的EC2进行测试
  • 配置Private子网路由
    • 给Private子网创建路由表
    • 附加在Private子网
  • 创建Private子网下的EC2进行测试
    • 创建实例
    • 在跳板机上配置“密钥对”文件
    • 连接测试
  • 知识点

现实场景中,我们希望一些服务器不可以被外网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的路由配置了连接互联网的网关。
在这里插入图片描述

http://www.lryc.cn/news/10623.html

相关文章:

  • java面试 - mq
  • PTP GPTP芯片资料翻译88E6352
  • 用Python实现一个电影订票系统
  • 什么是瞪铃企业
  • 【深度学习】多分类问题和多标签分类问题
  • 大学生开学买什么,返校必备数码好物推荐
  • Unreal Engine06:Actor的实现
  • 2023美国大学生数学建模竞赛C题思路解析(含代码+数据可视化)
  • aws codebuild 自定义构建环境和本地构建
  • 3年功能3年自动化,从8k到23k的学习过程
  • leaflet: 数据聚合,显示当前bounds区域中的点的名称列表(078)
  • XXL-JOB分布式任务调度框架(一)-基础入门
  • 基于CentOS 7 搭建Redis 7集群
  • Lesson5.3---Python 之 NumPy 统计函数、数据类型和文件操作
  • Puppeteer 爬虫学习
  • 如何在Power Virtual Agents中实现身份验证
  • 金三银四必备软件测试必问面试题
  • Java反序列化漏洞——CommonsCollections6链分析
  • Selenium浏览器自动化测试框架
  • Hashmap链表长度大于8真的会变成红黑树吗?
  • 关于接地:数字地、模拟地、信号地、交流地、直流地、屏蔽地、浮地
  • 排序
  • Android DataStore Proto存储接入流程详解与使用
  • HiEV洞察 | 卖一台亏半台,激光雷达第一股禾赛隐忧仍在
  • 面试题61. 扑克牌中的顺子
  • 有特别有创意的网站设计案例
  • Python基础-数据类型之列表
  • Linux系统基本设置:网络设置(三种界面网络地址配置)
  • MySQL(二):查询性能分析
  • Java基础-类加载器