我敢肯定这是在那里,但似乎找不到它。目前,我在.net(WPF C#)中有一个可以像这样连接到MS SQL的应用程序;
string ConString = "Data Source=myDNS,1433;Initial Catalog=myDataBase;User Id=sa;Password=amazingpassword;";
string sqlCMD = "select * from myTable"
DataTable dt = new DataTable();
using (SqlConnection con = new SqlConnection(ConString))
{
SqlCommand cmd = new SqlCommand(sqlCMD, con);
SqlDataAdapter da = new SqlDataAdapter();
try
{
con.Open();
cmd = new SqlCommand(sqlCMD, con);
da.SelectCommand = cmd;
da.Fill(dt);
con.Close();
}
catch (Exception x)
{
/// <summary>
/// Amazing error code
/// </summary>
}
finally
{
cmd.Dispose();
con.Close();
}
}
正在考虑将数据库托管移至Amazon RDS。我希望数据库是私有的,因此只能通过应用程序进行连接。是否有一个直接连接到RDS数据库而不使数据库暴露于Internet的示例?我也不想在客户端上建立VPN连接。我希望所有需要更改的都是实际的连接,而无需更改sqlCMD
。
是否有一个直接连接到RDS数据库而不将数据库暴露给Internet的示例?
不可以,因为不可能。从本质上讲,RDS数据库只是位于互联网上的服务器。话虽这么说,但是您当然可以通过以下方式设置事物:仅通过应用程序保护和安全访问数据库。
创建RDS实例时,您将要为该实例创建一个关联的安全组。一个RDS安全组包含一个或多个CIDR / IP的定义和/或现有的EC2安全组的名称。只有属于您定义的IP地址范围或EC2安全组的主机才能访问RDS实例。将RDS安全组视为允许/阻止对数据库访问的防火墙。您可以轻松锁定RDS实例,以便只有运行您的应用程序的服务器可以访问它。
我对.net不熟悉,但是您还应该做的另一件事是确保您通过加密(SSL)连接连接到数据库。使用SSL和限制对RDS实例的访问的安全组的组合应为您提供足够的安全性。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句