详细解读Azure Private endpoint作用及配置

今天来带各位一起解读下Azure中private endpoint这个服务的作用,以及使用方式,private endpoint是在设计Azure架构以及组网时必不可少的一项服务,我们都知道微软有很多PaaS服务,微软的PaaS服务其实和其他云的多少有点区别,其他云的PaaS服务,很多其实可以直接部署到客户云上的虚拟网络中,但是微软的PaaS服务一部分是可以部署在虚拟网络中的,比如说HDInsight,或者SQL MI,但是还有一些PaaS服务没办法部署到虚拟网络里,像是Storage, Azure SQL等等

所以在以前设计一些安全架构的时候,碰到这种PaaS产品就比较头疼,因为这种一般都是需要通过service endpoint来将流量限制到只能在某一个虚拟网络的范围内,但是一旦需要考虑跨账号,跨订阅的情况,这种方案基本就不能做了

private endpoint的出现很大程度上缓解了这种问题,按照官网的话讲

Azure 专用终结点是一个网络接口,可以将你通过专用且安全的方式连接到 Azure 专用链接支持的服务。 专用终结点使用 虚拟网络中的专用 IP 地址将服务有效地引入 虚拟网络中。 服务可以是 Azure 存储、Azure Cosmos DB、SQL 等 Azure 服务,也可以是你自己的专用链接服务。

https://docs.microsoft.com/zh-cn/azure/private-link/private-endpoint-overview?WT.mc_id=AZ-MVP-5001235

也就是说使用private endpoint,你可以以一种很私密的方式来访问Azure的PaaS服务,所有流量也将会保留在Azure数据中心内部,不需要担心暴露在Internet上,当然也能够满足大公司的安全合规要求,而且这种方式也不需要考虑是否在同一个订阅,租户内,下边就来演示下一个跨租户的访问场景:

首先介绍下实验环境

Azure账号两个

Storage account属于账户A region East US

虚拟网络属于账户B region Korea Central

现在想要在账户B建立一个private endpoint,以私密方式访问账户A的storage account,属于跨region同时跨tenant,也就是说账户B的虚拟网络里的VM,访问账户A的storage account

首先在账户B里创建private endpoint,首先找到private link服务,选择private endpoint,在private endpoint里选择add

详细解读Azure Private endpoint作用及配置

这里要选好region,这个region是指的虚拟网络的region,而非storage account的

详细解读Azure Private endpoint作用及配置

因为我们要连接的资源不在同一个目录下,所以需要使用resource id连接

详细解读Azure Private endpoint作用及配置


ResourceID直接在storage account的property里就能找到

详细解读Azure Private endpoint作用及配置


输入进去之后需要提供subresource,因为storage account里也会分blob, table, file等多种资源,所以private endpoint需要能精确到具体访问哪个服务,这里直接输入Blob

可以输入的Subresource需要在这里找

private-endpoint-overview

接下来就需要选择要连接的虚拟网络了,注意这里因为没办法集成private DNS Zone,所以之后一定要手动配置DNS记录,正常DNS记录会由private DNS Zone自动配置

详细解读Azure Private endpoint作用及配置

直接创建即可

详细解读Azure Private endpoint作用及配置


本质上其实private endpoint会在需要连接PaaS服务的虚拟网络里创建一个网卡,这个网卡会被分配一个私网IP,这个IP也就是我们以后需要访问PaaS服务时用到的IP,可以理解成它就是我们要连接的PaaS服务

详细解读Azure Private endpoint作用及配置

因为是跨tenant的,账户B也没权限操作storage account,所以没办法自动approve,需要在账户A下手动approve这个private endpoint的请求
详细解读Azure Private endpoint作用及配置


接下来我们到PLTEST这个虚拟网络的一个虚机中,ping下storage account的url,可以看到还是一个公网IP

详细解读Azure Private endpoint作用及配置

这是因为我们之前没办法集成private DNS Zone,所以只能手动修改DNS配置

详细解读Azure Private endpoint作用及配置


接下来我们尝试用storage SAS 在虚拟网络里访问下blob

Wget ‘https://deststoragemxy.blob.core.windows.net/test/bash.txt?sp=r&st=2020-10-29T05:20:48Z&se=2020-10-29T13:22:48Z&spr=https&sv=2019-12-12&sr=b&sig=Szev0Kz7W%2BUlTDnd%2BFabz%2Fs7rfNROH2pW7adisMmeoc%3D’ -O bash.txt

 可以看到连接的地址已经是私网地址,而且可以顺利访问到Blob

详细解读Azure Private endpoint作用及配置











上一篇:配置 containerd 镜像仓库完全攻略


下一篇:容器网络(六)跨主机网络概述【43】