View a markdown version of this page

教程:开始使用 S3 Files - Amazon Simple Storage Service

教程:开始使用 S3 Files

在本教程中,您将创建一个 S3 文件系统并将其挂载到 EC2 实例上。然后,您可以测试基本的文件操作。您可以通过 S3 控制台或 AWS CLI 来开始使用 S3 Files。

通过 AWS 控制台开始使用 S3 Files

S3 控制台上的 S3 Files 工作流程由以下步骤组成:

  • 创建 S3 文件系统。

  • 在 EC2 实例上挂载文件系统并运行文件系统操作。

先决条件

在开始之前,确保满足以下条件:

步骤 1:创建 S3 文件系统

  • 通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

  • 在页面顶部的导航栏中,确认您位于 EC2 实例和 S3 存储桶所在的 AWS 区域中。

  • 在左侧导航窗格中,选择通用存储桶

  • 选择要为其创建文件系统的存储桶。

  • 选择文件系统选项卡。

  • 选择创建文件系统

  • 审核和确认您的 VPC。对于本教程,请使用默认 VPC。

  • 选择创建

使用 AWS 管理控制台创建文件系统时,S3 Files 会自动在默认 VPC 的每个可用区中创建一个挂载目标,并为该文件系统创建一个接入点。这可能需要几分钟的时间。创建完所有资源后,您的文件系统将变得可供下一步使用。

步骤 2:将文件系统挂载到 EC2 实例上

  • 在文件系统概述页面上,在附加到 EC2 实例下选择附加。这将打开一个新页面,用于将文件系统挂载到 EC2 实例上。

  • 可用 EC2 实例下拉列表中选择所需的 EC2 实例。

  • 输入 EC2 实例上您要在其中挂载文件系统的路径。例如 /mnt/s3files/

  • 确保您已在 EC2 实例和挂载目标上配置了正确的安全组,以支持所需的流量进行流动。

  • 确保向您的 EC2 实例附加了具有所需权限的正确 IAM 角色,以便它可以与您的 S3 文件系统和 S3 存储桶进行交互。有关更多信息,请参阅 用于将文件系统附加到 AWS 计算资源的 IAM 角色。对于本教程,您可以考虑通过将托管式策略 AmazonS3FilesClientFullAccess 添加到 EC2 实例的 IAM 角色,来向客户端授予完全访问权限。

  • 按照页面上显示的附加说明来打开 CloudShell、挂载文件系统并运行基本的文件系统操作。

通过 AWS CLI 开始使用 S3 Files

AWS CLI 上的 S3 Files 工作流程由以下步骤组成:

  1. 创建您的文件系统。

  2. 为文件系统创建挂载目标。

  3. 使用挂载目标在 EC2 实例上挂载文件系统。

  4. 测试文件操作,例如列出目录、向文件写入文本、读取文件和复制文件。然后,验证您的更改是否反映在 S3 存储桶中。

先决条件

在开始之前,确保满足以下条件:

  • 您已经安装并配置了 AWS CLI。有关更多信息,请参阅安装或更新到最新版本的 AWS CLI

  • 您已完成 S3 Files 的先决条件中描述的所有先决条件。

  • 您具有设置好的 Amazon EC2,并且熟悉如何启动 EC2 实例。您需要一个 AWS 账户、一个具有管理访问权限的用户、一个密钥对和一个安全组。有关更多信息,请参阅《Amazon EC2 用户指南》中的 Amazon EC2 入门

步骤 1:创建 S3 文件系统

连接到您的 EC2 实例。运行 create-file-system 命令以创建文件系统。

aws s3files create-file-system --region aws-region --bucket bucket-arn --role-arn iam-role

将以下值替换为您所需的值:

  • aws-region:存储桶的 AWS 区域。例如 us-east-1

  • bucket-arn:S3 存储桶的 ARN。

  • iam-role:S3 Files 代入以读取和写入 S3 存储桶的 IAM 角色的 ARN。确保您已向此 IAM 角色添加了正确的权限。有关更多信息,请参阅 用于从文件系统访问您的存储桶的 IAM 角色

成功创建文件系统后,S3 Files 以 JSON 返回文件系统描述。记下文件系统 ID 以进行下一步。

步骤 2:创建挂载目标

挂载目标可在单个可用区内为您的 VPC 中的文件系统提供网络访问权限。您需要一个挂载目标,才能从计算资源访问您的文件系统。每个可用区最多只能创建一个挂载目标。我们建议在您运营的每个可用区中都创建一个挂载目标。

运行以下 create-mount-target 命令为文件系统创建挂载目标。您必须确保 subnet-id 与 EC2 实例位于同一 VPC 中。您必须在与 EC2 实例相同的可用区中创建挂载目标。

aws s3files create-mount-target --region aws-region --file-system-id file-system-id --subnet-id subnet-id

此处,file-system-id 是您在 create-file-system 命令的响应中收到的文件系统 ID。创建挂载目标最多约需 5 分钟时间。

步骤 3:将文件系统挂载到 EC2 实例上

在挂载文件系统之前,请确保在计算资源和挂载目标上配置了正确的安全组,以支持所需的流量进行流动。有关安全组的更多详细信息,请访问 VPC 用户指南

运行以下命令以挂载文件系统:

  • 使用以下命令创建要用作文件系统装载点的目录 /mnt/s3files

    sudo mkdir /mnt/s3files
  • 挂载文件系统:

    sudo mount -t s3files file-system-id:/ /mnt/s3files

如果您没有文件系统 ID,则可以运行以下命令进行查找:

aws s3files get-file-system --region aws-region --file-system-id file-system-id

步骤 4:测试文件操作

在已挂载的文件系统上测试基本的文件操作,如下所示:

  • 切换到您挂载的目录:

    cd /mnt/s3files
  • 您可以列出目录的内容,以检查源存储桶或前缀的内容是否已导入。同步通常在几秒钟内发生,但可能需要更长的时间,特别是对于第一个文件。如果您的存储桶为空,则以下命令也将返回空结果。

    ls
  • 也可以测试其它文件操作:

    • 创建 文件:

      echo "Hello, S3 Files!" > test.txt
    • 读取文件:

      cat test.txt
    • 创建目录:

      mkdir test-directory
    • 将文件复制到目录:

      cp /mnt/s3files/test.txt /mnt/s3files/test-directory/

然后,您可以转到您的 S3 存储桶,并检查目录 test-directory 是否反映在您的存储桶中。请注意,将更改同步回您的 S3 存储桶可能需要大约 1 分钟。