S3 Storage Lens 组工作原理 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

S3 Storage Lens 组工作原理

您可以通过 Storage Lens 组,使用基于对象元数据的自定义筛选条件来聚合指标。定义自定义筛选条件时,可以使用前缀、后缀、对象标签、对象大小、对象期龄或这些自定义筛选条件的组合。在创建 Storage Lens 组期间,您还可以包括一个或多个筛选条件。要指定多个筛选条件,请使用 AndOr 逻辑运算符。

创建和配置 Storage Lens 组时,该 Storage Lens 组本身将充当要将该组附加到的控制面板中的自定义筛选条件。然后,在控制面板中,您可以使用 Storage Lens 组筛选条件,根据您在组中定义的自定义筛选条件来获取存储指标。

要在 S3 Storage Lens 存储统计管理工具控制面板中查看 Storage Lens 组的数据,您必须在创建该组后将其附加到控制面板。将 Storage Lens 组关联到 Storage Lens 存储统计管理工具控制面板后,您的控制面板将在 48 小时内收集存储使用情况指标。然后,您可以在 Storage Lens 存储统计管理工具控制面板中可视化这些数据,也可以通过指标导出将其导出。如果您忘记将 Storage Lens 组附加到控制面板,则不会在任何地方捕获或显示您的 Storage Lens 组数据。

注意
  • 创建 S3 Storage Lens 组时,您将创建一个 Amazon 资源。因此,每个 Storage Lens 组都有自己的 Amazon 资源名称 (ARN),您可以在将 Storage Lens 组附加到 S3 Storage Lens 存储统计管理工具控制面板或将其从该控制面板排除时指定该名称。

  • 如果您的 Storage Lens 组未附加到控制面板,则创建 Storage Lens 组不会产生任何额外费用。

  • S3 Storage Lens 存储统计管理工具聚合了所有匹配的 Storage Lens 组下某个对象的使用情况指标。因此,如果某个对象与两个或更多 Storage Lens 组的筛选条件相匹配,则在整个存储使用情况中,您会看到同一对象的重复计数。

您可以在指定的(支持的 Amazon Web Services 区域 列表中的)主区域中创建账户级别的 Storage Lens 组。然后,您可以将您的 Storage Lens 组附加到多个 Storage Lens 存储统计管理工具控制面板,前提是这些控制面板位于同一个 Amazon Web Services 账户和主区域中。您最多可以为每个 Amazon Web Services 账户中的每个主区域创建 50 个 Storage Lens 组。

您可以使用 Amazon S3 控制台、Amazon Command Line Interface (Amazon CLI)、Amazon SDK 或 Amazon S3 REST API 创建和管理 S3 Storage Lens 组。

查看 Storage Lens 组聚合指标

您可以通过将 Storage Lens 组附加到控制面板来查看这些组的聚合指标。要附加的 Storage Lens 组必须位于控制面板账户中指定的主区域内。

要将 Storage Lens 组附加到控制面板,您必须在控制面板配置的 Storage Lens 组聚合部分指定该组。如果您有多个 Storage Lens 组,则可以筛选 Storage Lens 组聚合结果,使其根据需要仅包括或排除某些组。有关将组附加到控制面板的更多信息,请参阅 将 S3 Storage Lens 组附加到控制面板或从控制面板移除

附加组后,您将在 48 小时内在控制面板中看到新增的 Storage Lens 组聚合数据。

注意

要查看您的 Storage Lens 组的聚合指标,您必须将该组附加到 S3 Storage Lens 存储统计管理工具控制面板。

Storage Lens 组权限

Storage Lens 组需要 Amazon Identity and Access Management (IAM) 中的某些权限才能授权访问 S3 Storage Lens 组操作。要授予这些权限,您可以使用基于身份的 IAM policy。您可以将此策略附加到 IAM 用户、组或角色,以授予其权限。此类权限可能包括创建或删除 Storage Lens 组、查看其配置或管理其标签。

您授予权限的 IAM 用户或角色必须属于创建或拥有 Storage Lens 组的账户。

要使用 Storage Lens 组和查看您的 Storage Lens 组指标,您必须首先拥有使用 S3 Storage Lens 存储统计管理工具的相应权限。有关更多信息,请参阅Amazon S3 Storage Lens 存储统计管理工具权限

要创建和管理 S3 Storage Lens 组,您必须拥有以下 IAM 权限,具体取决于您要执行的操作:

操作 IAM 权限

新建 Storage Lens 组

s3:CreateStorageLensGroup

使用标签新建 Storage Lens 组

s3:CreateStorageLensGroup, s3:TagResource

更新现有 Storage Lens 组

s3:UpdateStorageLensGroup

返回 Storage Lens 组配置的详细信息

s3:GetStorageLensGroup

列出主区域中的所有 Storage Lens 组

s3:ListStorageLensGroups

删除 Storage Lens 组

s3:DeleteStorageLensGroup

列出已添加到 Storage Lens 组的标签

s3:ListTagsForResource

为现有 Storage Lens 组添加或更新 Storage Lens 组标签

s3:TagResource

从 Storage Lens 组删除标签

s3:UntagResource

以下是如何在创建 Storage Lens 组的账户中配置 IAM policy 的示例。要使用此策略,请将 us-east-1 替换为您的 Storage Lens 组所在的主区域。将 111122223333 替换为您的 Amazon Web Services 账户 ID,然后将 example-storage-lens-group 替换为您的 Storage Lens 组的名称。要将这些权限应用于所有 Storage Lens 组,请将 example-storage-lens-group 替换为 *

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EXAMPLE-Statement-ID", "Effect": "Allow", "Action": [ "s3:CreateStorageLensGroup", "s3:UpdateStorageLensGroup", "s3:GetStorageLensGroup", "s3:ListStorageLensGroups", "s3:DeleteStorageLensGroup, "s3:TagResource", "s3:UntagResource", "s3:ListTagsForResource" ], "Resource": "arn:aws:s3:us-east-1:111122223333:storage-lens-group/example-storage-lens-group" } ] }

有关 S3 Storage Lens 存储统计管理工具权限的更多信息,请参阅 Amazon S3 Storage Lens 存储统计管理工具权限。有关 IAM policy 语言的更多信息,请参阅 Amazon S3 中的策略和权限

Storage Lens 组配置

S3 Storage Lens 组名称

我们建议您使用 Storage Lens 组的用途为其命名,这样您就可以轻松确定要将哪些组附加到控制面板。要将 Storage Lens 组附加到控制面板,您必须在控制面板配置的 Storage Lens 组聚合部分指定该组。

账户中的 Storage Lens 组名称必须唯一。长度不得超过 64 个字符,只能包含字母(a-z、A-Z)、数字 (0-9)、连字符 (-) 和下划线 (_)。

主区域

主区域是创建和维护 Storage Lens 组的 Amazon Web Services 区域。您的 Storage Lens 组是在与 Amazon S3 Storage Lens 存储统计管理工具控制面板相同的主区域创建的。Storage Lens 组配置和指标也存储在该区域中。您最多可以在主区域中创建 50 个 Storage Lens 组。

创建 Storage Lens 组后,您无法编辑主区域。

范围

要将对象包含在 Storage Lens 组中,这些对象必须在 Amazon S3 Storage Lens 存储统计管理工具控制面板的范围内。Storage Lens 存储统计管理工具控制面板的范围由您在 S3 Storage Lens 存储统计管理工具控制面板配置的控制面板范围中包含的桶决定。

您可以为对象使用不同的筛选条件来定义 Storage Lens 组的范围。要在 S3 Storage Lens 存储统计管理工具控制面板中查看这些 Storage Lens 组指标,对象必须与您在 Storage Lens 组中包含的筛选条件相匹配。例如,假设您的 Storage Lens 组要包括带有前缀 marketing 和后缀 .png 的对象,但没有对象与这些条件相匹配。在这种情况下,在您的每日指标导出中不会生成此 Storage Lens 组的指标,并且您的控制面板中也不会显示该组的指标。

筛选条件

您可以在 S3 Storage Lens 组中使用以下筛选条件:

  • 前缀 – 指定要包括的对象的前缀,该前缀是对象键名称开头的一串字符。例如,如果前缀筛选条件的值为 images,则将包括带有以下任何前缀的对象:images/images-marketingimages/production。前缀的最大长度是 1024 个字节。

  • 后缀 – 指定要包括的对象的后缀(例如 .png.jpeg.csv)。后缀的最大长度是 1024 个字节。

  • 对象标签 – 指定要用于筛选的对象标签列表。标签键不能超过 128 个 Unicode 字符,标签值不能超过 256 个 Unicode 字符。请注意,如果将对象标签值字段留空,则 S3 Storage Lens 组仅将该对象与标签值也为空的其它对象进行匹配。

  • 龄期 – 指定要包括的对象的对象龄期范围(以天为单位)。仅支持整数。

  • 大小 – 指定要包括的对象的对象大小范围(以字节为单位)。仅支持整数。允许的最大值为 5 TB。

Storage Lens 组对象标签

您可以创建最多包含 10 个对象标签筛选条件的 Storage Lens 组。以下示例包含两个对象标签键值对作为名为 Marketing-Department 的 Storage Lens 组的筛选条件。要使用此示例,请使用您的组名称替换 Marketing-Department,并将 object-tag-key-1object-tag-value-1 等替换为要用于筛选的对象标签键值对。

{ "Name": "Marketing-Department", "Filter": { "MatchAnyTag":[ { "Key": "object-tag-key-1", "Value": "object-tag-value-1" }, { "Key": "object-tag-key-2", "Value": "object-tag-value-2" } ] } }

逻辑运算符(AndOr

要在 Storage Lens 组中包含多个筛选条件,可以使用逻辑运算符(AndOr)。在以下示例中,名为 Marketing-Department 的 Storage Lens 组使用 And 运算符包含 PrefixObjectAgeObjectSize 筛选条件。由于使用 And 运算符,因此只有与所有这些筛选条件匹配的对象才会包括在 Storage Lens 组的范围内。

要使用此示例,请将 user input placeholders 替换为要用于筛选的值。

{ "Name": "Marketing-Department", "Filter": { "And": { "MatchAnyPrefix": [ "prefix-1", "prefix-2", "prefix-3/sub-prefix-1" ], "MatchObjectAge": { "DaysGreaterThan": 10, "DaysLessThan": 60 }, "MatchObjectSize": { "BytesGreaterThan": 10, "BytesLessThan": 60 } } } }
注意

如果要包括与任何筛选条件相匹配的对象,请将此示例中的 And 逻辑运算符替换为 Or 逻辑运算符。

Amazon 资源标签

每个 S3 Storage Lens 组都视为一个 Amazon 资源,有自己的 Amazon 资源名称 (ARN)。因此,在配置 Storage Lens 组时,可以选择向该组添加 Amazon 资源标签。最多可以为每个 Storage Lens 组添加 50 个标签。要创建带标签的 Storage Lens 组,您必须拥有 s3:CreateStorageLensGroups3:TagResource 权限。

您可以使用 Amazon 资源标签根据部门、业务线或项目对资源进行分类。如果您有许多相同类型的资源,这样做会非常有用。通过应用标签,您可以根据分配给特定 Storage Lens 组的标签快速识别该组。您还可以使用标签对成本进行跟踪和分配。

此外,当您向 Storage Lens 组添加 Amazon 资源标签时,将激活基于属性的访问权限控制 (ABAC)。ABAC 是一种基于属性(在本文中,也就是标签)定义权限的授权策略。您还可以在 IAM policy 中使用指定资源标签的条件,从而控制对 Amazon 资源的访问

您可以修改标签的键和值,还可以随时删除资源的标签。此外,请注意以下限制:

  • 标签键和标签值区分大小写。

  • 如果您添加的标签的值与该实例上现有标签的值相同,新的值就会覆盖旧值。

  • 如果删除资源,资源的所有标签也会被删除。

  • 不要在 Amazon 资源标签中包含隐私或敏感数据。

  • 不支持系统标签(或标签键以 aws: 开头的标签)。

  • 每个标签键的长度不能超过 128 个字符。每个标签值的长度不能超过 256 个字符。

Storage Lens 组指标导出

S3 Storage Lens 组指标包含在 Storage Lens 组所附加到的控制面板的 Amazon S3 Storage Lens 存储统计管理工具指标导出中。有关 Storage Lens 指标导出功能的一般信息,请参阅 使用数据导出查看 Amazon S3 Storage Lens 存储统计管理工具指标

Storage Lens 组的指标导出包括您将 Storage Lens 组附加到的控制面板范围内的任何 S3 Storage Lens 指标。导出还包括 Storage Lens 组的其它指标数据。

创建 Storage Lens 组后,您的指标导出每天都会发送到您在为组所附加到的控制面板配置指标导出时选择的桶。您最长可能需要 48 小时才能收到第一份指标导出。

要在每日导出中生成指标,对象必须与您在 Storage Lens 组中包含的筛选条件相匹配。如果没有对象与您在 Storage Lens 组中包含的筛选条件相匹配,则不会生成任何指标。但是,如果某个对象与两个或更多 Storage Lens 组相匹配,则当该对象出现在指标导出中时,该对象将针对每个组单独列出。

您可以通过在控制面板指标导出的 record_type 列中查找以下值之一来识别 Storage Lens 组的指标:

  • STORAGE_LENS_GROUP_BUCKET

  • STORAGE_LENS_GROUP_ACCOUNT

record_value 列显示 Storage Lens 组的资源 ARN(例如 arn:aws:s3:us-east-1:111122223333:storage-lens-group/Marketing-Department)。