跳至内容

如何确定 Amazon S3 中的数据传输成本?

1 分钟阅读
0

我为 Amazon Simple Storage Service(Amazon S3)支付了高额的数据传输费用。我想确定导致高额数据传输费用的存储桶。

简短描述

您需要为进出 Amazon S3 的所有带宽付费,但以下数据除外:

  • 每月传输到互联网的前 100 GB 数据
    **注意:**这是除中国的 Amazon Web Services 和 AWS GovCloud(美国)之外的所有 AWS 服务和 AWS 区域的汇总数据。
  • 从互联网传入的数据
  • 在同一 区域的 S3 存储桶之间传输的数据
  • 从 S3 存储桶传输到与 S3 存储桶位于同一区域内的任何服务的数据
    **注意:**这包括传输到同一区域中的不同 AWS 账户的数据。
  • 传输到 Amazon CloudFront 的数据

有关详细信息,请参阅了解数据传输费用

解决方法

查看 AWS 使用情况报告

要识别导致高数据传输量的存储桶,请查看您的 Amazon S3 使用情况报告。您可以查看发生数据传输时的操作、区域和时间。

要确定与数据传输对应的使用类型,请参阅了解 Amazon S3 的 AWS 账单和使用情况报告

**注意:**在使用情况报告中,Amazon S3 将数据传输费用记录为 region-DataTransfer-Out-Bytesregion-DataTransfer-In-Bytes

查看服务器访问日志

要获取有关请求的详细信息,请查看存储桶的 Amazon S3 服务器访问日志

**注意:**只有当您为存储桶启用服务器访问日志时,日志才会开始记录请求。

您可以使用 Amazon Athena 查询服务器访问日志,以获取有关特定日期和时间、操作和请求者的请求信息。

例如,运行以下查询,以查看在特定时间段内通过特定 IP 地址传输的数据量:

SELECT   
    SUM(bytessent) as uploadtotal,  
    SUM(objectsize) as downloadtotal,  
    SUM(bytessent + objectsize) AS total   
FROM s3_access_logs_db.mybucket_logs  
WHERE remote_ip = '1.2.3.4'   
    AND time BETWEEN   
        parse_datetime('2025-07-01 00:00:00','yyyy-MM-dd HH:mm:ss')  
        AND parse_datetime('2025-08-01 00:00:00','yyyy-MM-dd HH:mm:ss');

有关详细信息,请参阅如何使用 Athena 分析我的 Amazon S3 服务器访问日志?以及 Amazon Athena 定价

从监控工具中获取账单信息

使用以下监控工具获取账单信息:

AWS 官方已更新 4 个月前