虚拟网络(VNet)服务端点通过直接连接将虚拟网络私有地址空间和VNet身份扩展到Azure服务。端点允许您将关键的Azure服务资源仅保护到您的虚拟网络。从VNet到Azure服务的流量始终保持在Microsoft Azure主干网上。
该特性可用于以下Azure服务和区域,您还可以找到Microsoft。*在为您的服务配置服务端点时需要从子网端启用的资源:
一般可用
- Azure Storage (Microsoft.Storage): Generally available in all Azure regions.
- Azure SQL Database (Microsoft.Sql): Generally available in all Azure regions.
- Azure SQL Data Warehouse (Microsoft.Sql): Generally available in all Azure regions.
- Azure Database for PostgreSQL server (Microsoft.Sql): Generally available in Azure regions where database service is available.
- Azure Database for MySQL server (Microsoft.Sql): Generally available in Azure regions where database service is available.
- Azure Database for MariaDB (Microsoft.Sql): Generally available in Azure regions where database service is available.
- Azure Cosmos DB (Microsoft.AzureCosmosDB): Generally available in all Azure regions.
- Azure Key Vault (Microsoft.KeyVault): Generally available in all Azure regions.
- Azure Service Bus (Microsoft.ServiceBus): Generally available in all Azure regions.
- Azure Event Hubs (Microsoft.EventHub): Generally available in all Azure regions.
- Azure Data Lake Store Gen 1 (Microsoft.AzureActiveDirectory): Generally available in all Azure regions where ADLS Gen1 is available.
- Azure App Service: Generally available in all Azure regions where App service is available
公共预览
- Azure容器注册表(Microsoft.ContainerRegistry):在Azure容器注册表可用的所有Azure区域中提供预览。
对于最新的通知,请查看Azure虚拟网络更新页面。
关键好处
服务端点提供以下好处:
- Azure服务资源的安全性改进:VNet私有地址空间可能会重叠,因此不能用于惟一地标识来自VNet的流量。通过将VNet标识扩展到服务,服务端点提供了将Azure服务资源保护到虚拟网络的能力。一旦在虚拟网络中启用了服务端点,就可以通过向资源中添加虚拟网络规则来保护Azure服务资源。通过完全取消对资源的公共Internet访问,只允许来自虚拟网络的流量,从而提高了安全性。
- 从您的虚拟网络对Azure服务流量进行最优路由:今天,虚拟网络中迫使Internet流量到您的场所和/或虚拟设备的任何路由(称为强制隧道)也会迫使Azure服务流量采取与Internet流量相同的路由。服务端点为Azure流量提供最佳路由。
- 端点总是将服务流量直接从您的虚拟网络带到Microsoft Azure主干网上的服务。在Azure主干网上保持流量允许您通过强制隧道继续审计和监视来自虚拟网络的出站Internet流量,而不会影响服务流量。了解有关用户定义路由和强制隧道的更多信息。
- 设置起来很简单,管理开销更少:您不再需要在虚拟网络中保留公共IP地址来通过IP防火墙保护Azure资源。不需要NAT或网关设备来设置服务端点。通过简单地单击子网来配置服务端点。维护端点没有额外的开销。
限制
- 该特性仅对通过Azure资源管理器部署模型部署的虚拟网络可用。
- 在Azure虚拟网络中配置的子网上启用了端点。端点不能用于从您的场所到Azure服务的流量。有关更多信息,请参见从本地保护Azure服务访问
- 对于Azure SQL,服务端点只适用于虚拟网络区域内的Azure服务流量。对于Azure存储,为了支持RA-GRS和GRS流量,端点还扩展到包含部署虚拟网络的成对区域。了解更多关于Azure配对区域…
- 对于ADLS Gen 1, VNet集成功能仅适用于同一区域内的虚拟网络。还请注意,用于Azure Data Lake Storage Gen1的虚拟网络集成利用虚拟网络服务端点安全性(virtual network service endpoint security)在您的虚拟网络和Azure Active Directory (Azure AD)之间生成额外的安全声明。然后使用这些声明来验证您的虚拟网络到您的数据湖存储Gen1帐户并允许访问。“微软。列出在服务支持服务端点下的AzureActiveDirectory标签仅用于支持ADLS第1代的服务端点。Azure Active Directory (Azure AD)本身并不支持服务端点。了解更多关于Azure数据湖存储Gen 1 VNet集成的信息。
保护Azure服务到虚拟网络
- 虚拟网络服务端点向Azure服务提供虚拟网络的标识。一旦在虚拟网络中启用了服务端点,就可以通过向资源中添加虚拟网络规则来保护Azure服务资源。
- 今天,来自虚拟网络的Azure服务流量使用公共IP地址作为源IP地址。对于服务端点,服务流量交换器在从虚拟网络访问Azure服务时使用虚拟网络专用地址作为源IP地址。此开关允许您访问服务,而不需要在IP防火墙中使用保留的公共IP地址。
请注意
对于服务端点,子网中虚拟机的源IP地址用于服务流量从使用公共IPv4地址切换到使用私有IPv4地址。使用Azure公共IP地址的现有Azure服务防火墙规则将停止使用这个开关。在设置服务端点之前,请确保Azure服务防火墙规则允许这种切换。在配置服务端点时,此子网的服务流量可能会暂时中断。
确保Azure服务从本地访问:
默认情况下,受虚拟网络保护的Azure服务资源不能从本地网络访问。如果你想要允许本地流量,你还必须允许公共(通常是NAT) IP地址从你的本地或ExpressRoute。这些IP地址可以通过Azure服务资源的IP防火墙配置来添加。
ExpressRoute:如果你从你的办公地点使用ExpressRoute,为了公用或微软对等,你需要识别使用的NAT IP地址。对于公用对等网络,当数据流进入微软Azure网络主干网时,每个ExpressRoute线路默认使用两个应用于Azure服务流量的NAT IP地址。对于Microsoft,使用的NAT IP地址要么是客户提供的,要么是由服务提供商提供的。要允许访问您的服务资源,您必须在资源IP防火墙设置中允许这些公共IP地址。要查找您的公共对等ExpressRoute线路的IP地址,请通过Azure门户与ExpressRoute一起打开一个支持票据。了解更多关于ExpressRoute公共和微软窥视NAT。
配置
- 服务端点是在虚拟网络中的子网上配置的。端点可以处理在子网中运行的任何类型的计算实例。
- 您可以在子网上为所有受支持的Azure服务(例如,Azure存储或Azure SQL数据库)配置多个服务端点。
- 对于Azure SQL数据库,虚拟网络必须与Azure服务资源位于同一区域。如果使用GRS和RA-GRS Azure存储帐户,主帐户必须与虚拟网络位于同一区域。对于所有其他服务,Azure服务资源可以被保护到任何区域的虚拟网络。
- 配置端点的虚拟网络可以与Azure服务资源处于相同或不同的订阅中。有关设置端点和保护Azure服务所需的权限的更多信息,请参见配置。
- 对于受支持的服务,可以使用服务端点将新资源或现有资源保护到虚拟网络。
注意事项
- 启用服务端点后,子网中虚拟机的源IP地址在与子网中的服务通信时,从使用公共IPv4地址切换到使用它们的私有IPv4地址。在此切换期间,到服务的任何现有的打开的TCP连接都将关闭。确保在为子网启用或禁用服务端点时不运行任何关键任务。另外,确保您的应用程序可以在IP地址切换后自动连接到Azure服务。
- IP地址交换只影响来自虚拟网络的服务流量。不会对分配给虚拟机的公共IPv4地址的任何其他流量产生影响。对于Azure服务,如果您有使用Azure公共IP地址的现有防火墙规则,那么这些规则将停止与切换到虚拟网络专用地址有关的工作。
- 对于服务端点,Azure服务的DNS条目保持原样,并继续解析分配给Azure服务的公共IP地址。
- 具有服务端点的网络安全组(NSGs):
- 默认情况下,NSGs允许出站Internet流量,因此,也允许从VNet到Azure服务的流量。对于服务端点,这将继续按原样工作。
- 如果您想要拒绝所有的出站Internet流量并只允许特定Azure服务的流量,那么您可以使用NSGs中的服务标记来做到这一点。您可以在NSG规则中指定受支持的Azure服务作为目标,并且Azure提供了对每个标记下的IP地址的维护。有关更多信息,请参见用于NSGs的Azure服务标记。
场景
- 查看、连接或多个虚拟网络:为了将Azure服务保护到虚拟网络内或跨多个虚拟网络中的多个子网,您可以独立地在每个子网上启用服务端点,并将Azure服务资源保护到所有子网。
- 过滤从虚拟网络到Azure服务的出站流量:如果希望检查或过滤从虚拟网络发送到Azure服务的流量,可以在虚拟网络中部署网络虚拟设备。然后,您可以将服务端点应用到部署网络虚拟设备的子网,并将Azure服务资源仅保护到这个子网。如果您希望使用网络虚拟设备过滤将Azure服务访问从您的虚拟网络限制到特定的Azure资源,那么这个场景可能会有所帮助。有关更多信息,请参见网络虚拟设备出口。
- 将Azure资源保护到直接部署到虚拟网络中的服务:各种Azure服务可以直接部署到虚拟网络中的特定子网中。通过在托管服务子网上设置服务端点,可以将Azure服务资源保护到托管服务子网。
- 来自Azure虚拟机的磁盘流量:对于托管/非托管磁盘,虚拟机磁盘流量(包括挂载和卸载、diskIO)不受Azure存储的服务端点路由更改的影响。您可以通过服务端点和Azure存储网络规则来限制REST对页面blob的访问来选择网络。
日志和故障排除
一旦将服务端点配置为特定的服务,通过以下步骤验证服务端点路由是否有效:
- 在服务诊断中验证任何服务请求的源IP地址。所有带有服务端点的新请求都将请求的源IP地址显示为虚拟网络私有IP地址,分配给从您的虚拟网络发出请求的客户机。如果没有端点,地址就是Azure公共IP地址。
- 查看子网中任何网络接口上的有效路由。服务路线:
- 显示更具体的默认路由,以地址每个服务的前缀范围
- 是否有下一个类型的VirtualNetworkServiceEndpoint
- 表示与任何强制的隧道路由相比,到服务的更直接的连接是有效的
请注意
服务端点路由覆盖Azure服务的地址前缀匹配的任何BGP或UDR路由。了解有关使用有效路径进行故障排除的更多信息
供应
对虚拟网络具有写访问权限的用户可以在虚拟网络上独立地配置服务端点。要将Azure服务资源保护到VNet,用户必须拥有Microsoft的权限。网络/虚拟网络/子网/joinViaServiceEndpoint/行动的子网正在添加。默认情况下,此权限包含在内置的服务管理员角色中,可以通过创建自定义角色进行修改。
了解有关内置角色的更多信息,并为自定义角色分配特定的权限。
虚拟网络和Azure服务资源可以在相同或不同的订阅中。如果虚拟网络和Azure服务资源处于不同的订阅中,那么这些资源必须位于相同的Active Directory (AD)租户下。
价格和限制
使用服务端点不需要额外的费用。Azure服务(Azure存储、Azure SQL数据库等)当前的定价模型与今天一样适用。
虚拟网络中的服务端点总数没有限制。
某些Azure服务,比如Azure存储帐户,可能会对用于保护资源的子网的数量施加限制。有关详细信息,请参阅后续步骤中的各种服务的文档。
虚拟网络服务端点策略
虚拟网络服务端点策略允许您过滤虚拟网络流量到Azure服务,只允许特定的Azure服务资源通过服务端点。服务端点策略为Azure服务的虚拟网络流量提供粒度访问控制。更多信息:虚拟网络服务端点策略
原文:https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-service-endpoints-overview
本文:https://pub.intelligentx.net/azure-virtual-network-service-endpoints
讨论:请加入知识星球【首席架构师圈】或者飞聊小组【首席架构师智库】
最新内容
- 1 hour ago
- 1 week 2 days ago
- 1 week 2 days ago
- 1 week 2 days ago
- 1 week 2 days ago
- 1 week 2 days ago
- 2 weeks 1 day ago
- 2 weeks 1 day ago
- 2 weeks 4 days ago
- 2 weeks 4 days ago