从不同的路由器连接到AWS上的RDS

时间:2018-10-08 04:02:48

标签: c# mysql amazon-web-services relational-database

这里的新手,

我正在尝试将数据发送到AWS上的RDS。当我尝试从我的住所和附近的一所大专院校连接到数据库时,该程序便能够读取和写入MySQL数据库。当我在办公室或附近的大学中使用互联网时,无法连接...有什么想法吗?我尝试更改端口号,但似乎没有任何影响...

    public int verifyPassword(string employeeName, string password)
    {
        string connStr = "server=endpointonAWS ;user=username;database=DB;port=2001;password=pswrd";
        MySqlConnection conn = new MySqlConnection(connStr);
        try
        {
            Console.WriteLine("Connecting to MySQL...");
            conn.Open();
            Console.WriteLine("Connection Successful");


            string sql = "INSERT INTO DB.employeeVerification (employeeName, password ) VALUES ('" + employeeName + "','" + password + "')";

            MySqlCommand cmd = new MySqlCommand(sql, conn);
            cmd.ExecuteNonQuery();
            Console.WriteLine("Data Transfer Successful");
        }
        catch (Exception ex)
        {

            Console.WriteLine(ex.ToString());
        }

1 个答案:

答案 0 :(得分:1)

如果您可以从某些位置而不是其他位置进行连接,那么问题几乎可以肯定不在您的代码中,而是在网络中的某个地方。

我可以想到3个主要候选人:

  1. DNS查找失败。检查是否可以在失败的位置将主机名解析为正确的IP地址。

  2. 出站筛选本地防火墙。一些企业和大学明确禁止非标准端口上的出站连接。如果不是HTTP或HTTPS,那么您可能会遇到问题。

  3. AWS上的入站防火墙。

在3个DNS中,DNS最容易诊断,而出站筛选可能最难克服,因为如果您不属于网络管理团队,则可能无法访问防火墙规则。

您可以通过将HTTP Web服务放在目标计算机上的端口443上并尝试连接来测试出站防火墙块。如果它适用于HTTPS而不适用于其他端口,则可以合理地假设存在防火墙。