当前位置: 首页 > 软件库 > 云计算 > >

aws-es-proxy

授权协议 Apache-2.0 License
开发语言 C/C++
所属分类 云计算
软件类型 开源软件
地区 不详
投 递 者 阙阳夏
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

aws-es-proxy

aws-es-proxy is a small web server application sitting between your HTTP client (browser, curl, etc...) and Amazon Elasticsearch service. It will sign your requests using latest AWS Signature Version 4 before sending the request to Amazon Elasticsearch. When response is back from Amazon Elasticsearch, this response will be sent back to your HTTP client.

Kibana requests are also signed automatically.

Installation

Download binary executable

aws-es-proxy has single executable binaries for Linux, Mac and Windows.

Download the latest aws-es-proxy release.

Docker

There is an official docker image available for aws-es-proxy. To run the image:

# v0.9 and newer (latest always point to the latest release):

docker run --rm -v ~/.aws:/root/.aws -p 9200:9200 abutaha/aws-es-proxy:v1.0 -endpoint https://dummy-host.ap-southeast-2.es.amazonaws.com -listen 0.0.0.0:9200

v.08:

docker run --rm -it abutaha/aws-es-proxy ./aws-es-proxy -endpoint https://dummy-host.ap-southeast-2.es.amazonaws.com

To expose a port number other than the default 9200, pass an environment variable of PORT_NUM to docker with the port number you wish to expose for your service.

Via homebrew

brew install aws-es-proxy

Build from Source

Dependencies:

  • go1.14+
#requires go1.14
go build github.com/abutaha/aws-es-proxy

Configuring Credentials

Before using aws-es-proxy, ensure that you've configured your AWS IAM user credentials. The best way to configure credentials on a development machine is to use the ~/.aws/credentials file, which might look like:

[default]
aws_access_key_id = AKID1234567890
aws_secret_access_key = MY-SECRET-KEY

Alternatively, you can set the following environment variables:

export AWS_ACCESS_KEY_ID=AKID1234567890
export AWS_SECRET_ACCESS_KEY=MY-SECRET-KEY

aws-es-proxy also supports IAM roles. To use IAM roles, you need to modify your Amazon Elasticsearch access policy to allow access from that role. Below is an Amazon Elasticsearch access policy example allowing access from any EC2 instance with an IAM role called ec2-aws-elasticsearch.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::012345678910:role/ec2-aws-elasticsearch"
      },
      "Action": "es:*",
      "Resource": "arn:aws����eu-west-1:012345678910:domain/test-es-domain/*"
    }
  ]
}

Usage example:

You can use either argument -endpoint OR environment variable ENDPOINT to specify AWS ElasticSearch endpoint.

./aws-es-proxy -endpoint https://test-es-somerandomvalue.eu-west-1.es.amazonaws.com
Listening on 127.0.0.1:9200
export ENDPOINT=https://test-es-somerandomvalue.eu-west-1.es.amazonaws.com

./aws-es-proxy  -listen 10.0.0.1:9200 -verbose
Listening on 10.0.0.1:9200

aws-es-proxy listens on 127.0.0.1:9200 if no additional argument is provided. You can change the IP and Port passing the argument -listen

./aws-es-proxy -listen :8080 -endpoint ...
./aws-es-proxy -listen 10.0.0.1:9200 -endpoint ...

By default, aws-es-proxy will not display any message in the console. However, it has the ability to print requests being sent to Amazon Elasticsearch, and the duration it takes to receive the request back. This can be enabled using the option -verbose

./aws-es-proxy -verbose ...
Listening on 127.0.0.1:9200
2016/10/31 19:48:23  -> GET / 200 1.054s
2016/10/31 19:48:30  -> GET /_cat/indices?v 200 0.199s
2016/10/31 19:48:37  -> GET /_cat/shards?v 200 0.196s
2016/10/31 19:48:49  -> GET /_cat/allocation?v 200 0.179s
2016/10/31 19:49:10  -> PUT /my-test-index 200 0.347s

For a full list of available options, use -h:

./aws-es-proxy -h
Usage of ./aws-es-proxy:
  -auth
        Require HTTP Basic Auth
  -debug
        Print debug messages
  -endpoint string
        Amazon ElasticSearch Endpoint (e.g: https://dummy-host.eu-west-1.es.amazonaws.com)
  -listen string
        Local TCP port to listen on (default "127.0.0.1:9200")
  -log-to-file
        Log user requests and ElasticSearch responses to files
  -no-sign-reqs
        Disable AWS Signature v4
  -password string
        HTTP Basic Auth Password
  -pretty
        Prettify verbose and file output
  -realm string
        Authentication Required
  -remote-terminate
        Allow HTTP remote termination
  -timeout int
        Set a request timeout to ES. Specify in seconds, defaults to 15 (default 15)
  -username string
        HTTP Basic Auth Username
  -verbose
        Print user requests
  -version
        Print aws-es-proxy version

Using HTTP Clients

After you run aws-es-proxy, you can now open your Web browser on http://localhost:9200. Everything should be working as you have your own instance of ElasticSearch running on port 9200.

To access Kibana, use http://localhost:9200/_plugin/kibana/app/kibana

  • 1)apt  install  squit 2)modify   /etc/squit/  config file, ip,port 3)modify aws   manage page ,to allow port in

  • 参考文章:elasticsearch数据导入导出 Elasticsearchdump 数据导入/导出 一. 安装工具elasticdump 方法一: wget安装: $ wget https://nodejs.org/dist/v10.15.0/node-v10.15.0-linux-x64.tar.xz $ tar -xf node-v10.15.0-linux-x64.tar.xz #配置相关

  • ssh 提到ssh,用过linux的应该都不陌生。通俗地说,就是通过工具生成一个key pair,linux server端存储public key,client端保留一个private key。通过支持ssh协议的客户端工具(putty,tera term)或者命令行工具(ssh),login到server的时候,需要输入linux用户名,同时选择一个保存private key的文件。只有pri

  • ElasticSearch安装与基础使用入门 关于ElasticSearch是什么,可以参考ES的官方文档中的介绍:Elasticsearch Introduction,中文版请见:ElasticSearch功能简介和系统介绍。本文针对了解ES可以做什么之后,来介绍如何安装ES以及使用ES进行一些基本操作(使用REST APIs进行数据存储、搜索和分析),作为ES的入门内容。 本文的内容主要包括如

  • 目录 1.es数据迁移工具 1.1.ElasticDump简介 1.2.安装ElasticDump 1.3迁移工具使用 1.4如何提供效率? 2.常见问题 2.1elasticdump 报SyntaxError: Unexpected identifier 1.es数据迁移工具 1.1.ElasticDump简介 ElasticDump是一个ElasticSearch的数据导入导出开源工具包,方便

  • 1.导出 安装elasticdump npm install elasticdump -g 导出 elasticdump --input=http://localhost:9200/asr --output=D:/asr5.json --searchBody '{\"query\":{\"bool\":{\"must\":[{\"term\":{\"fileId\":\"1104\"}}],\

 相关资料
  • 背景 canal 1.1.1版本之后, 内置增加客户端数据同步功能, Client适配器整体介绍: [[ClientAdapter]] canal adapter 的 Elastic Search 版本支持6.x.x以上, 如需其它版本的es可替换依赖重新编译client-adapter.elasticsearch模块 ElasticSearch适配器 1 修改启动器配置: application

  • 未来的模块 TC39,负责讨论ECMAScript语法和语义定义问题和其未来迭代的标准机构,它是由许多的非常聪明的开发者组成的。这些开发者中的一些人(比如Alex Russell)对Javascript在大规模开发中的用例场景在过去几年一直保持者密切的关注,并且敏锐的意识到了人们对于能够使用其编写更加模块化JS的优良的语言特性的需求。 出于这个原因,目前已经有大量激动人心的,包括在客户端和服务器上

  • 框架简介 ES 是一款 极简、灵活、 高性能、扩建性强、上手快php 框架; 以“快速开发、轻松上手、高速执行”为理念,助你成为web开发的能手 ! 开发缘由 与其说开发此框架,更准确说法应该是一次代码的整理,本人在接触将近10年的php开发过程中,陆续也接触了一些优秀的框架。不仅仅php 有asp.net mvc、php laravel、php yii、python web.py、python

  • 为简化开发工作、提高生产效率而生 Easy-Es是一款简化 ElasticSearch 搜索引擎操作的开源框架,全自动智能索引托管。 目前功能丰富度和易用度及性能已全面领先SpringData-Elasticsearch. 简化CRUD及其它高阶操作,可以更好的帮助开发者减轻开发负担 底层采用Es官方提供的RestHighLevelClient,保证其原生性能及拓展性. 项目推广初期,还望大家能够

  • Searchdaimon ES是一个针对公司数据和网站的搜索引擎,拥有一个功能强大的管理员界面。ES可以索引一些常用的企业系统中的数据,比如SharePoint、Exchange、SQL数据库、Windows文件共享等,它还支持多种数据源,比如Word、PDF、Excel等。 ES可以作为搜索软件的一个集成套件来部署,你可以将其部署到类似于Amazon Web Services的云平台上,也可以部

  • Rivulet ES 是一个开源的企业搜索系统,基于 Lucene 和 Solr ,提供基于 XML/HTTP 和 JSON API 接口。主要特性有命中高亮显示、faceted搜索、缓存、复制以及Web管理接口。