前言
以前上班时听到一个名词『跳板机』
那时候大概就是理解成有一个 server 放在那转发请求,不过实际上做什么跟怎么搞出来的都不知道
刚好最近有需求,就做了一个 DB 跟跳板机,学到蛮多东西的
公司花每个月100美让工程师可以直接联繫原厂高级工程师聊天的机会真的要好好珍惜XD
本篇会分成几个段落,对于RDS的建置就不多说了
什么是 Bastion Host?比较 AWS VPN、AWS Direct Connect、Bastion Host 三种连线方式的考量EC2 Bastion Host 的建置跟遇到的坑什么是 Bastion Host?
Bastion Host 可以称作跳板机或堡垒主机
主要是利用 SSH Tunnel 连线到 Bastion Host 再转送到 Private Subnet 的主机
这样一来可以保护 Private Subnet 的主机不会有 Public IP 直接连线到 Internet
同时又有办法经过认证连线到 Bastion Host 访问 Private Subnet 的资源
比较 AWS VPN、AWS Direct Connect、Bastion Host 三种连线方式的考量
首先考量安全,当然是使用 VPN 跟 Direct Connect 专用线路连线最安全
但是实际上来说,对 DB 主要的操作就是操控 Schema,要是想做 Dump 的话 AWS 就有办法处理了,想偷资料就只能从 AWS 挖,而且 Bastion 有锁网域,公司还有网路管理,退一百步来说要是可以听到公司的 Port 顶多也是拿到 Schema 也不能做什么,而且 SSH 还是有加密的
接着考量的就是金钱
最贵的就是 Direct Connect > VPN > EC2
尤其是 Direct Connect 挂在那边不动也要付线路的钱,一个月20美...
VPN 根据人头收费的,价格也比 EC2高
EC2的话我选 t4g.nano
在我看到的大部分地区里面也是这个机种最便宜,不过还是依据需求查一下最好
放在东京只要0.0054/1hr,整个月不关也才快4美,超级划算
EC2 Bastion Host 的建置跟遇到的坑
Launch Instances
做跳板机的考量就是要便宜,网路要好
到 EC2 随需定价页面查询你要建置的地区哪个机种最便宜
比较重要的还有锁IP,Security Group 我有锁特定IP才能过
初始化完成后只要选 Connect to Database,或是你自己会调整 SG 跟 Subnet 也行,不过比较麻烦
遇到的大坑,Internet Gateways没设定到
其实也不算坑,因为用自动设定用太爽结果忽略VPC的设置
建置已经都好了,照着教学用 SSH Tunnel 连到 DB 一直显示 Time Out
后来退一步先 SSH 到 Bastion 也是 Time Out
检查了 Public IP / Inbound / Outbound,还是抓不到,只好请教 Support
结果是 RDS 有个 Subnet,EC2也在里面
然后没有把 VPC 的 IGW 设定到 Router Tables,Bastion 才没办法连到 Internet