Строка подключения в файле App.config для подключения к EC2 SQL Server 2008 R2 с локального компьютера - PullRequest
2 голосов
/ 27 января 2012

Мой код все еще находится в разработке, поэтому, когда я запускаю его, он находится на моем локальном компьютере, но база данных, которую я использую, находится на экземпляре в EC2. У меня проблемы с подключением к базе данных. Я не уверен, каким должно быть имя сервера. Кто-нибудь знает, как подключиться к SQL-серверу в EC2 или как настроить строку подключения в файле App.config.

<connectionStrings>
<add name ="ConnectionString"
     connectionString="server=000.000.000.000\EC2SQLEXPRESS;UID=UserID;PWD=xxxxxxxxxx;database=DBName"/>

Ответы [ 2 ]

3 голосов
/ 27 января 2012

Чтобы получить доступ к БД из EC2, вам нужно использовать ее публичное DNS-имя. Вы можете найти это на странице сведений об экземпляре.

Имейте в виду, что если вы остановите экземпляр и перезапустите его, публичное DNS-имя изменится. Таким образом, вам действительно следует использовать Elastic IP, связать его с вашим экземпляром и иметь обычное общедоступное DNS-имя, которое указывает на эластичный IP. Таким образом, вам не придется изменять информацию о конфигурации, если вам нужно остановить экземпляр.

Кроме того, вам необходимо убедиться, что в группе безопасности, в которой находится сервер базы данных, открыт нужный порт. Для SQL-сервера стандартным портом является 1433.


К вашему сведению - обычно считается плохой практикой прямой доступ к серверу базы данных в Интернете. Вместо этого у вас должен быть как минимум слой веб-сервисов между вами и базой данных, который предоставляет ТОЛЬКО необходимую вам функциональность.

Однако, если это невозможно, то как минимум вам следует перенести SQL-сервер на другой порт и выставить его в настройках своей группы безопасности. На самом деле это не повышает вашу безопасность (это просто заслоняет порт), однако большинство скриптовых атак направлены только на стандартные порты SQL-сервера, такие как 1433. Таким образом, это поможет уменьшить количество атак, которые вы увидите.

0 голосов
/ 28 января 2012

Возможно, вы не включили доступ через брандмауэр AWS.Вот хорошее руководство по устранению неполадок: https://serverfault.com/questions/165952/connecting-to-mssql-on-ec2-from-local

...