经历了漫长的迭代,终于需要重新创建AWS VPC的时候了。现有的VPC在我入职前就已经存在,虽然取名标示私有子网,但是却附加了互联网网关, 完全丧失了意义,主要原因便是开发需要连接到“私有子网”的数据库。现在的我当然知道ELB,ssh隧道都可以转发解决🥴。现在由于想要为生产Kubernetes,规划的一个VPC,因此就开始了回顾VPC。
创建一个VPC,面临一个决策,VPC内的子网划分,是否有必要划分public或private 子网。组里的同事,认为无需再划分private区域了。通过我们现有的安全组规划,就可以实现隔离。并且开发同事总有需要连接到private subnet里资源的时候,比如之前的private 区域的RDS,最终还是添加了互联网网关。我权衡再三,决定还是将子网划分出两个网段,理由如下:
a. Public 与Private 子网。public子网充当DMZ区,作为面向互联网外部访问的网段,常常用于架设网页服务器,ELB均衡器。而private 意味是内部安全资源,仅仅允许内部访问。
b. 如果不划分Private子网,意味所有主机访问互联网,都需要添加一个公有IP,或者弹性IP。ipv4毕竟是有限资源,而且弹性IP本来就有limit,每次超过限制,都需要申请。
c. private子网内的资源,未来需要被访问,需要额外的负载均衡器。
AWS 的VPC Best Practice的架构图,非常有借鉴意义。设计时候,要考虑现有的办公网段,毕竟未来随时有可能在新的region创建VPC
创建NAT GATEWAY
两种方式: 1. 自己用EC2搭建 2. 采用托管的NAT GATEWAY。健壮性考虑,我们选用了第二种。
设置private 子网的路由策略。