https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-use-postman-to-call-api.html
我正在关注上面的文档,以通过Postman连接到我的AWS Elastic Search。
我想要实现发送的请求并获得响应的方法。
我也放置了所有与身份验证相关的内容,但仍然给出超时错误。
显示错误'Could not get any response'
。
我与SSL相关的Postman设置也正确
示例网址:
https://vpc-abc-yqb7jfwa6tw6ebwzphynyfvaka.ap-southeast-1.es.amazonaws.com/elasticsearch_index/_search?source={"query":{"bool":{"should":[{"multi_match":{"query":"abc","fields":["name.suggestion"],"fuzziness":1}}]}},"size":10,"_source":["name"],"highlight":{"fields":{"name.suggestion":{}},"pre_tags":["\u003Cem\u003E"],"post_tags":["\u003C\/em\u003E"]}}&source_content_type=application/json
答案 0 :(得分:0)
由于您的ES域位于VPC中,因此如果从互联网访问,则无法访问。不幸的是,使用安全组和“允许端口”是不够的。
以下内容写在docs中:
但是,如果尝试在Web浏览器中访问端点,则可能会发现请求超时。要执行基本的GET请求,您的计算机必须能够连接到VPC。此连接通常采用 VPN,托管网络或代理服务器的形式。
要考虑的一些选项是:
在VPC的公共子网中设置堡垒主机,并通过堡垒主机从ES到本地Mac的 ssh隧道连接。这将是文档中提到的最简单的临时代理解决方案。
直接从堡垒主机(例如,远程桌面)访问EC
设置代理服务器以将来自Internet的所有请求代理到ES。
答案 1 :(得分:0)
要创建和管理ES域,您可以参考此documentation。
在“网络配置”部分中创建ES域时,您可以选择VPC访问或公共访问。如果选择公共访问,则可以使用仅允许特定用户或IP地址访问该域的访问策略来保护您的域。
要了解有关访问策略的更多信息,请参阅此SO answer。
因此,如果您在VPC外部创建ES域,则可以在公共访问中轻松地通过邮递员发送请求并获得响应,无需添加任何授权。
URL中的endpoint
是创建ES域时生成的endpoint
。
创建索引
用于将数据添加到索引
获取API以获取创建的索引映射
现在,您可以从您的AWS控制台检查它是否在ES域中创建了该索引