我在尝试访问和管理 GCP 中的虚拟机实例时遇到问题。
基本上,大约两年前,我创建了一个需要 elasticsearch 的项目。我通过谷歌云平台实现了这个模块,使用的是:“Elasticsearch Certified by Bitnami”。
通过访问站点地址,并使用 GCP 提供的凭据,我能够通过直接使用带有站点地址的插件(使用链接 http://35.xxx.xx.xxx//elasticsearch/... 的 POST、PUT 和 GET 命令)来完成我需要的一切。
这工作得很好,但是,我停止了网站上的功能一段时间,现在我需要再次使用它,按照相同的步骤操作不起作用,因为 GCP 不再提供网站地址来访问或与之交互像我以前那样做虚拟机。
我认为这与 Bitnami 直接有关,但是在他们的支持网站上有一个类似的问题
他们的一位工程师回答似乎指向谷歌作为这种变化的来源:https://community.bitnami.com/t/no-more-site-address-gcp-wordpress/52133 (在我的情况下是一个 Elasticsearch 实例而不是一个 wordpress 实例)。
保留静态 ip 并将其插入以前的链接格式也不起作用。 (http://external-IP//elasticsearch/...)
所以我的问题是:现在有没有一种方法可以像以前一样与虚拟机交互?如果是这样,我该怎么做,我应该使用什么地址?如果不可能,我如何与 VM 实例交互以分配映射并直接发送查询?
(如有必要,我发现有人做了与我之前做的类似的实现,所以你可以了解我在寻找什么:https://www.youtube.com/watch?v=Wv2EoMQ-5vQ)
谢谢你的时间。
最佳答案
您无法访问 Elasticsearch 实例可能有多种原因。
sudo /opt/bitnami/ctlscript.sh status
$ gcloud compute firewall-rules list | grep 9200
elasticsearch default INGRESS 1000 tcp:22,tcp:9200,tcp:9300,tcp:9600 False
sudo iptables -L
并验证是否没有规则阻止 Elasticsearch 端口。 此外,如果您的 Elasticsearch 最近更新了配置,则配置可能已更改(但目前只是猜测)并且可能是原因。
但是 - 如果您的实例一切正常,您应该可以通过键入
http://my_vm_external_ip:9200
来访问它。你应该得到一个 API 响应: "name" : "elasticsearch-1-vm",
"cluster_name" : "bnCluster",
"cluster_uuid" : "0q4a-ouNQ0OechAIXz1S0g",
"version" : {
"number" : "7.8.0",
"build_flavor" : "oss",
"build_type" : "tar",
"build_hash" : "757314695644ea9a1dc2fecd26d1a43856725e65",
"build_date" : "2020-06-14T19:35:50.234439Z",
"build_snapshot" : false,
"lucene_version" : "8.5.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
为了确保这是一个可行的解决方案,我刚刚部署了 "Elasticsearch by Bitnami" from marketplace.然后我创建了一个防火墙规则:gcloud compute --project=my_project firewall-rules create elasticsearch --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:22,tcp:9200,tcp:9300,tcp:9600 --source-ranges=0.0.0.0/0 --target-tags=elasticsearch-1-deployment
我用了--target-tags=elasticsearch-1-deployment
部署为运行 Elasticsearch 的虚拟机创建的标签 - 您可以使用不同的标签或根本不使用标签 - 这只是一个示例。该文档也可能对您有所帮助https://docs.bitnami.com/google/faq/administration/use-firewall/
关于elasticsearch - 通过站点地址与 GCP 虚拟机实例交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62948565/