正在加载

GCP Private Service Connect 流量过滤器

Elastic Cloud Hosted

流量过滤以仅允许 Private Service Connect 连接是 Elastic Cloud 中可用的安全层之一。它允许您限制如何访问您的部署。

请参阅流量过滤以了解有关 Elastic Cloud Hosted 中流量过滤的更多信息,以及流量过滤规则的工作方式。

注意

Private Service Connect 过滤仅支持 Google Cloud 区域。

Private Service Connect 在两个 Google Cloud VPC 之间建立安全连接。 VPC 可以属于不同的帐户,例如服务提供商及其服务消费者。 Google Cloud 在 Google Cloud 数据中心内路由 Private Service Connect 流量,并且永远不会将其暴露给公共互联网。在这种配置中,Elastic Cloud 是第三方服务提供商,客户是服务消费者。

Private Link 是 Private Service Connect 端点和服务附件之间的连接。了解有关在 Google Cloud 上使用 Private Service Connect 的更多信息

提示

Private Service Connect 连接是区域性的,您的 Private Service Connect 端点需要与您的部署位于同一区域。一旦您启用其 全局访问 功能,就可以从任何区域访问该端点。

服务附件由 Elastic 在所有受支持的 GCP 区域中根据以下 URI 进行设置

设置到您的集群的 Private Link 连接的过程分为 Google Cloud (例如,通过使用 Google Cloud 控制台) 和 Elastic Cloud UI。以下是高级步骤

Google Cloud 控制台 Elastic Cloud UI
1. 使用 Elastic Cloud Service Attachment URI 创建 Private Service Connect 端点。
2. 创建指向 Private Service Connect 端点的 DNS 记录。
3. 使用 PSC 连接 ID 创建 Private Service Connect 规则集。
4. 将 Private Service Connect 规则集与您的部署关联。
5. 通过 Private Service Connect 与您的部署交互。
  1. 使用您所在区域的服务附件 URI 在您的 VPC 中创建 Private Service Connect 端点。

    有关创建 Private Service Connect 端点以访问 Private Service Connect 服务的详细信息,请遵循 Google Cloud 说明

    使用 您所在区域的服务附件 URI。选择 已发布的服务 选项,然后输入所选的服务附件 URI 作为 目标服务。例如,对于区域 asia-southeast1,服务附件 URI 为 projects/cloud-production-168820/regions/asia-southeast1/serviceAttachments/proxy-psc-production-asia-southeast1-v1-attachment

    注意

    您需要在您的 VPC 中 预留静态内部 IP 地址。该地址由 Private Service Connect 端点使用。

    记下 PSC 连接 ID,例如 18446744072646845332

  2. 创建 DNS 记录。

    1. 创建类型为 PrivateDNS 区域。将 DNS 名称 设置为您所在区域的 专用区域 DNS 名称。例如,在 asia-southeast1 中,使用 psc.asia-southeast1.gcp.elastic-cloud.com 作为区域域名。确保该区域与您的 VPC 关联。

    2. 然后,创建一个 DNS 记录集,其中包含指向 Private Service Connect 端点 IP 的 A 记录。使用 * 作为 DNS 名称A 作为 资源记录类型,并将 Private Service Connect 端点 IP 地址作为记录值。

      有关创建指向您的 Private Service Connect 端点 IP 地址的 A 记录的详细信息,请遵循 Google Cloud 说明

  3. 测试连接。

    找出您的部署的 Elasticsearch 集群 ID。您可以通过在 Cloud UI 中选择 复制集群 ID 来做到这一点。它看起来像 9c794b7c08fa494b9990fa3f6f74c2f8

    提示

    Elasticsearch 集群 ID 与用户控制台中突出显示的部署 ID、自定义别名端点和 Cloud ID 值不同

    要通过 Private Link 访问您的 Elasticsearch 集群

    • 如果您配置了 自定义端点别名,则可以使用自定义端点 URL 进行连接。

      https://{{alias}}.{product}.{{private_hosted_zone_domain_name}}
      

      例如

      https://my-deployment-d53192.es.psc.asia-southeast1.gcp.elastic-cloud.com
      
    • 或者,使用以下 URL 结构

      https://{{elasticsearch_cluster_ID}}.{private_hosted_zone_domain_name}:9243
      

      例如

      https://6b111580caaa4a9e84b18ec7c600155e.psc.asia-southeast1.gcp.elastic-cloud.com:9243
      

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

    请求

    $ curl -v https://6b111580caaa4a9e84b18ec7c600155e.psc.asia-southeast1.gcp.elastic-cloud.com: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 端点关联。

请按照以下高级步骤将 private link 规则添加到您的部署。

  1. 查找您的 Private Service Connect 连接 ID.
  2. 使用 Private Service Connect 端点连接 ID 创建规则.
  3. 将 Private Service Connect 端点与您的部署关联.
  4. 通过 Private Service Connect 访问部署.
  1. 转到 Google Cloud 控制台中的 Private Service Connect 端点。
  2. 复制 PSC 连接 ID 的值。

当您拥有 Private Service Connect 端点连接 ID 时,您可以创建流量过滤规则集。

  1. 登录到 Elastic Cloud Console
  2. 在主页或 托管部署 页面上找到您的部署,然后选择 管理 以访问其设置菜单。
  3. 功能 选项卡下,打开 流量过滤器 页面。
  4. 选择 创建过滤器
  1. 选择 Private Service Connect 端点

  2. 创建您的规则集,提供有意义的名称和描述。

  3. 选择规则集的区域。

  4. 输入您的 PSC 连接 ID

  5. 选择是否应将此规则集自动附加到新的部署。

    注意

    每个规则集都绑定到特定区域,并且只能分配给同一区域中的部署。

  6. (可选) 您可以 声明您的 PSC 连接 ID,以便没有其他组织能够在流量过滤器规则集中使用它。

下一步是将规则集与您的部署关联

将私有链接规则集与您的部署关联

  1. 转到部署。
  2. 安全页面上的流量过滤器下,选择应用过滤器
  3. 选择要应用的过滤器,然后选择应用过滤器

要使流量通过 Private Service Connect 连接到部署,发出请求的客户端需要位于您创建 Private Service Connect 端点的 VPC 中。 您还可以设置网络流量,使其从其他地方(例如另一个 VPC 或来自公司网络的 VPN)流经原始 VPC。 这假定 Private Service Connect 端点和 DNS 记录也可在该上下文中使用。 有关设置说明,请查看您的云服务提供商文档。

重要提示

使用您设置为 CNAME A 记录的别名来访问您的部署。

例如,如果您的 Elasticsearch ID 是 6b111580caaa4a9e84b18ec7c600155e 并且它位于 asia-southeast1 区域,您可以通过以下 URL 访问它

https://6b111580caaa4a9e84b18ec7c600155e.psc.asia-southeast1.gcp.elastic-cloud.com:9243

请求

$ curl -u 'username:password' -v https://6b111580caaa4a9e84b18ec7c600155e.psc.asia-southeast1.gcp.elastic-cloud.com:9243

响应

< HTTP/1.1 200 OK
..
注意

如果您将 Private Service Connect 与 Fleet 一起使用,并使用 Private Service Connect URL 注册 Elastic Agent,则需要配置 Fleet Server 以使用和传播 Private Service Connect URL,方法是更新 Kibana 的Fleet 设置部分中的 Fleet Server 主机字段。 否则,Elastic Agent 将重置为使用默认地址而不是 Private Service Connect URL。 该 URL 需要遵循以下模式:https://<Fleet component ID/deployment alias>.fleet.<private zone DNS name>:443

同样,需要更新 Elasticsearch 主机以传播 Private Service Connect URL。 Elasticsearch URL 需要遵循以下模式:https://<Elasticsearch cluster ID/deployment alias>.es.<private zone DNS name>:443

在 Kibana 中启用此配置所需的设置 xpack.fleet.agents.fleet_server.hostsxpack.fleet.outputs 目前仅在本地可用,而不在Elastic Cloud 中的 Kibana 设置中可用。

您可以编辑规则集名称或更改 PSC 连接 ID。

  1. 帐户菜单中,选择流量过滤器
  2. 找到要编辑的规则集。
  3. 选择编辑图标。

如果您需要删除规则集,必须先删除与部署的所有关联。

要删除包含所有规则的规则集

  1. 删除任何部署关联.
  2. 帐户菜单中,选择流量过滤器
  3. 找到要编辑的规则集。
  4. 选择删除图标。 如果有部署分配给该规则集,则该图标处于非活动状态。

如果您想从部署中删除任何流量限制或删除规则集,您需要首先删除任何规则集关联。 要通过 UI 删除关联

  1. 转到部署。
  2. 安全页面上的流量过滤器下,选择删除
© . All rights reserved.