aws aurora mysql serverless:如何从mysql工作台连接

qaxu7uf2  于 2021-06-23  发布在  Mysql
关注(0)|答案(9)|浏览(913)

我试图在我的项目中使用aws aurora serverless for mysql,但是我无法连接到它,尽管我有端点、用户名和密码。
我所做的:
在aws控制台管理中,我选择rds>instances>aurora>serverless
保留默认设置
创建数据库
aws将只创建一个aws群集

我打开mysql工作台,使用端点、用户名、密码连接数据库
结果:
您尝试将用户“admin”从主机连接到服务器xx.cluster-defg1234.eu-west-1.rds.amazonaws失败。com:3306:无法连接到'xx.cluster-defg1234.eu-west-1.rds.amazonaws.com'上的mysql服务器(60)
我有没有走错步?请告诉我。

编辑

我尝试创建另一个容量类型为provisioned的aurora数据库。我可以通过mysql workbench使用用户名和密码无缝连接到端点。这意味着端口3306已为workbench打开。
关于安全组:

nnt7mjpx

nnt7mjpx1#

我猜你的安全组没有正确设置访问权限。您需要显式地允许在该端口上对该示例进行远程访问。
根据官方文件:
导致新db示例连接失败的两个常见原因是:
db示例是使用安全组创建的,该安全组不授权来自运行mysql应用程序或实用程序的设备或amazon ec2示例的连接。如果数据库示例是在专有网络中创建的,那么它必须有一个专有网络安全组来授权连接。如果db示例是在vpc外部创建的,则必须有一个db安全组来授权连接。
db示例是使用默认端口3306创建的,您的公司有防火墙规则阻止从公司网络中的设备连接到该端口。要修复此故障,请使用其他端口重新创建示例。
有关更多信息,请参见此处:
https://docs.aws.amazon.com/amazonrds/latest/userguide/user_connecttoinstance.html

vxqlmq5t

vxqlmq5t2#

用于连接到aurora serverless的数据api和查询编辑器现在可以在更多的地区使用。
https://aws.amazon.com/about-aws/whats-new/2020/05/amazon-rds-data-api-and-query-editor-available-additional-regions/

9q78igpj

9q78igpj3#

连接到aurora无服务器db集群的一种方法是使用amazonec2示例。您不能在预览中创建可公开访问的aurora serverless db集群。此任务将引导您在专有网络中创建一个可公开访问的amazonec2示例。您可以使用这个amazonec2示例连接到aurora无服务器db集群。
这是直接从预览注册时提供的文件。请尝试在mysql工作台或sqlui中创建一个ec2示例并使用ssh隧道方法。在预览期间,不允许将aurora serverless设置为公共可访问。

erhoui1w

erhoui1w4#

aurora serverless没有公共端点可以从任何ide(如mysql workbench、sequel pro等)进行连接,但我们可以通过cli在aurora serverless所在的同一vpc中启动一个示例进行连接。
此外,您还可以 checkout cloud9和aws云ide。这反过来只是ec2,但也将有ui,可以与团队和一堆其他特性共享。

2vuwiymt

2vuwiymt5#

您应该使用一个可以访问dbinstance的ec2示例。
这个ec2示例应该为ssh打开端口22。
现在使用端口转发从本地到ec2到db示例。
现在在工作台上给出主机名127.0.0.1和端口号 <forwarded port> .

44u64gxh

44u64gxh6#

从https://docs.aws.amazon.com/amazonrds/latest/userguide/aurora-serverless.html :
你不能给aurora无服务器db集群一个公共ip地址。
您只能从基于amazonvpc服务的虚拟私有云(vpc)中访问aurora无服务器db集群。
您不能通过aws vpn连接或跨区域vpc对等连接访问aurora无服务器db群集的端点。通过区域内vpc对等连接访问集群的端点有限制;有关更多信息,请参阅《amazon vpc用户指南》中的interface vpc endpoints(aws privatelink)。但是,您可以通过aws直接连接访问aurora无服务器集群的端点。
因此,除了通过ec2示例进行ssh访问外,还可以使用mysql workbench和aws direct connect访问无服务器集群。

vptzau2j

vptzau2j7#

这可以通过haproxy实现
在centos上安装haproxy->yum安装haproxy
删除此文件/etc/haproxy/haproxy.cfg中的现有配置并添加以下行(确保在以下配置中替换rds端点url)
全局用户haproxy组haproxy
默认重试2超时连接3000超时服务器5000超时客户端5000
监听mysql cluster bind 0.0.0:3307 mode tcp server mysql-1 test.cluster-crkxsds.us-west-2.rds.amazonaws。com:3306
修改文件后,启动haproxy->service haproxy start
您可以使用端口号为3307的公共ip连接mysql workbench中的aurora rds

km0tfn4u

km0tfn4u8#

最初,我在连接aws-rds-aurora时遇到了同样的问题
无法连接公共,您需要一个与创建aurora的区域相同的ec2示例。
aurora公共访问应该被选中否(它为我工作)。
您需要创建安全组,在其中添加入站和出站规则(ec2示例的ipaddress)。
例如:type=mysql/aurora,protocol=tcp,portrange=3306,source=custom和您的ip地址范围,
将示例和安全组修改到示例并立即应用更改。
在创建aurora时,u将创建要连接的mastername、pwd和默认模式。
创建完成后,进入集群并获取集群端点,使用ec2示例和mysql workbench登录,主机名作为集群端点,用户名和pwd在创建aurora数据库时输入。

lsmepo6l

lsmepo6l9#

客户用于连接专有网络专用服务(如aurora serverless、amazon neptune、amazon docdb等)的常见模式是使用中间层(ec2示例或alb等),并使中间层可以从专有网络外部访问。如果您的用例只是尝试一些查询或连接一个工作台,那么最简单的方法是:
解析无服务器数据库的dns并获取其ip
在vpc中创建一个alb,并将目标组添加到在#1中找到的ip
创建一个新的安全组并将其附加到alb
更新sg以允许从任何您想要的地方入站。如果您想要公共互联网接入,那么允许从所有IP入站,在vpc中启用互联网网关,并为alb使用公共子网。
一旦所有这些都完成了,你就会有一个新的dns-指向你的alb。确保您的alb设置正确:
使用telnet连接到alb端点。 telnet alb-endpoint alb-port . 如果成功了,那么您就有了一个完整的端到端连接(不是jsut到您的alb,而是一路连接)。
验证alb指标以确保所有运行状况检查都通过。
完成后,使用workbench中的alb端点,就可以开始了。
此模式仅建议用于非生产系统。相关步骤是将dns解析为ip的步骤—ip是短暂的,当在后台进行大规模计算或故障转移时,它可能会发生变化。
希望这有帮助,让我知道如果你需要任何步骤的更多细节。以下是海王星的相关答案:
从本地机器连接到aws上的neptune

相关问题