amazon-web-services - 如果它在 ec2 实例中运行,如何检查我的 Elasticsearch 是否启动

标签 amazon-web-services elasticsearch amazon-ec2 amazon-elastic-beanstalk elasticsearch-5

我已经在 EC2 机器中设置了 Elasticsearch 版本 6.5+,当我执行 curl localhost:9200/_cluster/health?pretty 时,它会返回我的值,但是当我使用 ec2instance public ip 在 google chrome 上执行此操作时,它不会导致我数据,我得到了,因为我没有绑定(bind)我的网络主机在 0.0.0.0 上运行。我不想这样做,因为它会暴露我的数据。现在我的 Spring Boot 应用程序在 beanstalk 实例上运行,如果我尝试将它从那里连接到 Elasticsearch 实例,它仍然无法工作。所以我将 beanstalk 公共(public) ip 放到网络主机上,但它仍然无法工作,并且仍然不是一个可行的解决方案,因为我的 beanstalk ip 可以根据自动缩放进行更改。那么解决这个问题的正确方法是什么

最佳答案

您可以在 elasticsearch 实例前使用反向代理,以仅允许来自您的公共(public) IP 的特定请求 (/_cluster/health?pretty) 以及仅来自使用虚拟服务器功能的另一个特定 IP 的所有请求。或者您也可以实现“基本身份验证”以允许所有请求,从而在公共(public) IP 上公开 Elasticsearch 实例。请记住,让您的反向代理与 elasticsearch 实例位于同一 AWS 区域,并使用反向代理中的私有(private) IP/DNS 与 elasticsearch 实例通信。
不要忘记检查您在此过程中可能使用的额外延迟和进一步优化,例如设置保持事件连接和请求限制等。

关于amazon-web-services - 如果它在 ec2 实例中运行,如何检查我的 Elasticsearch 是否启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63843418/

相关文章:

amazon-web-services - 如何通过CLI获取基于Nitro系统的EC2实例类型列表?

node.js - Node js - 将文件从 Amazon Lambda 中的/tmp 移动到 s3bucket

visual-studio - "Missing Authentication Token"错误

php - 云计算 - PHP 和 MySQL

lucene - Solandra 与 ElasticSearch

java - 在Apache Camel中停止SQL路由

wordpress - AWS Route53 将 wordpress 子目录路由到不同的 EC2 实例

java - 尝试使用 cloudfront 和 privateKey 访问存储在 S3(静态网络托管)中的私有(private)内容时出现 HTTP/1.1 403 Forbidden

amazon-web-services - 无法删除ECS(EC2容器服务)的EC2实例

elasticsearch - 使用ElasticSearch聚合结果更新数据集