首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >连接到mysql内部的ec2

问连接到mysql内部的ec2
EN

Server Fault用户
提问于 2010-07-15 21:04:42
回答 4查看 3.7K关注 0票数 0

我有一个db服务器db.example.com CNAME到它的外部ec2域ec2-some-ip.aws.com

我有一个客户端ec2-another-ip.aws.com试图连接到我的db.example.com。我授予特权:

grant all privileges on *.* to 'some_user'@'ec2-another-ip.aws.com';

在客户端尝试:

mysql -u some_user -h db.example.com

只得到:

代码语言:javascript
复制
ERROR 1130 (00000): Host 'my-client-internal-mac.compute-1.internal' is not allowed to connect to this MySQL server

因此,它显然将其外部域映射到internet域。那么,我如何使mysql允许我的客户在下面的限制。

注意:我不能使用内部ip,因为所有这些服务器都是根挂载的,而且我一直在启动/停止它们,因此内部ip会发生变化,但是每次我将其旋转时映射一个外部弹性ip,因此它的外部ip总是相同的

。

EN

回答 4

Server Fault用户

回答已采纳

发布于 2010-07-19 17:18:09

简单的方法是授予对someuser@%的访问权限,这意味着“来自任何主机的用户”。这降低了安全性,但它可能足够好,取决于您的设置。

特别是,如果您的EC2安全设置不允许在端口3306上进行公共访问,这应该是可以的。EC2防火墙只允许从您的帐户启动的计算机访问。

票数 0
EN

Server Fault用户

发布于 2010-11-30 19:06:46

ec2防火墙通过/拒绝的具体情况取决于安全组的设置。希望默认安全组被配置为拒绝来自不属于同一安全组的任何计算机(ec2或internet)的所有通信量。无论如何,如果您不太关心在这里寻找一个很好的解释,那么很容易错误地将ec2 mysql db打开到所有的internet上。

我也在努力解决同样的问题: ec2 mysql客户端通过其私有ip连接到ec2 mysql服务器。即使您将弹性ip分配给mysql客户端,也于事无补,因为通信是通过私有ip完成的,每次重新启动时都会更改。也许可以强迫mysql客户端通过其公共ip接口进行连接。这似乎是可能的,但在另一方面,这可能是昂贵的,因为通过公共ips在ec2的通信是付费的!

因此,目前,我的db帐户可以从internet上的任何主机(某某用户@%)访问,并且安全性委托给ip/安全组访问层。

票数 0
EN

Server Fault用户

发布于 2011-08-18 21:25:28

我对将安全性“委托给ip/安全组访问层”感到有点不舒服。实际上,我不知道这到底是什么意思。

此外,我不认为开放通配符mysql授权是个好主意,除非我的目标是被黑客攻击。

IMHO最安全的方法是使用弹性is和MySQL授权表中的is硬编码(哎哟,但这是最好的方法)。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/160913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档