通过云服务器跳板连接云数据库RDS?

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 购买同一VPC下的云服务器ECS和云数据库RDS后,在RDS不绑定EIP,如何通过本地Navicat、DBever等工具连接?这里,我们采用Nginx做代理,轻松实现本地访问云数据库,节省RDS绑定EIP的费用。

一、实现原理

1.png
2.png

二、安装nginx

参考地址【1】https://www.runoob.com/linux/nginx-install-setup.html
参考地址【2】https://www.cnblogs.com/boonya/p/7907999.html

  • 安转nginx依赖包
yum -y install make gcc-c++ pcre pcre-devel zlib zlib-devel libtool openssl openssl-devel
  • 下载nginx包

下载地址http://nginx.org/download/,注意:选择1.9以上版本,只有1.9以上版本才支持--with-stream

cd /usr/local/src

wget http://nginx.org/download/nginx-1.9.10.tar.gz
  • 解压
tar zxvf nginx-1.9.10.tar.gz
  • 安装nginx,注意:编译时添加参数--with-stream
cd nginx-1.9.10

./configure --with-stream

make & make install
  • 查看安转目录
whereis nginx

image.png

  • 验证是否安装成功
/usr/local/nginx/sbin/nginx -v

image.png

三、配置并启动nginx

设置代理,将连接服务器【117.73.3.71:3306】请求转发到内网数据库【172.31.0.17:3306】。

  • 修改配置文件
stream {
    upstream rdsmysql {
       hash $remote_addr consistent;
       server 172.31.0.17:3306 weight=5 max_fails=3 fail_timeout=30s;
    }

    server {
       listen 3306;#数据库服务器监听端口
       proxy_connect_timeout 10s;
       proxy_timeout 300s;#设置客户端和代理服务之间的超时时间,如果5分钟内没操作将自动断开
       proxy_pass rdsmysql;
    }
}
  • 启动nginx
cd /usr/local/nginx/sbin

./nginx
  • 验证启动是否成功
ps aux|grep nginx

image.png

  • 重新载入配置文件
/usr/local/nginx/sbin/nginx -s reload
  • 查看服务器是否对3306端口监听
netstat -nap|grep 3306

image.png

  • 停止nginx
/usr/local/nginx/sbin/nginx -s stop

四、通过nginx代理连接MySQL

使用本地工具Navicat连接MySQL

848e8113e7487d9817eeefe369b183b.jpg

连接失败原因:ECS服务器本身的防火墙未开放3306端口。注意:ECS的安全组只是针对外网访问做了限制,服务器本身仍然有限制,共两层限制。

  • 添加需要监听的端口
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

b368231f42ce826d21cfe0adfcf7858.png

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
22天前
|
Linux 网络安全 数据安全/隐私保护
SSH工具连接远程服务器或者本地Linux系统
SSH工具连接远程服务器或者本地Linux系统
21 0
|
7天前
|
运维 数据安全/隐私保护
Finalshell 私钥连接服务器
Finalshell 私钥连接服务器
15 0
|
2天前
|
关系型数据库 MySQL Linux
服务器Linux系统配置mysql数据库主从自动备份
这是一个基本的配置主从复制和设置自动备份的指南。具体的配置细节和命令可能因您的环境和需求而有所不同,因此建议在操作前详细阅读MySQL文档和相关资源,并谨慎操作以避免数据丢失或不一致。
11 3
|
4天前
|
Oracle Java 关系型数据库
【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库
【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库
14 6
|
14天前
|
弹性计算 关系型数据库 MySQL
|
18天前
|
监控 Linux 网络安全
Linux服务器如何查询连接服务器的IP
【4月更文挑战第17天】Linux服务器如何查询连接服务器的IP
16 1
|
23天前
|
消息中间件 数据安全/隐私保护
MQTT微消息队列服务器连接报错:Error: Connection refused: Not authorized
使用MQTTX工具进行测试时,通过AccessKey创建了Client ID的用户名和密码。配置了公网接入点及端口1883,但尝试连接时出现错误。已附上工具截图:![](https://ucc.alicdn.com/pic/developer-ecology/3byii5uar64gg_36327474e991439da422f38c450ef153.png)。确认过用户名、密码和Client ID无误,问题仍未解决,期待回复!
|
25天前
|
网络协议 安全 Linux
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
|
26天前
|
安全 网络安全
代理服务器拒绝连接怎么办
代理服务器拒绝连接怎么办
|
28天前
云服务器初次连接宝塔,连接不上
云服务器初次连接宝塔,连接不上
16 0