Azure Lei Zhang的博客

weibo: LeiZhang的微博/QQ: 185165016/QQ群:319036205/邮箱:leizhang1984@outlook.com/TeL:139-161-22926

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  489 随笔 :: 0 文章 :: 417 评论 :: 70万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

  《Windows Azure Platform 系列文章目录

 

  我们在使用Azure PaaS服务的时候,经常会发现这些PaaS提供的是公网的DNS地址,且无法限制客户端对这些PaaS DNS地址的访问。所以我们只能通过虚拟机的方式来搭建自己的Azure公有云部署,通过把虚拟机都加入到虚拟网络中,通过虚拟网络的内网IP地址互相访问。而不是采用PaaS服务。 

  后来微软云Azure做了功能的改进,允许我们限制对PaaS DNS的访问。我们现在有两种方式来进行限制,分别是

  1.Service Endpoint,服务终结点

  2.Private Link

  这2个服务看起来非常类似,主要解决的问题都是:限制了谁可以链接到Azure的服务。

  

  笔者将分别介绍这2种服务,我们首先从Service Endpoint开始。

  Service Endpoint,笔者比较喜欢叫做VNet Integration。这是微软云Azure提供的比较早的服务。服务终结点允许您将对 PaaS 资源的访问权限限制为来自 Azure 虚拟网络(Virtual Network)的流量。

  使用Service Endpoint的时候,PaaS服务并不加入到Virtual Network中。而是通过安全隧道的方式,源地址的流量离开Virtual Network,通过Azure 主干网,访问到Azure PaaS服务。

  并且PaaS服务配置可以识别出,源地址的流量来自于Virtual Network,并允许访问。所以不需要在Azure PaaS服务上配置IP白名单。

 

  在举个更详细的例子:

  场景:1台Azure VM加入到Virtual Network里,该VM没有公网IP,想访问到Azure PaaS SQL Database,应该如何配置?

 

场景 解决方案 VM访问需要的IP 缺点

场景一:

如果采用PaaS的IP白名单

1.在Azure VM上分配公网IP地址

2.在Azure PaaS SQL Database上,把Azure VM的公网IP地址加入到访问的白名单里

虚拟机的公网IP Azure VM需要额外分配IP地址,增加安全隐患

场景二:

如果采用Service Endpoint

1.不需要在Azure VM上分配公网IP地址

2.把Azure PaaS SQL Database加入到VM所在的Virtual Network里,信任一个或者多个subnet发来的流量

虚拟机的内网IP  

 

   总体架构图如下:

  

 

  Service Endpoint通过在虚拟网络Virtual Network上启用subnet或subnet来支持Service Endpoint来设置。设置完毕后,你可以将PaaS资源配置为仅接受来自这些子网的流量。无需执行任何IP 白名单或者NAT。你告诉Azure PaaS资源,哪个VNet或者子网允许流量。启用Service Endpoint后,PaaS资源会看到来自VNet专用IP的流量,而部署来自其公网IP的流量。

  使用Service Endpoint的另一个优点是:流量以最佳方式路由到 Azure 资源。即使您的 subnet上有 UDR 将 Internet 流量路由回本地或通过防火墙设备,使用Servcie Endpoint也意味着流量会直接发送到 Azure 资源。

  以下服务支持Servcie Endpoint

  • Azure Storage
  • Azure SQL 数据库
  • Azure SQL 数据仓库
  • PostgreSQL 的 Azure 数据库
  • MySQL 和 MariaDB 的 Azure 数据库
  • Azure Cosmos DB
  • Azure KeyVault
  • Azure Service Bus
  • Azure 事件中心
  • Azure 数据湖存储(仅第 1 代)
  • Azure 应用服务
  • Azure 容器注册表

  服务终结点确实存在一些限制或缺点。首先,请记住,服务终结点(Service Endpoint)的流量离开虚拟网络,并且 Azure PaaS 资源仍在其公共地址上访问。服务终结点不能由来自本地的流量(通过 VPN 或快速路由)使用,只能用于来自 Azure 虚拟网络的流量。如果要允许,则需要访问本地资源,以便将公共 IP 列入白名单。

 

posted on   Lei Zhang的博客  阅读(893)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2016-10-26 Azure PowerShell (12) 通过Azure PowerShell创建SSH登录的Linux VM
点击右上角即可分享
微信分享提示