从 Azure 网站访问文件共享
Accessing file share from Azure Website
我们有一个由三个主要部分组成的网络应用程序:
- Web 服务器运行ASP.NET4.5 网站;
- 数据库服务器托管SQL Server 2012;
- 托管后台使用的一些遗留应用程序的另一台服务器;
各部分关系如下:
Web 应用程序在 App Pool Identity 设置为名为 Foo 的本地用户的情况下运行,并使用 Entity Framework;
[= 使用数据库50=]
旧版应用程序使用数据库并定期将文件系统中的数据更改导出为 XML 文件,文件夹共享给本地用户 Foo(本地用户与 Web 服务器上的密码相同)使用 Windows 文件共享功能;
Web 应用程序监控文件共享以获取新数据并导入所有更改(如果有);
现在我们想将此应用程序迁移到 Azure。不幸的是,我们必须为 SQL 服务器使用 VM,因为我们的遗留应用程序数据库使用 Azure SQL 上不可用的文件流功能。此外,我们需要另一个 VM 用于遗留应用程序。
目前我得到了以下结果:
在 Azure 上创建了一个新的虚拟网络;
创建了一个新的 Azure 网站并使用点到站点 VPN 连接将其连接到 VNET;
为 SQL 服务器和旧版应用程序创建了 2 个 VM,并将两者都连接到 VNET,将网络标记为专用网络,禁用了防火墙;
除一件事外一切正常 - 网站无法访问位于旧版应用程序 VM 上的文件共享。我尝试启用共享给所有人,但无济于事。
那么,我的问题是:是否可以从 Azure 网站访问文件共享?如果没有,我有什么选择?
我知道我们可以为网站启动另一个虚拟机,然后我就没有问题了,但我想使用 Azure 网站来优化成本并利用所有 Azure 好东西。
在编写 Azure 文件服务时,SMB 共享只能从 VM、Web 和 Worker 角色访问。您可以使用存储 REST.API 或客户端库从 Azure 网站或本地访问您的文件。您可以从 nuget 获取。
Install-Package WindowsAzure.Storage
我完成了将使用文件的 Web 应用程序移动到 Azure 的相同练习。
Example of what I did.
我们有一个由三个主要部分组成的网络应用程序:
- Web 服务器运行ASP.NET4.5 网站;
- 数据库服务器托管SQL Server 2012;
- 托管后台使用的一些遗留应用程序的另一台服务器;
各部分关系如下:
Web 应用程序在 App Pool Identity 设置为名为 Foo 的本地用户的情况下运行,并使用 Entity Framework;
[= 使用数据库50=]旧版应用程序使用数据库并定期将文件系统中的数据更改导出为 XML 文件,文件夹共享给本地用户 Foo(本地用户与 Web 服务器上的密码相同)使用 Windows 文件共享功能;
Web 应用程序监控文件共享以获取新数据并导入所有更改(如果有);
现在我们想将此应用程序迁移到 Azure。不幸的是,我们必须为 SQL 服务器使用 VM,因为我们的遗留应用程序数据库使用 Azure SQL 上不可用的文件流功能。此外,我们需要另一个 VM 用于遗留应用程序。
目前我得到了以下结果:
在 Azure 上创建了一个新的虚拟网络;
创建了一个新的 Azure 网站并使用点到站点 VPN 连接将其连接到 VNET;
为 SQL 服务器和旧版应用程序创建了 2 个 VM,并将两者都连接到 VNET,将网络标记为专用网络,禁用了防火墙;
除一件事外一切正常 - 网站无法访问位于旧版应用程序 VM 上的文件共享。我尝试启用共享给所有人,但无济于事。
那么,我的问题是:是否可以从 Azure 网站访问文件共享?如果没有,我有什么选择?
我知道我们可以为网站启动另一个虚拟机,然后我就没有问题了,但我想使用 Azure 网站来优化成本并利用所有 Azure 好东西。
在编写 Azure 文件服务时,SMB 共享只能从 VM、Web 和 Worker 角色访问。您可以使用存储 REST.API 或客户端库从 Azure 网站或本地访问您的文件。您可以从 nuget 获取。
Install-Package WindowsAzure.Storage
我完成了将使用文件的 Web 应用程序移动到 Azure 的相同练习。 Example of what I did.