我在 AWS 中设置了一个 Web 服务器和数据库服务器,如下图所示
AWS 图表 网络服务器:
- 操作系统:Windows Server 2012 R2
- 托管的应用程序:.NET 3.5 框架中的 VB.NET 应用程序
- Web 服务器:MS IIS 8.5
数据库服务器:
- 操作系统:Oracle Linux 7.4
- 数据库:Oracle 12c Release 1
AWS相关规范:
- Web 服务器和数据库服务器位于不同的 VPC 中,但托管在同一个根账户中
- 数据库服务器与弹性IP相关联;由于这个弹性IP,数据库可以从公共网络访问
- 在数据库服务器中,TCP 端口 1521 已打开,可通过公网 telnet 访问
- 从 Web 服务器,我们可以通过 sqlplus 或 oracle sql developer 访问数据库服务器
- 我已将 IIS 配置为使用本地 Web 服务器帐户运行
问题:
- 当我从 IIS 服务器运行应用程序时,它说无法访问数据库
问题: 我已经在谷歌上搜索过这个问题,我推测导致这个问题的主要因素有几个
- 由于 IIS 配置了本地帐户,因此可能无法访问数据库帐户
请帮助我摆脱这个问题,我知道应用程序架构太糟糕了,这是我的开发环境,而且我对这个 AWS 还不熟悉。
谢谢你的时间
答案1
您的数据库不应位于公共子网上。如果出于任何原因,它们需要位于不同的 VPC 中,您应该将这些 VPC 对等并将数据库移动到私有子网。如果按照当前设置的方式设置数据库连接,则公共互联网上可能会出现延迟。如果您想要更好的网络性能,我会将数据库移动到两个设置之一并重新测试对等 VPC 或相同的 vpc。