【发布时间】:2020-01-23 05:05:19
【问题描述】:
我无法通过 EC2 隧道找到 Aurora MySql Db。
我们有一个 Aurora 无服务器数据库 (MySql)。问题是我不知道如何从我的机器本地连接到数据库。
我尝试将 SSH 选项添加到 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}
并将服务器更改为 localhost。
【问题讨论】:
-
你能从本地机器通过SSH正常访问机器吗?
-
是的,通过在命令窗口中使用 ssh 命令创建隧道来解决它。知道这是否可以在代码中实现吗?
标签: c# amazon-web-services .net-core amazon-rds amazon-aurora