通过本地计算机上的应用程序访问驻留在AWS上的SQL Server

时间:2018-02-06 10:53:16

标签: sql-server amazon-web-services

我在AWS上托管了SQL Server 208 R2。我可以在没有VPN的本地计算机上通过我的Web应用程序访问该SQL服务器吗?

我们需要在web.config中提供什么连接字符串。所以我不需要在我的本地机器上安装SQL服务器。

我可以运行并测试我的应用程序,而无需在本地计算机上安装SQL Server。

2 个答案:

答案 0 :(得分:0)

如果您的SQL Server可公开访问,那么您只需直接连接即可。但是,将数据库服务器直接暴露给互联网是一种不好的做法,所以不要这样做。

如果您的SQL Server 可公开访问,则可以通过SSH隧道连接到它。您将启动可公开访问的EC2实例,将其安全组限制为允许来自本地IP地址的SSH,然后使用本地计算机上的SSH通过SSH隧道端口转发到SQL Server。然后,您可以将数据库客户端连接到计算机上的本地端口,然后通过SSH隧道将其转发到SQL Server。这是example

SQL Server还必须允许来自EC2实例的入站连接。

答案 1 :(得分:0)

假设它是在端口443上侦听的默认SQL Server实例,并且您的EC2实例具有公共IP地址,您可以执行以下操作:

  1. 允许从本地计算机公共IP通过端口443访问您的EC2实例。
  2. 配置Windows防火墙以允许通过端口443
  3. 进行访问
  4. 确保为SQL Server实例启用了TCP / IP协议
  5. 在连接字符串中使用数据source=<the public ip address of your E2 instance>
  6. 要从本地计算机公共IP通过端口443启用对EC2实例的访问,请执行以下操作:

    1. 转到AWS管理控制台。
    2. 转到EC2服务。
    3. 单击“运行实例”
    4. 单击运行SQL Server的EC2实例
    5. 单击“描述”选项卡上列出的其中一个安全组。
    6. 单击“入站”选项卡。
    7. 点击“编辑”按钮
    8. 点击添加规则按钮
    9. 在“类型”下拉列表中选择“自定义TCP规则”。
    10. 在Port Range上输入443。
    11. 在源下拉列表中选择我的IP。
    12. 在说明文本框中输入“来自我的本地IP的SQL Server”。
    13. 您的公共IP地址可能会随着时间的推移而发生变化,因此您可能需要在发生这种情况时更新源代码。

      要将Windows防火墙配置为允许通过端口443进行访问,请打开与EC2实例的RDP会话,并使用具有高级安全性的Windows防火墙工具并添加规则。

      要确保为SQL Server实例启用TCP / IP协议,请执行以下操作:

      1. 打开与EC2实例的远程桌面会话。
      2. 打开SQL Server配置管理器。
      3. 展开SQL Server网络配置
      4. 点击
      5. 的协议
      6. 如果未启用,则启用TCP / IP协议。
      7. 希望有所帮助