C# 如何通过SSH连接到Aurora无服务器MySQL实例
我无法通过EC2隧道找到Aurora MySql数据库 我们有一个Aurora无服务器数据库(MySql)。问题是我不知道如何从我的机器本地连接到db 我尝试将SSH选项添加到C# 如何通过SSH连接到Aurora无服务器MySQL实例,c#,amazon-web-services,.net-core,amazon-rds,amazon-aurora,C#,Amazon Web Services,.net Core,Amazon Rds,Amazon Aurora,我无法通过EC2隧道找到Aurora MySql数据库 我们有一个Aurora无服务器数据库(MySql)。问题是我不知道如何从我的机器本地连接到db 我尝试将SSH选项添加到mysqlstringbuilder,如下所示: MySqlConnectionStringBuilder _connectionBuilder = new MySqlConnectionStringBuilder() { UserID = "admin",
mysqlstring
builder,如下所示:
MySqlConnectionStringBuilder _connectionBuilder = new MySqlConnectionStringBuilder()
{
UserID = "admin",
Server = "RDS endpoint in Aws",
Port = 3306,
SshHostName = "Ip to the Ec2",
SshUserName = "the ec2 user",
SshPort = 22,
SshKeyFile = @"filepath to local .pem file",
Database = "db name",
Password = "db-password"
};
我尝试使用字符串生成器和sshclient,如:
using (var sshClient = new SshClient(_connectionBuilder.SshHostName, 22, _connectionBuilder.SshUserName, new PrivateKeyFile(_connectionBuilder.SshKeyFile)))
{
sshClient.Connect();
// SQL QUERY HERE
sshClient.Disconnect();
}
代码在释放到lambda实例时工作并连接,但在我的本地计算机上不工作
如果我打开CMD窗口并键入:
ssh -N -L 3306:{aws Db endpoint}:3306 -i {path to .pem} {user}@{ip}
并将服务器更改为本地主机。您的数据库可能无法公开访问 PubliclyAccessible指示数据库实例是否为 面向互联网的实例。如果指定true,则为 创建具有可公开解析的DNS名称的实例,该名称 解析为公共IP地址。如果指定false,则为AWS CloudFormation使用DNS名称创建一个内部实例 解析为专用IP地址 创建数据库时,请确保将其设置为可公开访问,并且它位于连接了Internet网关的子网中 还要确保数据库的安全组允许连接到SSH端口(22)和DB tcp端口(3306) 编辑 您无法访问专有网络之外的Aurora服务器: 您不能为Aurora无服务器DB群集提供公共IP地址。您只能从基于Amazon VPC服务的虚拟私有云(VPC)中访问Aurora无服务器DB群集
你可以用这个。你可以找到一个有效的例子 您能够从本地机器通过SSH正常访问机器吗?是的,可以通过在命令窗口中使用SSH命令创建隧道来解决这个问题。你知道这在代码中也可以吗?啊哈,所以要在aws实例之外访问它,我需要将db设置为公共可访问?我认为这会使数据库不安全。但对于发展来说,也许可以?将尝试更改此设置我似乎找不到Aurora Serverless db cluster的此设置。我已阅读了有关AWS Aurora Serverless的文档。它的状态-看我的原始答案-我已经编辑了它。没有,但是通过ssh隧道它可以工作。使用mysql workbench时没有问题。Aurora serverless无法从本地计算机访问。Laimonas我可以通过使用ec2的ssh隧道从本地计算机访问它instance@MarcusLagerstedt您是否尝试创建ForwardedPortDynamic对象并将其添加到客户端,如回答中提供的示例所示?