网络ACL(NACL)
网络访问控制列表(NACL)与安全组(Security Group)类似,它能在子网的层面控制所有入站和出站的流量,为VPC提供更加安全的保障。
知识点
- 在你的默认VPC内会有一个默认的网络ACL(NACL),它会允许所有入向和出向的流量
- 你可以创建一个自定义的网络ACL,在创建之初所有的入向和出向的流量都会被拒绝,除非进行手动更改
- 对于所有VPC内的子网,每一个子网都需要关联一个网络ACL。如果没有关联任何网络ACL,那么子网会关联默认的网络ACL
- 一个网络ACL可以关联多个子网,但一个子网只能关联一个网络ACL
- 网络ACL包含了一系列(允许或拒绝)的规则,网络ACL会按顺序执行,一旦匹配就结束,不会再继续往下匹配
- 网络ACL有入向和出向的规则,每一条规则都可以配置允许或者拒绝
- 网络ACL是无状态的(安全组是有状态的)
- 被允许的入向流量的响应流量必须被精准的出向规则所允许(反之亦然)
- 一般至少需要允许临时端口(TCP 1024-65535)
- 关于临时端口的知识,可以参见这里
创建一个HTTP Server
NACL规则编辑
安全组
什么是NAT
NAT的全程是“Network Address Translation”,中文解释是“网络地址转换”,它可以让整个机构只使用一个公有的IP地址出现在Internet上。
NAT是一种把内部私有地址(192.168.1.x,10.x.x.x等)转换为Internet公有地址的协议,它一定程度上解决了公网地址不足的问题。
NAT实例(NAT Instance)
- 创建NAT实例之后,一定要关闭源/目标检查(Source/Destination Check)
- NAT实例需要创建在公有子网内
- 私有子网需要创建一条默认路由(0.0.0.0/0),指到NAT实例
- NAT实例的瓶颈在于实例的大小,如果遇到了网络吞吐瓶颈,你可以加大实例类型
- 需要自己创建弹性伸缩组(Auto Scaling Group),自定义脚本来达到NAT实例的高可用(比如部署在多个可用区)
- 需要关联一个安全组(Security Group)
可见NAT Instance的高可用(用ASG)、性能等都很重要。有机会部署一个 NAT Instance Auto Scaling Group玩玩!
NAT网关(NAT Gateway)
- 网络吞吐可以达到10Gbps
- 不需要为NAT的操作系统和程序打补丁
- 不需要关联安全组
- 自动分配一个公网IP地址(EIP)
- 私有子网需要创建一条默认路由(0.0.0.0/0)到NAT网关
- 不需要更改源/目标检查(Source/Destination Check)
注意:NAT网关按照时间和流量收费,免费套餐不包含,记得及时删除,以免产生不必要的费用。
注意:Elastic IP Addresses 没有被使用时要收费,如不使用,记得及时删除,以免产生不必要的费用。
堡垒机
堡垒机(Bastion Host)又叫做跳板机(Jump Box),主要用于运维人员远程登陆服务器的集中管理。运维人员首先登陆到这台堡垒机(公网),然后再通过堡垒机管理位于内网的所有服务器。
堡垒机可以对运维人员的操作行为进行控制和审计,同时可以结合Token等技术达到更加安全的效果。