使用MySQL Workbench通过EC2实例连接到Amazon RDS实例

iam*_*mbo 26 mysql ssh amazon-web-services amazon-rds amazon-vpc

在AWS中,我设置了一个带有堡垒主机的VPC.堡垒主机是一个具有公共地址槽的EC2实例,您可以通过该SSH连接到VPC上的任何其他服务器.

我在VPC中创建了一个RDS MySQL实例,我想使用MySQL workbench连接到它.我已按照此处详述的步骤操作,但在"步骤6:设置远程SSH配置"中,它要求我"提供Amazon EC2实例的公共DNS"(即堡垒主机).

然后,MySQL工作台会检查该服务器上的某些MySQL资源.但是,在我看来这是不正确的,因为我提供了堡垒主机的地址,它没有安装MySQL.结果,最后两次检查"检查启动/停止命令的位置"和"检查MySQL配置文件"然后失败.

然后我尝试使用RDS MySQL实例的端点地址,但没有成功(因为它在私有子网中,因此不能公开寻址).

似乎很多人都有这个并且正在运行,但我在这里做错了什么?

And*_*ley 36

几周以来,我一直在努力寻找类似的东西.几分钟前就搞清楚了.

  1. 在mysql workbench中,创建一个新的服务器实例.
  2. 对于远程主机地址,输入您的端点地址(即xxxxxx.us-east-1.rds.amazonaws.com)
  3. 对于连接方法,选择"SSH上的标准TCP/IP"
  4. SSH主机名是EC2实例的公共DNS
  5. 我指定了ec2-user(我认为它因EC2实例类型而异)作为用户名,然后指定了与实例正在使用的密钥对相对应的下载密钥文件.
  6. mysql主机名是RDS实例的端点.
  7. 用户名是RDS实例的用户名(即ebroot)

使用它我能够连接.但是,我没有在我的设置中使用VPC.希望这可以帮助.祝好运!

  • 不幸的是(实际上幸运的是)我不再需要处理这个问题,我不想花钱在 RDS 上检查它。但如果有人能告诉我这是有效的,我会接受答案。感谢您的回复@AndrewSmiley。 (2认同)

joh*_*ohn 12

由于您使用的是VPC,因此应该如何配置它以便仅接受来自子网的连接:

  1. 选择数据库实例使用的VPC安全组
  2. 添加新规则以允许来自您的私有子网的所有ips在端口3306上

    例如:规则INBOUND 3306(MYSQL)172.33.11.0/24

  3. 使用mysql workbench tcp/ssh它会工作(按照AndrewSmiley的回答).

  • 使用我的ec2私有子网/ 32不起作用,但我的ec2私有子网/ 24做了.我在文档中没有看到这个,但我是新手.谢谢! (2认同)

小智 5

我建议使用SSH隧道:

  1. 创建puttion会话到堡垒主机
  2. 在Connection - > SSH - > Tunnels下,指定Source port:3306,Destination:yourRDSendpointname:3306
  3. 别忘了点击添加!
  4. 使用这些设置连接到堡垒主机
  5. 在MySQL工作台中添加一个新连接并将其指向您的localhost端口3306(假设您没有在本地客户端计算机上运行3306上的任何内容)
  6. 输入您的RDS实例的用户名和密码