腾讯云+阿里云聚石塔 RDS+ Archery平台访问
腾讯云+阿里云聚石塔 RDS+ Archery平台访问
阿里云聚石塔使用kaas的平台,分配内网IP,无法直接外接到SQL审核平台,这里通过腾讯云+隧道+VPN方式实现,实现架构如下:
原理
通过VPN先将阿里云和腾讯云内网打通,再通过本地端口转发搭建一条隧道,将数据库端口映射到腾讯云服务器,sql平台访问腾讯云的公网IP:port即可实现将阿里云聚石塔内网数据库接到外网sql审核平台。
腾讯云 VPN
IPSec VPN,
VPN协议全称Virtual Private Network,是一条利用公网传输虚拟专用网络通道。
IPSec是一个构建于IP层的协议组,常常用于对VPN进行安全加密。
IPSec协议组包含:
- AH(Authentication Header): 用于标识数据包的数据来源以及提供签名,保证数据包未被修改,但是不加密数据包,所以并不能隐藏数据。 - ESP (Encapsulating Security Protocol ):ESP会在外层IP头上标识,并对TCP Payload部分进行加密,同时提供ESP摘要签名的功能。
- Security Association (SA): SA用于协商密钥交换算法(IKE, Internet Key Exchange),
比如DH算法(Diffie-Hellman):- 通信双端通过互相交换约定的质数,各自生成一对公私钥
- 在交换各自生成的公钥之后以各自持有的对端公钥 + 自己的私钥 + 各自公开的质数对,生成一个相同的对称密钥。
- 这样就在不传输各自私钥的前提下计算出了对称加密所需的密钥。
- 之后的通信中就可以使用对称加密的方式对数据进行加密。
使用场景
带入实际业务场景中,IPSec无论在运作层次与内网数据安全敏感程度上都符合使用要求。
相比NAT网关其专注粒度更精细,很适合在混合云部署分布有业务侧重的场景中,其实施成本也相对较低,所以选择该方案来落地混合云间的安全通信。
SSH隧道建立--本地端口转发
知识点:
本地端口转发和远程端口转发
请求映射到本地8084端口,通过8.8.8.168跳转【和RDS同网段】,间接访问RDS的10.0.9.9:3306
此处使用计划任务+本地端口转发 实现:
# crontab -l * */4 * * * kill -9 $(ps -ef |grep 8084 |grep -v grep |awk '{print $2}') ; ssh -CfNg -L 8084:10.0.9.9:3306 8.8.8.168 #本地测试连接 #mysql -u USER -h 127.0.0.1 -P 8084 -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 7701161
Server version: 5.7.14-AliSQL-X-Cluster-1.5.1.8-20201229-log Source distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MySQL [(none)]>
报错"ERROR 2002 (HY000): Can't connect to local MySQL"
#不指定IP会报错 # mysql -u USER -P8084 -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
sql平台配置
10.0.9.9:3306
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)