教程:开始使用 S3 Express One Zone
Amazon S3 Express One Zone 存储类是第一种可以在其中选择单个可用区的 S3 存储类,您可以选择将您的对象存储与计算资源联合托管在一个位置,从而提供尽可能高的访问速度。S3 Express One Zone 中的数据存储在可用区内的目录存储桶中。有关目录存储桶的更多信息,请参阅目录存储桶。
S3 Express One Zone 非常适合任何务必尽可能减少请求延迟的应用程序。此类应用程序可以是人机交互式工作流,例如视频编辑,在这种情况下,创意专业人士需要在通过用户界面访问内容时获得快速的响应。对数据响应能力具有类似要求的分析和机器学习工作负载也可以从 S3 Express One Zone 中获益,尤其是对于有大量访问小文件或大量随机访问的工作负载。S3 Express One Zone 可以与其它 Amazon 服务一起使用来支持分析以及人工智能与机器学习(AI/ML)工作负载,例如 Amazon EMR、Amazon Athena、Amazon Glue Data Catalog 和 Amazon SageMaker Model Training。可以通过 Amazon S3 控制台、Amazon SDK、Amazon 命令行界面(Amazon CLI)和 Amazon S3 REST API 使用 S3 Express One Zone 存储类和目录存储桶。有关更多信息,请参阅什么是 S3 Express One Zone?和 S3 Express One Zone 有哪些不同?
目标
在本教程中,您将学习如何创建网关端点、创建和附加 IAM 策略、创建目录存储桶,然后使用“导入”操作用当前存储在通用存储桶中的对象填充目录存储桶。或者,您可以手动将对象上传到目录存储桶。
主题
先决条件
在开始本教程之前,您必须具有 Amazon Web Services 账户,您可使用具有正确权限的 Amazon Identity and Access Management(IAM)用户登录此账户。
创建 Amazon Web Services 账户
要完成此教程,您需要一个Amazon Web Services 账户。在注册 Amazon 时,将在 Amazon 中为您的 Amazon Web Services 账户 自动注册所有服务,包括 Amazon S3。您只需为使用的服务付费。有关定价的更多信息,请参阅 S3 定价
在 Amazon Web Services 账户中创建 IAM 用户(控制台)
Amazon Identity and Access Management(IAM)是一项 Amazon Web Services 服务,有助于管理员安全地控制对 Amazon 资源的访问。IAM 管理员可控制哪些用户能够通过身份验证(登录)和获得授权(拥有权限),来在 S3 Express One Zone 中访问对象和使用目录存储桶。使用 IAM 不会产生额外的费用。
默认情况下,用户没有访问目录存储桶和执行 S3 Express One Zone 操作的权限。要授予对目录存储桶和 S3 Express One Zone 操作的访问权限,您可以使用 IAM 创建用户或角色,然后将权限附加到这些身份。有关如何创建 IAM 用户的更多信息,请参阅 《IAM 用户指南》中的创建 IAM 用户(控制台)。有关如何创建 IAM 角色的更多信息,请参阅《IAM 用户指南》中的创建向 IAM 用户委派权限的角色。
为简单起见,本教程创建并使用 IAM 用户。完成本教程后,请记住 删除 IAM 用户。对于生产用途,我们建议您遵循《IAM 用户指南》中的 IAM 中的安全最佳实践。最佳实践要求人类用户将联合身份验证与身份提供商结合使用,以使用临时凭证访问 Amazon。另一项最佳实践是要求工作负载使用带有 IAM 角色的临时凭证访问 Amazon。要详细了解如何使用 Amazon IAM Identity Center 创建具有临时凭证的用户,请参阅《Amazon IAM Identity Center 用户指南》中的 Getting started。
警告
IAM 用户具有长期凭证,这会带来安全风险。为帮助减轻这种风险,我们建议仅向这些用户提供执行任务所需的权限,并在不再需要这些用户时将其移除。
创建 IAM 策略并将其附加到 IAM 用户或角色(控制台)
默认情况下,用户没有目录存储桶和 S3 Express One Zone 操作的权限。要授予对目录存储桶的访问权限,您可以使用 IAM 创建用户、组或角色,然后将权限附加到这些身份。对于 S3 Express One Zone 访问权限,目录存储桶是唯一可以包括在存储桶策略或 IAM 身份策略中的资源。
要在 S3 Express One Zone 中使用区域端点 API 操作(存储桶级或控制面板操作),请使用 IAM 授权模型,该模型不涉及会话管理。对于操作,将单独授予权限。要使用可用区端点 API 操作(对象级或数据面板操作),可以使用 CreateSession
来创建和管理会话,这些会话经过优化,可为数据请求提供低延迟授权。要检索和使用会话令牌,您必须在基于身份的策略或存储桶策略中,允许对目录存储桶执行 s3express:CreateSession
操作。如果您在 Amazon S3 控制台中通过 Amazon 命令行界面(Amazon CLI)或使用 Amazon SDK 访问 S3 Express One Zone,S3 Express One Zone 会代表您创建会话。有关更多信息,请参阅 CreateSession
授权和适用于 S3 Express One Zone 的 Amazon Identity and Access Management(IAM)。
创建 IAM 策略并将该策略附加到 IAM 用户(或角色)
登录 Amazon 管理控制台,并打开 IAM 管理控制台。
在导航窗格中,选择策略。
选择创建策略。
选择 JSON。
将以下策略复制到策略编辑器窗口。在创建目录存储桶或使用 S3 Express One Zone 之前,您必须向 Amazon Identity and Access Management(IAM)角色或用户授予必要的权限。此示例策略支持访问
CreateSession
API 操作(与其它可用区或对象级 API 操作结合使用)和所有区域端点(存储桶级)API 操作。此策略允许将CreateSession
API 操作用于所有目录存储桶,但仅允许将区域端点 API 操作用于指定的目录存储桶。要使用此示例策略,请将
替换为您自己的信息。user input placeholders
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessRegionalEndpointAPIs", "Effect": "Allow", "Action": [ "s3express:DeleteBucket", "s3express:DeleteBucketPolicy", "s3express:CreateBucket", "s3express:PutBucketPolicy", "s3express:GetBucketPolicy", "s3express:ListAllMyDirectoryBuckets" ], "Resource": "arn:aws:s3express:
region
:account_id
:bucket/bucket-base-name
--zone-id
--x-s3/*" }, { "Sid": "AllowCreateSession", "Effect": "Allow", "Action": "s3express:CreateSession", "Resource": "*" } ] }选择下一步。
为该策略命名。
注意
S3 Express One Zone 不支持存储桶标签。
-
选择创建策略。
-
创建 IAM 策略后,可以将其附加到 IAM 用户。在导航窗格中,选择策略。
在搜索栏中,输入策略的名称。
从操作菜单中,选择附加。
在按实体类型筛选下,选择 IAM 用户或角色。
在搜索字段中,键入您要使用的用户或角色的名称。
选择附加策略。
主题
后续步骤
在本教程中,您学习了如何创建目录存储桶和使用 S3 Express One Zone 存储类。完成本教程后,您可以探索要与 S3 Express One Zone 存储类一起使用的相关 Amazon 服务。
您可以将以下 Amazon Web Services 服务与 S3 Express One Zone 存储类配合使用,以支持您的特定低延迟使用场景。
-
Amazon Elastic Compute Cloud(Amazon EC2)– Amazon EC2 在 Amazon Web Services 云 中提供安全可扩展的计算容量。使用 Amazon EC2 可减少前期的硬件投入,因此您能够快速开发和部署应用程序。您可以使用 Amazon EC2 启动所需数量的虚拟服务器,配置安全性和联网以及管理存储。
-
Amazon Lambda – Lambda 是一项计算服务,可使您无需预置或管理服务器即可运行代码。您在存储桶上配置通知设置,并向 Amazon S3 授予权限来根据函数的基于资源的权限策略调用函数。
-
Amazon Elastic Kubernetes Service(Amazon EKS)– Amazon EKS 是一项托管式服务,无需在 Amazon 上安装、操作和维护自己的 Kubernetes 控制面板。Kubernetes
是一个开源系统,用于自动管理、扩展和部署容器化应用程序。 -
Amazon Elastic Container Service(Amazon ECS)– Amazon ECS 是完全托管的容器编排服务,可协助您轻松地部署、管理和扩展容器化应用程序。
-
Amazon EMR – Amazon EMR 是一个托管式集群平台,可简化在 Amazon 上运行大数据框架(如 Apache Hadoop 和 Apache Spark)来处理和分析海量数据的过程。
-
Amazon Athena – Athena 是一种交互式查询服务,方便通过使用标准 SQL 直接分析 Amazon S3 中的数据。还可以使用 Athena,通过 Apache Spark 以交互方式运行数据分析,而无需规划、配置或管理资源。在 Athena 上运行 Apache Spark 应用程序时,您需要提交 Spark 代码以供处理并直接接收结果。
-
Amazon Glue Data Catalog – Amazon Glue 是一项无服务器数据集成服务,可让使用分析功能的用户轻松发现、准备、移动和集成来自多个来源的数据。您可以使用 Amazon Glue 进行分析、机器学习和应用程序开发。AmazonGlue Data Catalog 是一个集中式存储库,用于存储有关贵组织数据集的元数据。它充当数据来源的位置、架构和运行时指标的索引。
-
Amazon SageMaker Runtime 模型训练 – Amazon SageMaker Runtime 是一项完全托管式机器学习服务。借助 SageMaker Runtime,数据科学家和开发人员可以快速、轻松地构建和训练机器学习模型,然后直接将模型部署到生产就绪托管环境中。
有关 S3 Express One Zone 的更多信息,请参阅什么是 S3 Express One Zone?和 S3 Express One Zone 有哪些不同?