【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 访问客户端,这种连接是单向的。
相关推荐
Leinwin4 天前
Azure语音服务(国际版)系列升级,解锁语音交互新体验
microsoft·azure
安得权5 天前
Azure Dataverse 权限设计学习
学习·flask·azure
EllenShen1236 天前
如何利用ADF(Azure Data Factory)完成CDP任务流
azure
EllenShen1237 天前
服务器检测databricks job的运行状态封装
运维·azure
安得权12 天前
Azure DevOps 学习概况总结
学习·azure·devops
Azure DevOps17 天前
Azure DevOps Server 正式版本发布
运维·microsoft·azure·devops
Channing Lewis19 天前
vault分生产和dev吗?也就是说是否支持在一个azure app中创建vault,但是分为生产和dev,而不是为生产和dev分别创建一个app
microsoft·azure
切糕师学AI22 天前
Azure RTOS ThreadX 简介
microsoft·嵌入式·azure·rtos
开开心心_Every1 个月前
Word转PDF工具,免费生成图片型文档
网络·笔记·pdf·word·powerpoint·excel·azure
Leinwin1 个月前
Azure NCv6 现已开放公共预览
microsoft·azure