阿里云SLS导入Google Cloud Storage数据

更新时间:
复制为 MD 格式

日志服务(SLS)支持通过 S3 兼容协议导入 Google Cloud Storage(GCS)中的日志文件,实现跨云日志的集中查询、分析和监控。

重要

本文档为阿里云原创,知识产权归阿里云所有。由于本文档旨在介绍阿里云与第三方产品交互的服务能力,因此可能会提及第三方公司或其产品名称。

方案概述

在多云架构或云迁移场景中,日志数据分散在不同云平台。将 GCS 中的日志导入阿里云 SLS,可以实现统一管理和分析。

适用场景:

  • 多云日志集中管理:业务同时部署在阿里云和 Google Cloud,需要将所有日志统一汇聚到 SLS 进行关联分析和告警。

  • 云迁移过渡期数据同步:从 Google Cloud 迁移至阿里云期间,持续同步 GCS 中的历史日志到 SLS,确保迁移过程中日志可查询。

  • 跨云合规审计:将多个云平台的操作日志汇聚到统一平台,进行合规审计和安全分析。

GCS 提供与 Amazon S3 兼容的互操作性接口。SLS 的数据导入功能利用该接口,通过 HMAC 密钥认证从 GCS Bucket 中拉取日志文件。

准备工作

开始导入前,分别在阿里云和Google Cloud完成以下准备。

阿里云侧

  1. 确认账号权限。若使用 RAM 用户操作,确保已授予 AliyunLogFullAccess 权限,或参考创建自定义权限策略进行细粒度授权。

  2. 创建用于接收数据的 ProjectLogStore

GCS 侧

  1. 获取以下 GCS 关键配置信息,用于后续创建 SLS 导入任务。

    配置项

    说明

    GCS Endpoint

    默认使用全局端点 https://storage.googleapis.com。如需访问特定区域的存储桶,可使用区域端点,例如 https://storage.googleapis.com/storage/v1

    Bucket 名称

    存储日志文件的 GCS Bucket 名称。

    AccessKeyId / AccessKeySecret

    GCS 的 HMAC 密钥,用于 S3 兼容协议认证。获取方式参见下方步骤3。

  2. 获取Bucket 名称。image

  3. 获取AccessKeyId / AccessKeySecret。image

计费说明

SLS 数据导入功能的费用取决于计费模式:

  • 按写入量计费:费用基于原始日志写入数据量计算。

  • 按功能计费:费用根据读写流量、读写次数、索引流量(如开启索引)以及存储空间等因素综合计算。

操作步骤

步骤一:创建 SLS 数据导入任务

  1. 登录日志服务控制台

  2. 单击目标 Project 名称,进入 Project 详情页。

  3. 在左侧导航栏单击任务管理,切换到数据导入页签。

  4. 单击创建数据导入任务,在 GCS-数据导入卡片上单击立即接入

  5. 选择数据导入的目标 LogStore,单击下一步

  6. 导入配置页面,配置数据源信息。各参数说明如下。

    参数

    说明

    示例

    显示名称

    导入任务的显示名称,便于识别和管理。

    gcs-log-import

    GCS Endpoint

    GCS 的访问端点。默认使用全局端点 https://storage.googleapis.com,通常无需修改。

    https://storage.googleapis.com

    Bucket

    存储日志文件的 GCS Bucket 名称。

    my-log-bucket

    AccessKeyId

    GCS HMAC 密钥的访问密钥 ID。获取方式参见准备工作

    GOOG1E***

    AccessKeySecret

    与 AccessKeyId 配对的 HMAC 密钥。

    bGoa***

    文件前缀(可选)

    按文件路径前缀过滤待导入的文件。仅导入匹配该前缀的文件。不配置则默认导入 Bucket 内所有文件。

    logs/2026/

    数据格式

    日志文件的数据格式,支持 JSON、CSV、分隔符等。根据 GCS 中实际存储的日志格式选择。

    JSON 字符串

  7. 单击预览,SLS 将尝试连接 GCS 并读取文件。

    说明

    若连接失败,检查网络连通性、Bucket 名称、AccessKeyId/AccessKeySecret 是否正确,以及 HMAC 密钥对应的服务账号是否具有读取权限。

  8. 确认预览数据无误后,单击下一步

步骤二:查看与管理导入任务

任务创建成功后,系统自动启动并持续运行。

  1. 在左侧导航栏,单击任务管理

  2. 选择数据导入页签,单击目标任务名称,打开导入任务概览页面,查看任务运行状态、处理速率和错误信息等监控指标。

常见问题

连接 GCS 失败

创建导入任务时,单击预览后提示连接失败。排查方法:

  • Endpoint 配置错误:确认 GCS Endpoint 填写为 https://storage.googleapis.com,注意包含 https:// 前缀。

  • Bucket 名称错误:确认 Bucket 名称与 GCS 控制台中显示的名称完全一致,区分大小写。

  • 网络连通性问题:SLS 通过公网访问 GCS,确认 GCS Bucket 未设置限制外部 IP 访问的策略。

认证失败(AccessKey 相关)

预览或运行任务时提示认证失败或权限不足。排查方法:

  • HMAC 密钥无效:确认 AccessKeyId 和 AccessKeySecret 是从 GCS 互操作性页面获取的 HMAC 密钥,而非 Google Cloud 的 API Key 或 OAuth 凭据。

  • 权限不足:确认 HMAC 密钥关联的服务账号至少具有目标 Bucket 的 storage.objects.getstorage.objects.list 权限(通常授予 Storage Object Viewer 角色即可)。

  • 密钥已停用或删除:登录 GCS 控制台检查 HMAC 密钥状态是否为有效

数据解析异常

导入任务运行正常,但日志数据未按预期解析为字段。排查方法:

  • 数据格式选择错误:确认导入配置中的数据格式与 GCS 中日志文件的实际格式一致。例如日志文件为 JSON 格式,数据格式应选择JSON 字符串

  • 文件编码不匹配:确认日志文件编码为 UTF-8。如果使用其他编码,需在导入配置中选择对应的编码格式。

  • 文件前缀过滤不当:如果配置了文件前缀,确认前缀路径正确,不会遗漏目标日志文件。