• Azure Virtual Network (14) Service Endpoint服务终结点


      《Windows Azure Platform 系列文章目录

      我们在使用Azure PaaS服务的时候,经常会发现这些PaaS提供的是公网的DNS地址,且无法限制客户端对这些PaaS DNS地址的访问。所以我们只能通过虚拟机的方式来搭建自己的Azure公有云部署,通过把虚拟机都加入到虚拟网络中,通过虚拟网络的内网IP地址互相访问。而不是采用PaaS服务。 

      后来微软云Azure做了功能的改进,允许我们限制对PaaS DNS的访问。我们现在有两种方式来进行限制,分别是

      1.Service Endpoint,服务终结点

      2.Private Link

      这2个服务看起来非常类似,主要解决的问题都是:限制了谁可以链接到Azure的服务。

      

      笔者将分别介绍这2种服务,我们首先从Service Endpoint开始。

      Service Endpoint,笔者比较喜欢叫做VNet Integration。这是微软云Azure提供的比较早的服务。服务终结点允许您将对 PaaS 资源的访问权限限制为来自 Azure 虚拟网络(Virtual Network)的流量。

      使用Service Endpoint的时候,PaaS服务并不加入到Virtual Network中。而是通过安全隧道的方式,源地址的流量离开Virtual Network,通过Azure 主干网,访问到Azure PaaS服务。

      并且PaaS服务配置可以识别出,源地址的流量来自于Virtual Network,并允许访问。所以不需要在Azure PaaS服务上配置IP白名单。

      在举个更详细的例子:

      场景:1台Azure VM加入到Virtual Network里,该VM没有公网IP,想访问到Azure PaaS SQL Database,应该如何配置?

    场景 解决方案 VM访问需要的IP 缺点

    场景一:

    如果采用PaaS的IP白名单

    1.在Azure VM上分配公网IP地址

    2.在Azure PaaS SQL Database上,把Azure VM的公网IP地址加入到访问的白名单里

    虚拟机的公网IP Azure VM需要额外分配IP地址,增加安全隐患

    场景二:

    如果采用Service Endpoint

    1.不需要在Azure VM上分配公网IP地址

    2.把Azure PaaS SQL Database加入到VM所在的Virtual Network里,信任一个或者多个subnet发来的流量

    虚拟机的内网IP  

       总体架构图如下:

      

      Service Endpoint通过在虚拟网络Virtual Network上启用subnet或subnet来支持Service Endpoint来设置。设置完毕后,你可以将PaaS资源配置为仅接受来自这些子网的流量。无需执行任何IP 白名单或者NAT。你告诉Azure PaaS资源,哪个VNet或者子网允许流量。启用Service Endpoint后,PaaS资源会看到来自VNet专用IP的流量,而部署来自其公网IP的流量。

      使用Service Endpoint的另一个优点是:流量以最佳方式路由到 Azure 资源。即使您的 subnet上有 UDR 将 Internet 流量路由回本地或通过防火墙设备,使用Servcie Endpoint也意味着流量会直接发送到 Azure 资源。

      以下服务支持Servcie Endpoint

    • Azure Storage
    • Azure SQL 数据库
    • Azure SQL 数据仓库
    • PostgreSQL 的 Azure 数据库
    • MySQL 和 MariaDB 的 Azure 数据库
    • Azure Cosmos DB
    • Azure KeyVault
    • Azure Service Bus
    • Azure 事件中心
    • Azure 数据湖存储(仅第 1 代)
    • Azure 应用服务
    • Azure 容器注册表

      服务终结点确实存在一些限制或缺点。首先,请记住,服务终结点(Service Endpoint)的流量仍在离开虚拟网络,并且 Azure PaaS 资源仍在其公共地址上访问。服务终结点不能由来自本地的流量(通过 VPN 或快速路由)使用,只能用于来自 Azure 虚拟网络的流量。如果要允许,则需要访问本地资源,以便将公共 IP 列入白名单。

  • 相关阅读:
    微信小程序加密解密 C# 以及 填充无效,无法被移除错误的解决方案 Padding is invalid and cannot be removed
    腾讯云 docker 镜像 dotnet/core sdk aspnet
    ImageMagick PDF到JPG有时会导致黑色背景
    VS2019 发布单文件
    MySQL 更新语句执行过程 WAL redolog binlog
    MySQL 查询语句执行过程
    让MySQL为我们记录执行流程
    SQL基础随记1 SQL分类 常用函数 ALL ANY EXISTS IN 约束
    初用MySQL Mysql示例库 Navicat15
    OldTrafford after 102 days
  • 原文地址:https://www.cnblogs.com/threestone/p/13880819.html
Copyright © 2020-2023  润新知