今天来讨论下Azure虚拟网络中的endpoint功能,虚拟网络是什么相信已经有很多博客有过一些介绍了,对于云比较了解的同学应该不需要再介绍了,各家云厂商对于虚拟网络的叫法虽然不一样,但是本质上都是一个东西,AWS和Ali叫VPC,Azure则叫Virtual Network
Azure 虚拟网络允许许多类型的 Azure 资源(例如 Azure 虚拟机 (VM))以安全方式彼此通信、与 Internet 通信,以及与本地网络通信。一个虚拟网络局限于一个区域;但是,可以使用虚拟网络对等互连将不同区域的多个虚拟网络连接起来。
Azure 资源可以采用下述某种方式安全地相互通信:
通过虚拟网络:可以将 VM 和多个其他类型的 Azure 资源部署到虚拟网络,如 Azure 应用服务环境、Azure Kubernetes 服务 (AKS) 和 Azure 虚拟机规模集。
通过虚拟网络服务终结点:通过直接连接将虚拟网络专用地址空间和虚拟网络的标识扩展到 Azure 服务资源,例如 Azure 存储帐户和 Azure SQL 数据库。 使用服务终结点可以保护关键的 Azure 服务资源,只允许在客户自己的虚拟网络中对其进行访问
可组合使用以下任何选项将本地计算机和网络连接到虚拟网络:
点到站点虚拟专用网络: 在网络中的虚拟网络和单台计算机之间建立连接。要与虚拟网络建立连接的每台计算机必须配置其连接。 这种连接类型适用于刚开始使用 Azure 的人员或开发人员,因为该连接类型仅需对现有网络作出极少更改或不做任何更改。计算机与虚拟网络之间的通信经 Internet 通过加密的通道来发送。
站点到站点: 在本地设备和虚拟网络中部署的 Azure网关之间建立连接。 此连接类型可使授权的任何本地资源访问虚拟网络。本地设备和 Azure 网关之间的通信经 Internet 通过加密的通道来发送。
Azure Express Route: 通过 Express Route 合作伙伴在网络和 Azure 之间建立连接。 此连接是专用连接。流量不经过 Internet。
以上是关于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有什么优势呢?
主要有以下几点:
提高了 Azure 服务资源的安全性:VNet 专用地址空间可能重叠,因此不能用于唯一标识源自 VNet 的流量。通过将 VNet 标识扩展到服务,服务终结点可以将对 Azure 服务资源的访问限定到你的虚拟网络。在虚拟网络中启用服务终结点后,可以通过将虚拟网络规则添加到资源,在虚拟网络中保护 Azure 服务资源。 这完全消除了通过公共 Internet 对资源进行访问的可能性,并仅允许来自自己虚拟网络的流量,从而提高了安全性。
因为虚拟网络的IP地址很多时候并不一定是唯一的,所以通过IP地址的形式控制网络的进出站流量,很多时候会造成一些误解,并且因为PaaS服务的IP地址经常会发生变化,也没有办法通过IP地址形式控制出入站,所以endpoint是一种很方便的方法,可以通过endpoint直接开启/关闭对于某些PaaS服务的出入站流量。这是一种很有效的补充