您应该为 VNET 专用终结点的每个 Azure 资源(CosmosDB、KeyVault、存储)创建多个子网还是只使用一个?

Should you create multiple subnets for each Azure resource (CosmosDB, KeyVault, Storage) for VNET Private Endpoints or only use one?

我正在尝试按照有关如何关闭 VNET 背后的数据库、存储帐户和 KeyVault 等资源的教程进行操作。 None 教程介绍了您应该如何为多个资源创建子网。从我看到的文档中,他们只是为功能创建了一个子网,而不是为资源创建了一个子网。但是从我读到的一篇博客中,他们为 KeyVault 创建了一个子网。所以我不太确定在这里做什么。

现在我有几个 Web 应用程序,一个需要连接到 KeyVault 的函数应用程序、存储帐户、CosmosDB 和一个搜索服务。我的计划是为以下对象创建一个子网:

这是要走的路吗?还是我只为功能创建一个?我读到这些需要有自己的子网。感谢您的帮助!

我在我的环境中进行了同样的测试。

我在同一区域创建了两个 Web 应用、一个函数应用、存储帐户和密钥保管库

我创建了一个包含三个子网的虚拟网络。

我将 Web 应用程序和函数应用程序与 VNET 集成集成到我创建的虚拟网络的两个不同子网(Web 应用程序的子网 1 和函数应用程序的子网 2)。

我为函数应用程序和 Web 应用程序创建了单独的子网,因为子网已委托给该特定服务。

VNET 集成用于从 Web 应用程序或函数应用程序安全地连接到虚拟网络中的资源。

我在我创建的虚拟网络的同一子网 (subnet3) 中为存储帐户和密钥保管库创建了专用终结点。

我们可以为不同的专用端点使用相同的子网。此外,我们可以为每个专用端点创建单独的子网

我能够从 Web 应用程序和函数应用程序连接到存储帐户和密钥保管库

因此在您的情况下,您可以为 Web 应用程序、函数应用程序创建单独的子网,以便它们可以与 VNET 集成。

您可以为 Key Vault 和存储帐户等资源的所有专用终结点创建另一个子网,以便可以通过虚拟网络和专用终结点从 Web 应用程序和函数应用程序安全地访问它们

有关私有端点的更多信息,您可以参考:Azure virtual network service endpoints | Microsoft Docs