Aar*_*ken 1 mongodb amazon-web-services elasticsearch amazon-elasticsearch
我正在尝试将mongo-connector与亚马逊新托管的Elasticsearch一起使用.
我相信它不是使用普通的Elasticsearch Shield等,而是使用亚马逊相当复杂的身份验证方案.
(相关GH问题:https://github.com/mongodb-labs/mongo-connector/issues/337)
我想您已尝试过,但最简单的方法是将您的访问策略修改为Amazon Elasticsearch配置中的"允许对域的开放访问".当然,这意味着您的ES群集对全世界开放,因此可能适用于测试目的,但不适用于生产.
您还可以选择"允许来自特定IP的访问",这将"保护"您的群集,使得只接受来自指定IP地址的请求.对于我个人使用,我发现这种模式最容易使用,因为您获得了安全访问权限(假设您是IP地址中唯一的访问权限)并且您不需要通过整个AWS签署请求的东西.虽然,如果你在VPC中,那个选项显然不会起作用.
通过在搜索域上配置上述任何访问策略,您无需在mongo-connector端执行任何特殊操作,只需使用标准命令行启动mongo-connector即可完成复制.盒子.
mongo-connector -m localhost:27017 -t search-<yourdomain>.us-west-2.es.amazonaws.com:80 -d elastic_doc_manager
Run Code Online (Sandbox Code Playgroud)
现在,如果您的搜索域受到允许/拒绝访问特定AWS账户或IAM用户的保护,那么您将需要签署您的请求,这意味着elastic_doc_manager.py需要以某种方式进行修改以执行此操作.最简单的选择是编写专用的文档管理器通过延伸elastic_doc_manager.py到elastic_aws_doc_manager.py并使用亚马逊提供的Python的样板代码签署由ES商务部经理提出的每个请求,这是微不足道的,但仍然有很多的工作.
但是,由于mongo_connector es_doc_manager.py使用官方的Elasticsearch Python客户端,并且有人有一个好主意来调整它并使其适用于签署对AWS Elasticsearch的请求,因此编写自定义elastic_aws_doc_manager.py文档管理器变得更加微不足道.
我坚信elastic_doc_manager.py在使用AWS Elasticsearch服务时,甚至应将其构建到main中并提供配置选项.
| 归档时间: |
|
| 查看次数: |
1054 次 |
| 最近记录: |