【Azure 架构师学习笔记】- Azure Private Endpoint

本文属于【Azure 架构师学习笔记】系列。

前言

公有云的其中一个特点是默认允许公网访问, 这就对企业环境带来风险,也是很多年前企业对公有云抵触的其中一个原因,现在这类问题已经很少,因为有了很多技术来确保云上的资源被安全地访问。其中Private endpoint(PE)就起到了很重要的作用。

什么是Private Endpoint

云上的某个资源如VM会创建在特定的网络(VNet/Subnet)上, 而其他如Storage Account , Azure SQL等PaaS服务则没有。 如果你需要用VM 来访问这些PaaS资源,VM 就会通过资源的公网IP 来访问。

一旦涉及公网访问,风险随之而来。为了避免这种风险,可以把这些PaaS资源放到VNet的Private Endpoint中。所以PE是建立在VNet之上网络接口。建立PE 之后,网络流量就会从公网IP 转成使用VNet进行。

PE会在VNet的可用地址区间中动态选择private IP并附加给PE,然后在PE的生命周期中保持IP 地址的一致。

PE 例子

假设有一个VNet,使用IP 地址范围为10.10.0.0/16。 在这个VNet中,有两个subnet, A :10.10.5.0/24 和 B:0.10.6.0/24。在A 中有多个VM。有一个Storage account启用了private endpoint, 这个PE 在Subnet B中。

在Subnet A 中的VM 要访问Storage Account时也可以通过PE的IP 地址访问,因为PE 是建立在VNet中,A, B 均属于同一个VNet。 如果不在这个VNet中的资源,如果配置了如配对VNet(Peered VNet) 或者VPN、Express Route(ER)等,也可以直接使用PE 的地址来访问。

对于绝大部分资源,PE都可以在资源本身创建和管理,这一点不像SE


也可以在network interface上创建,这是一个独立的资源,和SE中的SE policy类似。

虽然从下图可以看到Private IP 地址是动态的,但是在这个资源被删除前,一旦创建则不会变化。

DNS

在没有PE 前,使用的是公开可用的endpoint,这种endpoint使用internet-resolvale domain name,不需要管理DNS 命名。但是当使用PE 之后则需要DNS服务来做内部解析。

有两种方式可以操作,第一种是在现有DNS 中创建一个forwarder。PE 一ing包含了资源的FQDN和private IP, 需要创建一个A record用于为客户端解决FQDN 到private IP 地址的解析问题。

第二种方式使用Azure 的private DNS zones。它在VNet中进行域名解析,不需要定制DNS。

小结

  1. 由于PE 建立在VNet上,所以它带有VNet的一些天然的属性,比如限定在同一个region(区域)和Subscription 中。如果需要跨region或subscription, 则要做VNet Peering。
  2. PE 建立之后,客户端可以通过PE 访问资源,但是资源不能通过PE 访问客户端,这种连接是单向的。
相关推荐
Leinwin10 小时前
微软与Anthropic深化战略合作,在Azure Foundry平台部署Claude系列AI模型
人工智能·microsoft·azure
Elastic 中国社区官方博客2 天前
Elasticsearch:Microsoft Azure AI Foundry Agent Service 中用于提供可靠信息和编排的上下文引擎
大数据·人工智能·elasticsearch·microsoft·搜索引擎·全文检索·azure
2501_939508644 天前
Python中lambda函数与def函数的区别及应用场景
azure
r***d8656 天前
云存储服务选型:S3 vs Azure Blob
microsoft·azure
Leinwin9 天前
Azure Storage Discovery(国际版)正式发布
microsoft·azure
EllenShen12312 天前
(Azure)PGSQL和redis 连通性测试 --code 备份
redis·postgresql·azure
HelloRevit14 天前
快速入门 - Azure 数字孪生的 3D 场景工作室(预览版)入门
3d·flask·azure
HelloRevit15 天前
快速入门 - 开始使用 Azure Digital Twins Explorer 中的示例场景
microsoft·flask·azure
城南花开时15 天前
DevOps工具链对比,Azure 和 TikLab哪款更好用?
azure·devops·tiklab
宝桥南山16 天前
Microsoft Fabric - 试一下在前端应用中使用 GraphQL API去连接Lakehouse
microsoft·reactjs·azure·fabric·graphql·db