您可以通过配置实例私网连接,实现不同VPC间的网络互通,避免通过公网访问服务带来的潜在安全风险。本文为您介绍如何配置Elasticsearch的私网连接功能。

背景信息

由于2020年10月起,阿里云Elasticsearch网络架构的调整,导致Elasticsearch的部分功能因网络调整受限。而Elasticsearch的私网连接功能借助于PrivateLink能力,能够打通ES服务VPC和租户VPC,从而解决了部分网络互通问题。

通过PrivateLink实现私网访问,您需要创建终端节点服务和终端节点。
  • 终端节点服务

    终端节点服务是可以被其他VPC通过创建终端节点建立私网连接的服务。终端节点服务由服务提供方创建和管理。

  • 终端节点

    终端节点可以与终端节点服务相关联,以建立通过VPC私网访问外部服务的网络连接。终端节点由阿里云Elasticsearch服务账号自动创建和管理。

目前受网络架构调整影响,阿里云Elasticsearch通过配置实例私网连接支持的功能如下:
功能 场景说明
Watcher 阿里云Elasticsearch的X-Pack功能支持依据查询条件监测系统信息,对外提供报警服务。
阿里云Elasticsearch安全特性 阿里云Elasticsearch的X-Pack功能支持多种集群级别安全特性配置,例如:单点登录、LDAP和用户认证等。
自定义插件访问外部词库 自定义插件动态访问外部网络词库。

前提条件

  • 已创建阿里云Elasticsearch实例,具体操作请参见创建阿里云Elasticsearch实例
  • 已在用户VPC下创建了ECS服务,并部署了相关应用,详细信息请参见使用向导创建实例
    说明
    • ECS服务器即后端服务器,主要接收通过负载均衡实例所转发的请求,没有可用区的限制,但是在创建时需要与负载均衡实例部署在同一地域且同一VPC下。
    • 如果您的VPC下已经配置了PrivateLink终端节点服务、成功添加了SLB服务资源,并且后端服务器健康检查正常,则直接完成阿里云ES实例上的私网互通配置,并获取终端节点域名,用于其他服务配置即可。详情请参见步骤四:配置阿里云Elasticsearch私网互通查看终端节点域名

使用限制

PrivateLink仅支持部分地域私网连接,具体请参见下表。更多信息请参见支持私网连接的地域和可用区
地域 可用区
德国(法兰克福) A、B
华北2(北京) H、G
华南1(深圳) D、E
中国(香港) B、C
华北3(张家口) A、B
新加坡 B、C
华东2(上海) E、G
英国(伦敦) A、B
华南2(河源) A、B
华东1(杭州) H、I
马来西亚(吉隆坡) A、B

注意事项

2020年10月及之后创建的实例均处于新网络架构下,支持配置实例私网连接功能;2020年10月之前创建的实例均处于老网络架构下(包括金融云和政务云),均不支持配置实例私网连接功能。

操作流程

  1. 步骤一:创建支持PrivateLink功能的负载均衡实例
    目前,仅支持PrivateLink功能的负载均衡实例作为终端节点服务的服务资源。通过PrivateLink实现在VPC间私网访问服务前,您需要创建支持PrivateLink功能的负载均衡实例。
  2. 步骤二:配置负载均衡实例
    创建负载均衡实例后,您需要添加至少一个监听和一组后端服务器才能实现流量转发。
  3. 步骤三:创建终端节点服务
    终端节点服务是可以被其他VPC通过创建终端节点建立私网连接的服务,待负载均衡实例配置完成后,您需要创建终端节点服务。
  4. 步骤四:配置阿里云Elasticsearch私网互通
    创建终端节点,连接目标阿里云Elasticsearch实例与已创建的终端节点服务。

步骤一:创建支持PrivateLink功能的负载均衡实例

  1. 登录传统型负载均衡CLB控制台
  2. 在左侧导航栏,选择传统型负载均衡 CLB(原SLB) > 实例管理
  3. 实例管理页面,单击创建传统型负载均衡
  4. 在购买页面,按需配置参数。
    购买页
    关键参数 说明 样例值
    地域和可用区 选择负载均衡实例所属的地域和可用区,确保负载均衡实例的地域和后端添加的云服务器ECS的地域相同。 华东1(杭州)可用区I
    实例类型 支持公网私网
    • 公网:公网负载均衡实例仅提供公网IP,可以通过Internet访问负载均衡。
    • 私网:私网负载均衡实例仅提供阿里云私网IP地址,只能通过阿里云内部网络访问该负载均衡服务,无法从Internet访问。
    说明 仅私网类型的负载均衡实例支持PrivateLink功能。
    私网
    专有网络 按需选择VPC2及VPC2下的交换机。
    • elasticsearch-vpc-test
    • elasticsearch-vswitch-test
    功能特性 选择负载均衡实例的功能特性。支持标准功能支持PrivateLink 支持PrivateLink

    更多参数配置,请参见创建支持私网连接功能的负载均衡实例

  5. 单击立即购买并完成支付。

步骤二:配置负载均衡实例

  1. 实例管理页面,找到步骤一中创建的实例,单击端口/健康检查/后端服务器列下的点我开始配置
  2. 负载均衡业务配置向导页面的协议&监听向导页,按需配置监听规则。
    配置监听规则
    关键参数 说明 样例值
    选择负载均衡协议 支持TCP、UDP、HTTP和HTTPS。 TCP
    监听端口 用来接收请求并向后端服务器进行请求转发的负载均衡系统的前端协议和端口。 8080
    监听名称 可自定义,如果不填写,则系统默认为协议_端口。 保持默认值。
    高级配置 按需配置。 保持默认值。
  3. 单击下一步
  4. 配置后端服务器
    1. 后端服务器向导页,选择默认服务器组,单击继续添加
    2. 我的服务器面板中,选中已经创建的ECS实例,单击下一步
    3. 配置端口和权重面板中,按需配置权重。本文以默认值100为例。
      说明 权重越大,转发的请求消息越多,默认值为100。
    4. 单击添加
    5. 后端服务器向导页,配置后端协议端口(ECS实例上开放的用来接收请求的后端端口,在同一个负载实例内可重复)。本文以端口号为8080为例。
      后端服务器端口设置
  5. 单击下一步,按需配置健康检查,本文以默认值为例。
  6. 单击下一步,进入配置审核页面。确认配置信息无误后,单击提交
  7. 负载均衡业务配置向导弹框中,单击知道了,返回实例管理页面。

    当后端ECS实例的健康检查状态为正常时,表示后端ECS实例可以正常处理负载均衡转发的请求了。

    创建结果

步骤三:创建终端节点服务

  1. 登录专有网络管理控制台
  2. 在左侧导航栏,选择终端节点服务
  3. 在顶部菜单栏处,选择要创建终端节点服务的地域。本文以华东1(杭州)为例。
  4. 终端节点服务页面,单击创建终端节点服务
  5. 创建终端节点服务页面,按需配置终端节点服务。
    创建终端节点服务
    参数 说明
    选择服务资源 选择要承载流量的可用区,然后选择与终端节点服务关联的负载均衡实例。负载均衡实例作为服务资源与终端节点服务关联,关联的负载均衡实例将接受来自您服务的用户的网络访问,终端节点服务的可用区与服务资源所在的主可用区一致。
    可以作为服务资源的负载均衡实例必须满足以下两个条件:
    • 网络类型专有网络
    • 功能特性支持PrivateLink
    自动接受终端节点连接 选择是否自动接受终端节点的连接请求,建议选择,取值含义如下:
    • :终端节点服务将自动接受终端节点的连接请求,通过终端节点能够访问服务。
    • :终端节点连接将处于已断开状态,等待服务管理员进行处理:
      • 如果服务管理员接受该终端节点对应的终端节点服务连接,通过终端节点将能够访问服务。
      • 如果服务管理员拒绝该终端节点对应的终端节点服务连接,通过终端节点无法访问服务。
    说明
    • 如果您的终端节点服务开启了自动接受连接,创建成功后,终端节点连接状态显示已连接。当状态为已连接时,支持拒绝连接
    • 如果您的终端节点服务未开启自动接受连接,则终端节点状态显示未连接,支持允许连接
    是否支持同可用区优先 选择是否支持同可用区优先,建议选择
    描述 输入终端节点服务的描述信息,描述长度为2~256个字符,但是不能以http://和https://开头。
  6. 单击确定创建

步骤四:配置阿里云Elasticsearch私网互通

  1. 登录阿里云Elasticsearch控制台
  2. 在左侧导航栏,单击Elasticsearch实例
  3. 进入目标实例。
    1. 在顶部菜单栏处,选择资源组和地域。
    2. 在左侧导航栏,单击Elasticsearch实例,然后在Elasticsearch实例中单击目标实例ID。
  4. 在左侧导航栏,单击安全配置
  5. 集群网络设置区域,单击配置实例私网连接右侧的修改
  6. 配置实例私网连接面板,单击+添加私网连接,选择步骤三中创建的终端节点服务和目标访问可用区,并选中系统提示信息。
    选择对应可用区
  7. 单击确认,终端节点服务主动连接终端节点,连接成功后会显示已连接
    连接成功
    说明
    • 如果您的终端节点服务开启了自动接受连接,创建成功后,终端节点连接状态显示已连接。当状态为已连接时,支持拒绝连接
    • 如果您的终端节点服务未开启自动接受连接,则终端节点状态显示未连接,支持允许连接
    完成以上配置后,如果您还需要获取终端节点域名,具体操作请参见查看终端节点域名

查看终端节点域名

终端节点域名是终端节点服务与终端节点访问通道。您可以通过以下操作获取终端节点域名。

  1. 配置实例私网连接面板中,单击目标终端节点ID
    单击终端节点ID
  2. 终端节点连接页签,单击目标终端节点ID前的展开符图标,即可查看终端节点对应的域名。
    获取域名