Azure Endpoint 解析

发布时间:2020-08-05 22:16:19 作者:mxy00000
来源:网络 阅读:1594

今天来讨论下Azure虚拟网络中的endpoint功能,虚拟网络是什么相信已经有很多博客有过一些介绍了,对于云比较了解的同学应该不需要再介绍了,各家云厂商对于虚拟网络的叫法虽然不一样,但是本质上都是一个东西,AWS和Ali叫VPC,Azure则叫Virtual Network


Azure 虚拟网络允许许多类型的 Azure 资源(例如 Azure 虚拟机 (VM))以安全方式彼此通信、与 Internet 通信,以及与本地网络通信。一个虚拟网络局限于一个区域;但是,可以使用虚拟网络对等互连将不同区域的多个虚拟网络连接起来。


Azure 资源可以采用下述某种方式安全地相互通信:


可组合使用以下任何选项将本地计算机和网络连接到虚拟网络:



以上是关于Azure虚拟网络的一些基本介绍,注意到在Azure资源之间通信的方法中,有一种是通过一个叫做endpoint的东西,那么什么是这个endpoint,今天来介绍一下


首先来看下endpoint的一些介绍

虚拟网络 (VNet) 服务终结点可通过直接连接将 VNet 的虚拟网络专用地址空间和标识扩展到 Azure 服务。 使用终结点可以保护关键的 Azure 服务资源,只允许在客户自己的虚拟网络中对其进行访问。 从 VNet 发往 Azure 服务的流量始终保留在 Microsoft Azure 主干网络中


目前支持endpoint的服务主要有以下这些

Azure 存储:在所有 Azure 区域正式发布。

Azure SQL 数据库:在所有 Azure 区域正式发布。

Azure SQL 数据仓库:在所有 Azure 区域正式发布。

Azure Database for PostgreSQL 服务器:在可以使用数据库服务的 Azure 区域中通常可用。

Azure Database for MySQL 服务器:在可以使用数据库服务的 Azure 区域中通常可用。

Azure Cosmos DB:在所有 Azure 公有云区域正式发布。

Azure Key Vault:在所有 Azure 公有云区域正式发布。

Azure 服务总线:在所有 Azure 公有云区域正式发布。

Azure 事件中心:在所有 Azure 公有云区域正式发布。


那么Endpoint有什么优势呢?

主要有以下几点:



  因为虚拟网络的IP地址很多时候并不一定是唯一的,所以通过IP地址的形式控制网络的进出站流量,很多时候会造成一些误解,并且因为PaaS服务的IP地址经常会发生变化,也没有办法通过IP地址形式控制出入站,所以endpoint是一种很方便的方法,可以通过endpoint直接开启/关闭对于某些PaaS服务的出入站流量。这是一种很有效的补充



   

  默认情况下,对于从Azure VM访问某些PaaS服务,比如Azure SQL,路由其实是先出站到Internet,然后再访问到PaaS服务的公网IP,这个流量看上去像是在公网走了一圈,其实这些访问还是发生在Azure数据中心内部的,但是确实是先出站到Internet,才会访问PaaS服务的,那么开启endpoint之后会如何呢?开启endpiint之后,会单独添加一条到PaaS服务的路由,访问PaaS服务时会直接跳到PaaS服务,而不会先出站到Internet


实际举例来说,比如从Azure VM访问Azure SQL

不开Endpoint:在Azure SQL中看到的client IP会是一个公网IP

开启Endpoint: 在Azure SQL中看到的client IP会是一个私网 IP


    

  和第一点比较类似,开启endpoint对于控制安全来讲,会方便很多


当然了,endpoint本身也存在一些限制,比如:


光这么说可能对于endpoint的理解,还是比较模糊


下边来举个实际的例子,比如现在有这么一个需求,希望禁止所有VM出站到internet的流量,仅保留到Azure SQL或者Azure database for MySQL的这种流量

这种规则当然是要靠NSG实现的,那么规则如何设置呢?


首先来看下基本环境的搭建,实验基本包含以下Azure组件

l Azure VM * 1: EndpointVM

l Azure SQL * 1: EndpointSQL


首先,第一步创建VM

Azure Endpoint 解析

Azure Endpoint 解析

Azure Endpoint 解析

Azure Endpoint 解析



第二步:创建Azure SQL

Azure Endpoint 解析

Azure Endpoint 解析

Azure Endpoint 解析

这里需要注意,Azure SQL中有项设置叫allow access to Azure services

Azure Endpoint 解析


这个是什么意思呢?我们可以通过一个实验了解

以下是一个在我本地的服务器,通过连接工具访问Azure SQL时可以看到会被提示IP不在白名单中

Azure Endpoint 解析

Azure Endpoint 解析


但在Azure VM通过SSMS进行连接测试,发现可以访问

Azure Endpoint 解析


关闭允许访问Azure服务选项后再次测试

Azure Endpoint 解析


再次在Azure VM中访问

Azure Endpoint 解析


此时会发现已经没办法访问了

Azure Endpoint 解析


因此实际上允许访问Azure服务这个选项开启后,Azure VM不需要添加白名单即可访问Azure SQL服务

再次测试开启允许访问Azure服务,同时在安全组直接限制所有出站

Azure Endpoint 解析

Azure Endpoint 解析


开启允许访问Azure服务选项,但是限制所有的出站,再次测试访问情况,访问失败提示超时

也就是说:开启允许访问Azure服务选项时,只是不需要单独开IP的白名单,当时不是直接走内网,实际走的也是公网,只不过在检测时因为是Azure的IP,所以直接放行了,这和开启endpoint是不一样的

关闭允许访问Azure服务选项

Azure Endpoint 解析

Azure Endpoint 解析


之后添加Endpoint

Azure Endpoint 解析

Azure Endpoint 解析

Azure Endpoint 解析

Azure Endpoint 解析


可以看到endPoint已经添加成功

Azure Endpoint 解析


之后添加虚拟网络规则

Azure Endpoint 解析

Azure Endpoint 解析


再次测试,仍然无法访问

Azure Endpoint 解析


添加到Azure SQL的允许出站的规则

Azure Endpoint 解析

Azure Endpoint 解析

Azure Endpoint 解析


再次测试

Azure Endpoint 解析


可以连接

Azure Endpoint 解析

所以,总结来说,通过endpoint,可以非常方便控制IaaS VM对于PaaS服务的访问情况

推荐阅读:
  1. 如何用Azure Storage托管静态网站
  2. Azure Cognitive Services- Spee

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

云计算 云平台 endpoint

上一篇:实现页内跳转定位到某个ID

下一篇:Vmware虚拟化技术

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》