观测云日志转发至 AWS S3 最佳实践

背景

在日志保留周期越来越长的场景下,把全部数据都放在高频检索链路中,通常会带来持续的存储成本压力。对于"需要长期留存、但低频访问"的日志,采用观测云数据转发能力,将数据归档到 AWS S3,是一条更稳妥的成本与治理平衡路径。

为什么值得做

将日志转发到 S3 后,团队通常可以获得以下收益:

  • 以更低成本实现长期归档,形成冷热分层。
  • 保留原始日志,便于审计追溯与合规留存。
  • 为后续离线分析、ETL、数据仓库加工提供统一数据底座。
  • 将在线检索与归档解耦,提升整体日志治理弹性。

方案概览

观测云日志转发至 S3 支持三种接入方式:

  1. 角色授权(推荐)
  2. 账号授权
  3. Access Key(AK/SK)授权

在生产环境中,建议优先使用角色授权,以获得更好的凭证安全性与权限治理能力。

前提条件

三种方式在开始前都需要先准备以下信息:

  1. 在 AWS 目标区域创建 S3 存储桶(建议结合生命周期策略,必要时启用版本控制/对象锁)。
  2. 明确存储桶名称(例如 guance-log-archive-2026)和区域(例如 ap-east-1cn-north-1)。
  3. 在观测云 管理 -> 数据转发 -> 新建规则 页面获取:
    • 观测云账号 ID(Account ID)
    • 观测云外部 ID(External ID,角色授权时必需)

分区注意事项:

  • 中国区(北京/宁夏)使用 arn:aws-cn:s3:::
  • 海外区使用 arn:aws:s3:::

配置步骤

方式一:角色授权(推荐)

该方式通过 IAM Role + External ID 建立受控信任关系,适合长期稳定运行。

步骤 1:创建 S3 存储桶

示例桶名:guance-csm-s3

步骤 2:创建 S3 权限策略

在 IAM 中创建策略,重点授予 PutObjectGetObjectListBucketGetBucketLocation 四项权限,并将资源限定在目标桶。

复制代码
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Statement1",
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:ListBucket",
        "s3:GetBucketLocation"
      ],
      "Resource": [
        "arn:aws:s3:::guance-csm-s3",
        "arn:aws:s3:::guance-csm-s3/*"
      ]
    }
  ]
}
步骤 3:创建 IAM 角色并配置自定义信任策略

信任策略中最关键的是两项:

  • Principal.AWS:观测云账号 ID
  • sts:ExternalId:观测云外部 ID
复制代码
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::<观测云账号ID>:root"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "sts:ExternalId": "<观测云外部ID>"
        }
      }
    }
  ]
}

观测云账号 ID 与 External ID 获取路径:观测云控制台 -> 管理 -> 数据转发 -> 新建规则

随后将第二步创建的 S3 策略附加到该角色。

步骤 4:在观测云测试并保存规则

管理 -> 数据转发 -> 新建规则 中选择 AWS S3,访问方式选择"角色授权",填写地区、桶名称、角色名称与可选存储路径,测试连接成功后保存。

方式二:账号授权

该方式通过桶策略直接授权观测云账号访问目标桶。

步骤 1:配置桶策略

在 S3 桶的"权限"页编辑桶策略,填入观测云账号 ID 和目标桶 ARN。

复制代码
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "GuanceyunAccess",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::<观测云账号ID>:root"
      },
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::guance-csm-s3",
        "arn:aws:s3:::guance-csm-s3/*"
      ]
    }
  ]
}

观测云账号 ID 获取路径:观测云控制台 -> 管理 -> 数据转发 -> 新建规则

步骤 2:在观测云测试并保存规则

填写地区与桶名称,测试连接成功后保存。

方式三:Access Key(AK/SK)授权

该方式通过 IAM 用户访问密钥完成认证,适合临时验证或过渡期使用。

步骤 1:创建 IAM 用户
步骤 2:创建并绑定 S3 策略
复制代码
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Statement1",
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:CreateBucket",
        "s3:ListAllMyBuckets",
        "s3:ListBucket"
      ],
      "Resource": "arn:aws:s3:::*"
    }
  ]
}
步骤 3:创建访问密钥并在观测云配置

在 IAM 用户的"安全凭证"中创建访问密钥,获取 AK/SK 后在观测云规则中填写并测试连接。

效果验证

建议从以下四个维度确认配置已生效:

  1. 规则侧验证:观测云"测试连接"通过。
  2. 存储侧验证:S3 指定前缀下有持续对象写入。
  3. 内容侧验证:抽样下载对象,确认日志结构与字段完整。
  4. 运行侧验证:连续观察无频繁失败或权限异常。

常见问题与注意事项

  1. 中国区与海外区 ARN 前缀混用,导致授权失败。
  2. 角色授权失败时,优先核查 Account ID 与 External ID 是否正确。
  3. 若出现 AccessDenied,请核对策略是否包含 PutObjectListBucketGetBucketLocation
  4. 桶区域与观测云规则填写区域不一致会导致连接测试失败。
  5. Access Key 模式建议定期轮换密钥并控制权限范围。

总结

通过角色授权、账号授权或 Access Key 三种方式,都可以将观测云日志稳定转发到 AWS S3,实现低成本长期归档。实际落地中,建议优先采用角色授权,并重点关注三个关键点:授权模型、ARN 分区前缀、区域一致性。完成这三点后,日志归档链路通常可以稳定运行,并为后续审计、分析与数据加工提供可靠基础。

相关推荐
代码N年归来仍是新手村成员8 小时前
【AWS】Lambda 初识与服务部署
javascript·react.js·ai·node.js·云计算·ai编程·aws
小哈里9 小时前
【K8S】云原生时代的GitOps最佳实践 —— ArgoCD
云原生·kubernetes·云计算·argocd·基础设施
wanhengidc9 小时前
云手机 跨设备无缝衔接
运维·服务器·人工智能·智能手机·云计算
爱笑的源码基地11 小时前
智慧班牌源码:从后端SpringBoot到前端Vue2的全栈实现
java·大数据·云计算·源码·程序代码·智慧校园源码·智慧班牌源码
Akamai中国12 小时前
针对 Akamai Cloud 上的 NVIDIA RTX Pro 6000 Blackwell 进行基准测试
人工智能·云计算·gpu算力·云服务
wanhengidc1 天前
云手机搬砖 像僵尸开炮
运维·网络·智能手机·云计算
纤纡.1 天前
阿里云 DSW 实战:从零完成 Qwen3-4B 大模型 LoRA 微调全流程
人工智能·阿里云·语言模型·云计算
hz567891 天前
2026 年 RTC 音视频 SDK 解析:技术架构、主流厂商与选型指南
架构·云计算·音视频·webrtc·实时音视频·信息与通信
LDR0061 天前
LDR6020:多 Type‑C 端口角色管理与外设上电顺序的智慧核心
c语言·开发语言·云计算
搞科研的小刘选手1 天前
【大数据方向专题研讨会】第三届大数据与数字化管理国际学术会议(ICBDDM 2026)
大数据·信息安全·数据挖掘·云计算·可视化·供应链·信息管理