1

我正在设置与 Elastic Cloud 的 GCP 私有服务连接,并且我已按照此页面中的说明进行操作:

  1. https://www.elastic.co/guide/en/cloud/current/ec-traffic-filtering-psc.html

所以我在 GCP 上设置了 Private Service Connect,创建了一个与 A-Record 相同的 ip 的 DNS,与在 Private Service Connect 上提供的 IP 相同。我在 Elastic Cloud 中创建了一个流量过滤器,它具有在 GCP 生成的相同 psc id,之后我将此流量过滤器添加到了其中一个 Elasticsearch 部署的安全性中。

在我在 Elastic 上面发布的文档中提到了以下部分:

要通过专用链接访问您的 Elasticsearch 集群,请使用以下 URL 结构:https://{elasticsearch_cluster_ID}.{private_hosted_zone_domain_name}:9243

例如:

https://6b111580caaa4a9e84b18ec7c600155e.psc.asia-southeast1.gcp.cloud.es.io:9243

您可以使用以下命令测试设置的 Google Cloud 控制台部分(将区域和 Elasticsearch ID 替换为您的集群):

$ curl -v https://6b111580caaa4a9e84b18ec7c600155e.psc.asia-southeast1.gcp.cloud.es.io:9243
..
*   Trying 192.168.100.2...
..
< HTTP/2 403
..
{"ok":false,"message":"Forbidden"}

检查 IP 地址 192.168.100.2。它应该与分配给您的 Private Service Connect 端点的 IP 地址相同。

建立连接,并向客户端提供有效证书。403 Forbidden 是预期的,您尚未将任何部署与 Private Service Connect 端点相关联。

我已经完成了这部分,并且收到了与上述 curl 响应类似的消息。但是,我的终端中 curl 响应中的 ip 是不同的。所以它与分配给我的私人服务连接端点的 ip 地址不同。

我无法共享配置的屏幕截图,因为它包含我不允许在公司外部共享的 psc id 或 IP 地址。但是配置与我上面发布的链接教程中的描述完全相同。

知道导致这种不匹配的原因是什么吗?或者其他人有类似的问题吗?

4

1 回答 1

1

很可能问题出在 DNS 记录上。您可以使用 cloud shell 命令验证它:

gcloud dns record-sets list --zone=<your-dns-zone-name>

确认您有指向您的 Private Connect Service 端点 IP 地址的记录:

NAME: *.psc.us-east1.gcp.elastic-cloud.com.
TYPE: A
TTL: 300
DATA: <endpoint-ip-address>

确保您的区域具有正确的专用区域 DNS 名称

于 2022-01-10T23:39:53.953 回答