You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Amazon Managed Grafana连接到EKS集群中的Loki

连接Amazon Managed Grafana(AMG)到EKS集群内的Loki实例

根据你的网络架构和安全需求,有几种可行的连接方案,以下是具体实现步骤:

方案1:公网暴露Loki(测试/非敏感场景)

这种方式快速便捷,但不建议用于生产环境:

  • 为Loki创建LoadBalancer类型的Service,将其暴露到公网:
    apiVersion: v1
    kind: Service
    metadata:
      name: loki-public
      namespace: <your-loki-namespace>
    spec:
      type: LoadBalancer
      selector:
        app: loki # 匹配你的Loki Pod标签
      ports:
        - protocol: TCP
          port: 3100
          targetPort: 3100
    
  • 应用配置后,获取Loki的公网地址:
    kubectl get svc loki-public -n <your-loki-namespace>
    
    查看输出的EXTERNAL-IP字段,拼接成完整URL(比如http://xxx.xxx.xxx.xxx:3100)
  • 进入AMG工作区,添加Loki数据源:
    • 左侧菜单选择「Data sources」→ 搜索「Loki」→ 点击「Add data source」
    • 在「URL」栏填入上面的公网地址
    • 如果Loki启用了基本认证,在「Auth」区域填写对应的用户名和密码
    • 点击「Save & test」验证连接是否成功

方案2:私有网络连接(生产环境推荐)

通过VPC对等连接或Amazon PrivateLink,让AMG和EKS集群在私有网络内通信,避免公网暴露:

子步骤1:打通VPC网络

  • VPC对等连接:
    1. 在AWS控制台创建AMG所在VPC与EKS集群VPC的对等连接,双方接受连接请求
    2. 配置两个VPC的路由表,添加指向对方CIDR的路由,下一跳为对等连接ID
    3. 调整EKS节点安全组规则,允许AMG VPC的CIDR访问3100端口
  • Amazon PrivateLink:
    1. 为Loki的ClusterIP Service创建端点服务:
      apiVersion: v1
      kind: Service
      metadata:
        name: loki-privatelink
        namespace: <your-loki-namespace>
        annotations:
          service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
          service.beta.kubernetes.io/aws-load-balancer-scheme: "internal"
      spec:
        type: LoadBalancer
        selector:
          app: loki
        ports:
          - port: 3100
            targetPort: 3100
      
    2. 在AMG所在VPC创建端点,连接到上面的端点服务

子步骤2:配置AMG数据源

  • 使用Loki的私有地址:
    • 如果是VPC对等,可直接用集群内部DNS:http://loki.<your-loki-namespace>.svc.cluster.local:3100
    • 如果是PrivateLink,使用端点的DNS名称
  • 进入AMG添加Loki数据源,填入私有地址
  • 若Loki启用了AWS IAM认证,在数据源配置中开启「AWS Signature Version 4」,选择对应区域,并确保AMG的服务角色拥有访问Loki的IAM权限(比如允许loki:Query等动作)
  • 点击「Save & test」完成验证

方案3:基于IRSA的IAM认证(生产环境增强版)

如果你的Loki配置了IAM Roles for Service Accounts(IRSA)认证:

  • 确保AMG的服务角色能访问EKS集群的OIDC提供商,并且拥有调用Loki API的权限
  • 在Loki的配置文件中,添加AMG角色到允许访问的IAM策略列表
  • 在AMG的Loki数据源配置中,开启「AWS Signature Version 4」,填入Loki的私有地址,保存后测试连接

常见问题排查

  • 安全组/网络策略:确认EKS节点安全组允许AMG的流量访问3100端口;若启用NetworkPolicy,需允许AMG的IP范围访问Loki Service
  • 认证配置:如果Loki开启了任何认证方式(基本认证、IAM、OAuth),必须在AMG数据源中对应配置,否则连接会失败
  • 网络连通性:可在AMG所在VPC的测试实例中执行curl <loki-address>/ready,验证是否能访问Loki的健康检查端点

内容的提问来源于stack exchange,提问作者DAN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 10:32:53