![Azure VM 使用的 SQL Azure、加密连接还是虚拟网络?](https://linux22.com/image/700082/Azure%20VM%20%E4%BD%BF%E7%94%A8%E7%9A%84%20SQL%20Azure%E3%80%81%E5%8A%A0%E5%AF%86%E8%BF%9E%E6%8E%A5%E8%BF%98%E6%98%AF%E8%99%9A%E6%8B%9F%E7%BD%91%E7%BB%9C%EF%BC%9F.png)
我们有一台 Azure SQL Server,它将接受来自 Azure 中的四台虚拟机的连接。我的问题是,哪一个更好?
使用受证书保护的加密连接和在公共端口上监听的 Azure SQL?
在私有虚拟网络上使用非加密连接(为了获得更好的性能)?
或者两者兼而有之?我在文档中看到,使用加密连接会影响性能,这是需要考虑的吗?
答案1
如果您在 Azure VM 上使用所有 SQL,即不是将 Azure SQL 数据库作为服务,那么我建议通过私有网络进行所有连接 - 至少到数据库层。
作为另一种安全措施,是的,请注意使用 SQL Always Encrypted,但这确实意味着连接到 SQL Server 的每个客户端都需要将 SSL 证书链安装到其本地证书存储中。这最初等于更多的管理开销。如果您使用 RSA 2048 位长度作为密钥加密的最小值,那么在解密密钥时这不应该成为客户端的瓶颈。但显然 RSA 位长度越大,客户端解密所需的时间就越长。
答案2
使用 ExpressRoute 绝对是最佳选择,但需要花费大量设置开销来确保相关 ISP 支持 ExpressRoute,然后启用 ExpressRoute 线路。但如果您希望所有与 Azure SQL DB 的连接都通过私有路由,则绝对值得考虑。
如果你不太在意这一点,那么可以在客户端和 Azure SQL DB 之间使用 SQL Always Encrypted