专栏首页腾讯云Elasticsearch Service想在外网访问腾讯云ES集群?搭建一个代理服务器吧!
原创

想在外网访问腾讯云ES集群?搭建一个代理服务器吧!

腾讯云Elasticsearch Service已经对部分通过内测申请的用户开放服务了,个别用户在使用腾讯云Elasticsearch集群的过程中,提出想通过外网访问集群的endpoint vip地址, 而不是在VPC内访问。对于用户的这个需求,腾讯云ES团队正在调研并规划中,因为考虑到目前腾讯云ES还没有用户权限认证功能,直接开放外网访问会有安全风险,所以目前没有对集群开放外网访问。对于一些急于通过外网访问ES集群的用户,可以通过腾讯云CVM云服务器快速搭建一个外网代理服务器,实现ES集群的外网访问。

创建CVM

通过CVM云服务器控制台创建一台CVM:

安装部署nginx

执行yum命令安装nginx

yum install nginx

配置nginx.conf

查看ES集群的内网endpoint地址:

修改/etc/nginx/nginx.conf配置文件,增加以下内容:

server {

        listen       9200;



        location / {

            proxy_pass http://172.16.0.39:9200;

        }

    }

配置CVM安全组

因为腾讯云当前的ES版本没有权限认证功能,所以为了安全起见,可以通过CVM的安全组功能限制能够访问ES的来源IP地址。

在CVM绑定的安全组中限制TCP:9200端口的来源IP为ES客户端的IP地址:

使用CVM绑定的外网IP访问ES集群

执行 curl 121.201.61.70:9200

{

  "name" : "1526908677000079909",

  "cluster_name" : "es-e06jswi5",

  "cluster_uuid" : "iPfOl_P4Q5-URHoBPGkVJg",

  "version" : {

    "number" : "5.6.4",

    "build_hash" : "8bbedf5",

    "build_date" : "2017-10-31T18:55:38.105Z",

    "build_snapshot" : false,

    "lucene_version" : "6.6.1"

  },

  "tagline" : "You Know, for Search"

}

增加http basic auth权限认证

为了进一步增加ES集群的访问安全性,可以在nginx中增加auth basic配置,设置访问ES集群的用户名密码:

server {

        listen       9200;



        location / {

            auth_basic           "closed site";

            auth_basic_user_file /etc/nginx/htpasswd;

            proxy_pass http://172.16.0.39:9200;

        }

    }

上述配置将用于访问ES集群的用户名和加密后的密码放置在/etc/nginx中的htpasswd文件中,文件内容为:

elastic:Xcp0L3LGmWIlw

对密码进行加密可用openssl passwd命令生成:

带用户名密码访问ES集群

执行命令:

curl 121.201.61.70:9200 -u elastic:123

避免代理服务器单点-使用腾讯云CLB

自建一台CVM部署nginx作为外网代理,可能会出现单点问题,如果这台CVM挂掉,ES就无法通过外网访问了。为了避免出现单点问题,可以使用腾讯云CLB负载均衡服务,申请一个CLB实例,购买两台CVM作为CLB的后端,在两台CVM中同时部署nginx反向代理内网ES。腾讯云CLB负载均衡服务可以对CVM中nginx服务进行健康检查,如果一台CVM挂掉或者CVM中的nginx挂掉,CLB就会切断CVM的入口流量,避免出现无法访问ES的情况。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 腾讯云 Elasticsearch 实战篇(十七) 构建日志分析系统

    在前面的众多章节中,我们从开源架构ELK讲到腾讯云Elasticsearch Service .最近的六篇中我们讲了腾讯云ES集群的选择、安装、运维监控...

    南非骆驼说大数据
  • 腾讯云 Elasticsearch 实战篇(十八) 快速构建搜索服务

    上一章节,我们从0开始搭建了一个基于腾讯云ES集群的日志分析系统,并通过Kibana图形化工具进行了可视化展示。我们模拟了Logstash收集业务系统的日...

    南非骆驼说大数据
  • 腾讯云 Elasticsearch 运维篇(十一)快速构建ES集群

    前面的10章节中,我们快速的对ELK各系列的知识点并进行了总结回顾。在目前当前企业数据海量式增长的背景下,越来越多的企业选择云服务商提供的云服务...

    南非骆驼说大数据
  • 腾讯云ES+SCF快速构建搜索服务

    搜索服务广泛地存在于我们身边,例如我们生活中用的百度,工作中用的wiki搜索,淘宝时用的商品搜索等,这些场景的数据具有数据量大、结构化、读多写少等特点,而传统的...

    yinanwu
  • 腾讯云 Elasticsearch 运维篇(十五)实现Elasticsearch 基于白名单设置的公网访问

    腾讯云 Elasticsearch是一个搭建于云平台下的存储、搜索、分析引擎,可以预见它的安全性在企业中的位置是非常重要的。所以,一般我们不对外网暴露其...

    南非骆驼说大数据
  • ELK Stack系列之基础篇(二) - ELK产品介绍

    在前面的第一节,我们讲到了ELK平台,提到了ELK能够被各种公司用来搭建自己的大数据日志分析平台。ELK平台的核心产品均隶属于Elastic.co公司...

    南非骆驼说大数据
  • 腾讯云ES与COS之间的那点事儿

    关于ES与COS之间的使用场景主要体现在数据迁移、数据恢复备份这几个方面。其原理就是通过COS将源ES数据中间存储,然后再将存储的数据进行目标ES集群异步恢复的...

    南非骆驼说大数据
  • ElasticSearch学习笔记(四)-ES集群基本概念及搭建过程及主要工作原理

    UP之前都是在自己的阿里云服务器和腾讯云服务器上测试的ES,之前的关于ES以及Kibana的操作都是可以正常的执行的,但是这次在配置ES集群的时候问题却是一直有...

    萌萌哒的瓤瓤
  • 腾讯云 Elasticsearch 运维篇(十二)API访问ES集群

    上一章节,我们通过腾讯云控制台快速搭建了一个ES集群,通过Kibana我们在公网能进行安全的访问。同时,我们在Kibana里边针对不同的索引需求新建...

    南非骆驼说大数据

扫码关注云+社区

领取腾讯云代金券