mcpField
P
private-connectivity

private-connectivity

github.com/grafana云与 DevOps2954.2k 次安装1 天前更新
代码仓库

关于 private-connectivity

面向 Grafana Cloud 管理员的私有连接设置指南,介绍如何通过云服务商的私有网络发送遥测数据,并配置私有数据源查询。

主要功能

  1. 01配置 AWS PrivateLink
  2. 02配置 Azure Private Link
  3. 03配置 GCP Private Service Connect
  4. 04验证私有 DNS 与流量
  5. 05设置 Private Data Source Connect

适用场景

  1. 01通过私有网络发送指标、日志、追踪和配置文件数据
  2. 02检查端点和 DNS 是否走私有路径
  3. 03从 Grafana 查询私有数据库或 Prometheus

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/grafana/skills --skill private-connectivity

安装后在 Claude Code 中输入/private-connectivity确认已加载。

附带文件references/aws.mdreferences/azure-gcp.md

详细介绍

Grafana Cloud 私有连接

文档:https://grafana.com/docs/grafana-cloud/send-data/

通过云服务商的私有骨干网将指标、日志、追踪和性能分析数据发送到 Grafana Cloud,全程无需暴露到公共互联网,也无需支付出口流量费用。

常见工作流

设置 AWS PrivateLink(最常见)
  1. 查找服务名称。 前往 Grafana Cloud → Stack Details →“Send using AWS PrivateLink”。记下每种信号类型(指标 / 日志 / 追踪 / 性能分析)对应的一个服务名称。

  2. 为每种信号类型创建一个接口 VPC 端点:

    aws ec2 create-vpc-endpoint \
      --vpc-id vpc-12345 \
      --service-name com.amazonaws.vpce.us-east-1.vpce-svc-0abc123 \
      --vpc-endpoint-type Interface \
      --subnet-ids subnet-12345 \
      --security-group-ids sg-12345 \
      --private-dns-enabled
    
  3. 验证私有 DNS 是否能解析(至关重要——如果这里返回的是公共 IP,Alloy 会悄悄继续使用公共路径,你也会继续支付出口流量费用):

    dig +short prometheus-private.us-east-0.grafana.net
    # Expected: a 10.x.x.x / 172.16-31.x.x / 192.168.x.x address
    # Public IP returned → check `private_dns_enabled = true` was set and the VPC has DNS hostnames enabled
    
  4. 更新 Alloy 以使用私有端点:

    prometheus.remote_write "cloud_private" {
      endpoint {
        url = "https://prometheus-private.us-east-0.grafana.net/api/prom/push"
        basic_auth {
          username = sys.env("PROM_USER")
          password = sys.env("GRAFANA_CLOUD_API_KEY")
        }
      }
    }
    
    loki.write "cloud_private" {
      endpoint {
        url = "https://logs-private.us-east-0.grafana.net/loki/api/v1/push"
        basic_auth {
          username = sys.env("LOKI_USER")
          password = sys.env("GRAFANA_CLOUD_API_KEY")
        }
      }
    }
    
  5. 确认流量正通过 PrivateLink 传输: Alloy 开始推送后,检查 VPC 端点的 CloudWatch 指标 BytesProcessed。

完整的 Terraform 配置和每种信号类型对应的端点资源,请参阅 references/aws.md。

设置 Azure Private Link / GCP Private Service Connect

不同的服务商,流程类似:创建私有端点 → 等待批准 → 验证私有 DNS → 更新 Alloy URL。完整的 CLI 和验证步骤请参阅 references/azure-gcp.md。

Azure 特定前提条件: 开始之前,请联系 Grafana Support 预先登记你的 Subscription ID,否则端点创建会卡在“Pending”状态。

前提条件(所有服务商)

  • Grafana Cloud 堆栈必须托管在相同的云服务商上(检查位置:My Account → Stack → Details)
  • 为每种信号类型分别创建私有端点(指标 / 日志 / 追踪 / 性能分析)——它们各自具有不同的服务名称
  • AWS PrivateLink 仅支持相同区域。跨区域连接需要先建立 VPC 对等连接。

选择合适的方案

场景解决方案
从 AWS 推送AWS PrivateLink
从 Azure 推送Azure Private Link
从 GCP 推送GCP Private Service Connect
从 Grafana 查询私有 DB / PrometheusPrivate Data Source Connect(PDC)——请参阅 references/azure-gcp.md § PDC

参考资料

  • references/aws.md — 每种信号类型对应的完整 AWS PrivateLink Terraform 配置,以及端点验证(状态 + DNS)
  • references/azure-gcp.md — Azure Private Link + GCP Private Service Connect 设置(Portal + CLI)、验证,以及用于反向私有数据源查询的 Private Data Source Connect(PDC)

评论

支持 Markdown