
# 配置终端节点服务
在企业级应用中，当需要将VPC中的服务提供给其他VPC中的资源使用时，会面临如何实现跨VPC的内网访问而不暴露服务端相关的网络信息的问题。为了解决这个问题，CSS服务提供了终端节点服务（VPC Endpoint Service），通过专属网关实现跨VPC的内网访问而不必暴露服务端相关的网络信息，使您的访问更加安全、可靠。终端节点的访问地址包括IPv4地址、IPv6地址和内网域名。
- IPv4地址是启用终端节点服务就会自动分配的服务IP地址。
- IPv6地址是要创建专业型终端节点且启用IPv4/IPv6双栈网络时，系统才会分配的服务IP地址。
- 内网域名是要在启用创建内网域名时，系统才会分配。
 
终端节点服务通过共享型负载均衡器实现内网访问，共享型负载均衡器资源与其他实例共享资源，如果业务追求更优的负载均衡体验，推荐使用独享型负载均衡器接入集群，配置方案请参见[配置独享型负载均衡](https://support.huaweicloud.com/usermanual-css/css_01_0181.html)。
#### 计费影响
如果启用集群的终端节点服务，系统将根据终端节点的实际资源消耗情况，额外按需计费。详细请参见[终端节点计费说明](https://support.huaweicloud.com/price-vpcep/vpcep_price_1000.html)。
#### 约束限制
- 当集群的网络配置中，"虚拟私有云"选择的是共享VPC，"子网"选择的是共享VPC下的子网，则该集群不支持配置终端节点服务。
- 创建终端节点需要有相关的权限，请参考[VPC终端节点权限管理](https://support.huaweicloud.com/productdesc-vpcep/vpcep_pd_0001.html)。
- 终端节点服务开通后，在内网通过终端节点IP或内网域名访问CSS将不受集群安全组规则限制，需要配合终端节点本身的白名单功能进行访问控制，操作指导请参见[设置终端节点的访问控制](https://support.huaweicloud.com/usermanual-vpcep/vpcep_03_0205.html)。
- 公网访问和终端节点服务共用一个共享型负载均衡器。当集群启用公网访问白名单时，由于白名单是作用于负载均衡器，会同时限制公网访问和内网通过VPCEP访问集群的IP地址。此时需要在公网访问白名单中添加一个网络白名单"198.19.128.0/17"，以放通经由VPCEP的流量。
- 通过终端节点IP或内网域名访问集群，不受集群本身安全组限制，可以添加访问白名单实现访问控制。
 
#### 开启终端节点服务
当创建集群时未开启终端节点服务时，可以通过如下步骤开启终端节点服务。
1. 登录[云搜索服务管理控制台](https://console.huaweicloud.com/elasticsearch/)。
2. 在左侧导航栏，选择"集群管理 \> Elasticsearch"。
3. 在集群列表，单击目标集群名称，进入集群详情页。
4. 选择"概览"页签，在"网络信息"下方查看集群的当前子网信息。新增终端节点时，系统会在集群的当前子网下自动申请并绑定IP地址。
   图1查看当前子网信息   
   ![](https://support.huaweicloud.com/usermanual-css/figure/zh-cn_image_0000002272216364.png "点击放大")
   如果需指定特定子网，可以先切换子网再开启终端节点服务，操作指导请参见[Elasticsearch和OpenSearch集群支持扩容子网吗？](https://support.huaweicloud.com/css_faq/css_02_0081.html)
   
5. 选择"访问配置 \> 终端节点服务"页签。
6. 打开"终端节点服务"右侧的开关，在弹窗中确认选项。
   图2开启终端节点服务   
   ![](https://support.huaweicloud.com/usermanual-css/figure/zh-cn_image_0000002272290582.png "点击放大")
   表1开启终端节点服务的选项说明 
   | 选项名称          | 选项说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   |:---|:---|
   | 创建内网域名        | 选择是否给终端节点服务创建内网域名。 - 开启：系统会自动为终端节点服务分配一个内网域名。在集群详情页的"终端节点服务"页签，可以查看内网域名。  - 不开启：终端节点服务不配置内网域名。仅支持通过终端节点服务的IP地址访问集群。                                                              |
   | 创建专业型终端节点     | 选择是否创建专业型终端节点。 - 开启：创建专业型终端节点，支持IPv4/IPv6双栈网络。  - 不开启：创建基础型终端节点，只支持IPv4网络。   注意： 当集群所在区域不支持创建专业型终端节点时，该选项将不可见。默认创建的是基础型终端节点。 |
   | IPv4/IPv6双栈网络 | 选择是否启用IPv4/IPv6双栈网络。仅当集群的VPC"子网"已开启IPv6，且已开启"创建专业型终端节点"时，才支持启用IPv4/IPv6双栈网络。 - 开启：系统会自动为终端节点服务分配一个IPv6地址。  - 不开启：终端节点服务不支持IPv6访问。                                        |
      
   
7. 单击"确定"，开启终端节点服务。开启后，下方会显示终端节点服务的基本信息，当终端节点的"状态"变成"已接受"时，表示可以通过终端节点服务访问当前集群。
   图3查看终端节点状态   
   ![](https://support.huaweicloud.com/usermanual-css/figure/zh-cn_image_0000002272317176.png "点击放大") 
 
#### 管理终端节点服务
当集群开启终端节点服务后，支持设置访问控制、查看服务信息、拒绝访问等管理操作。
1. 登录[云搜索服务管理控制台](https://console.huaweicloud.com/elasticsearch/)。
2. 在左侧导航栏，选择"集群管理 \> Elasticsearch"。
3. 在集群列表，单击目标集群名称，进入集群详情页。
4. 选择"访问配置 \> 终端节点服务"页签。
5. **设置终端节点服务的访问控制** 。
   1. 在"终端节点服务白名单"右侧单击"修改"，在弹窗中修改白名单，添加允许通过终端节点服务访问集群的账号。不添加或配置成"\*"，则表示允许全部用户访问该集群。
      - 单击"添加"，输入授权账号ID。授权账号ID可以在"我的凭证"中查看"账号ID"获取。
      
      - 单击操作列的"删除"，可以删除授权账号。
       
   
   2. 单击"确定"完成配置。
    
6. **查看终端节点服务信息** 。
   在终端节点列表显示连接当前集群的终端节点，此处可以获取终端节点的"状态"、"服务地址"、"内网域名"等信息。
   图4管理终端节点   
   ![](https://support.huaweicloud.com/usermanual-css/figure/zh-cn_image_0000002306895117.png "点击放大") 
7. **修改终端节点状态** 。通过该功能可以控制集群是否对该终端节点提供服务。
   - 在终端节点列表，选择目标节点，单击操作列的"拒绝"，当终端节点的"状态"变成"已拒绝"时，表示集群已停止对该终端节点提供服务，用户将无法通过终端节点访问当前集群。
   
   - 在终端节点列表，选择目标节点，单击操作列的"接受"，当终端节点的"状态"变成"已接受"时，表示集群已支持对该终端节点提供服务，用户可以通过终端节点访问当前集群。
    
 
#### 关闭终端节点服务
当集群无需使用终端节点服务实现跨VPC的内网访问时，可以关闭终端节点服务，释放资源。
![](https://support.huaweicloud.com/usermanual-css/public_sys-resources/warning_3.0-zh-cn.png)
关闭终端节点服务后，将无法通过该服务的IP地址或内网域名访问集群。重新开启服务后，终端节点服务的IP地址或内网域名可能会发生变化，这可能需要更新客户端的连接配置。如果仅需临时关闭终端节点服务（而非永久释放资源），建议通过拒绝访问的方式实现，具体操作请参见[7]。
1. 登录[云搜索服务管理控制台](https://console.huaweicloud.com/elasticsearch/)。
2. 在左侧导航栏，选择"集群管理 \> Elasticsearch"。
3. 在集群列表，单击目标集群名称，进入集群详情页。
4. 选择"访问配置 \> 终端节点服务"页签。
5. 关闭"终端节点服务"右侧的开关，在弹框中输入**CONFIRM**，单击"确定"关闭终端节点服务。
 
#### 通过终端节点服务访问集群
1. 获取终端节点服务的内网域名或节点IP地址。 在集群的终端节点服务页面，查看"服务地址"或"内网域名"。
   图5查看终端节点服务地址或内网域名   
   ![](https://support.huaweicloud.com/usermanual-css/figure/zh-cn_image_0000001938378184.png "点击放大") 
2. 在客户端，如弹性云服务器ECS，通过Curl命令访问集群。
   例如，执行如下命令，可以查看集群中的索引信息：
   - 非安全模式的集群
     ```
     curl "http://<host>:9200/_cat/indices"
     ```
     
   
   - 安全模式+HTTP协议的集群
     ```
     curl -u <user>:<password> "http://<host>:9200/_cat/indices"
     ```
     
   
   - 安全模式+HTTPS协议的集群
     ```
     curl -u <user>:<password> -k "https://<host>:9200/_cat/indices"
     ```
     
    
   其中"user"和"password"为访问集群的用户名和密码，"host"为获取的终端节点服务的内网域名或节点IP地址。
   
 
