【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 访问客户端,这种连接是单向的。
相关推荐
编码者卢布2 天前
【Azure 环境】获取Azure上资源的创建时间createdTime信息(ARM REST API版本)
microsoft·azure
编码者卢布3 天前
【Azure Developer】azd 安装最新版无法登录中国区问题二:本地Windows环境遇问题
microsoft·flask·azure
编码者卢布4 天前
【Azure Developer】中国区Azure环境中查看用户账号是否可用(accountEnabled)的操作步骤
microsoft·flask·azure
编码者卢布4 天前
【Azure APIM】如何实现对经过APIM并到达后端服务请求的全链路追踪呢?
python·flask·azure
编码者卢布4 天前
【Azure Stream Analytic】用 JavaScript UDF 解决 JSON 字段被转成 Record 的关键点
javascript·json·azure
编码者卢布4 天前
【Azure App Service】部署在应用服务上的WebJob中,为何会多出一个名为“DaaS“的 WebJob呢?
microsoft·azure
發糞塗牆7 天前
【Azure 架构师学习笔记】 - Azure AI(3)-数据工程在AI系统中的设计(ADF+ADLS)
人工智能·azure
宝桥南山9 天前
Power Platform - 恢复Developer environment
microsoft·微软·azure·rpa
NineData10 天前
NineData 新增支持 Azure SQL Database > PolarDB PostgreSQL
数据库·sql·azure·数据库管理工具·ninedata·数据库迁移·数据库迁移工具
考證寶題庫網11 天前
Designing and Implementing a Microsoft Azure AI Solution 微軟Azure AI-102 認證全攻略
人工智能·microsoft·azure