gpt4 book ai didi

azure - 连接到虚拟机上的 SQL Server 的 Azure Web 角色的连接字符串

转载 作者:行者123 更新时间:2023-12-02 07:37:01 24 4
gpt4 key购买 nike

我使用以下连接字符串将 Azure Web 角色连接到虚拟机上运行的 SQL 实例。运行良好!

<add key="VMConnectionString" value="Server=tcp:<mydomain>.cloudapp.net,1433;Database=myDatabase;User Id=myUserID;Password=**********;" />

我的问题是,我是否应该使用虚拟机的内部 IP 地址(例如 10.1.0.0/16)而不是公共(public) DNS 来减少延迟?我是否需要将 Web 角色和 VM 放在 Azure 中的同一虚拟网络上?我尝试使用门户中所述的虚拟机的内部 IP 地址,但尽管端口 1433 完全开放,但仍无法连接。我应该补充一点,这是没有虚拟网络的。

最佳答案

我现在已经成功地通过首先在 Azure 门户中创建虚拟网络并将新的 VM 部署到该网络来引用运行具有内部 IP 10.0.0.4 的 SQL Server 的虚拟机。

使用 Web 角色,您无法通过门户指定配置时的虚拟网络设置。因此,要将 Web 角色引入网络,您需要在 .cscfg 文件中定义它:

<NetworkConfiguration>
<VirtualNetworkSite name="VirtualNetworkName" />
<AddressAssignments>
<InstanceAddress roleName="MyWebRole">
<Subnets>
<Subnet name="AppSubnet" />
</Subnets>
</InstanceAddress>
</AddressAssignments>
</NetworkConfiguration>

您现在可以在门户中确定 VM SQL Server 的内部 IP,并将其添加到我的应用程序 web.config 中定义的连接字符串中。将您的应用程序发布到 Azure,并且您已正确配置端点并打开防火墙,它应该可以正常工作。

运行一些性能测试后,通过公共(public) DNS 使用内部 IP 可以获得一定的 yield 。我推荐指南connecting web roles to a VM作为一个很好的引用点。

还有一件事。在连接字符串中使用 DNS(例如 myvm.cloudapp.net)时,我无法找到可预测的方法来了解 Web 角色将从哪个 IP 进行调用。因此,很难在虚拟机上打开端口 1433 以仅允许 Web 角色通过。有了内部IP,我刚刚开放了整个子网。

关于azure - 连接到虚拟机上的 SQL Server 的 Azure Web 角色的连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15309237/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com