Я уверен, что это там, но, похоже, не может найти его. В настоящее время у меня есть приложение в.net(WPF С#), которое подключается к 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 без предоставления базы данных в Интернете? Я также не хочу, чтобы VPN-соединение было на клиентах. Я надеюсь, что все, что должно быть изменено, - это фактическое соединение, и никаких изменений в sqlCMD
не потребуется.
Есть ли пример прямого подключения к базе данных RDS без предоставления базы данных в Интернете?
Нет, потому что это невозможно. База данных RDS по самой своей природе - это просто сервер, сидящий в Интернете. Сказав это, однако, вы, конечно, можете настроить ситуацию таким образом, чтобы база данных была защищена и надежно защищена только от вашего приложения.
Когда вы создаете свой экземпляр RDS, вы захотите создать соответствующую группу безопасности для этого экземпляра. Группа безопасности RDS содержит одно или несколько определений CIDR/IP и/или имена существующих групп безопасности EC2. Только узлы, входящие в диапазон IP-адресов или группы безопасности EC2, которые вы определяете, будут иметь доступ к экземпляру RDS. Подумайте о группе безопасности RDS в качестве брандмауэра для разрешения/предотвращения доступа к базе данных. Вы можете легко заблокировать экземпляр RDS, чтобы доступ к нему поддерживал только сервер, на котором работает ваше приложение.
Я не знаком с.net, но вам нужно также убедиться, что вы подключаетесь к базе данных через зашифрованное (SSL) соединение. Комбинация использования SSL и группы безопасности, которая ограничивает доступ к экземпляру RDS, должна обеспечить вам адекватную безопасность.