教程:开始使用 S3 Files
在本教程中,您将创建一个 S3 文件系统并将其挂载到 EC2 实例上。然后,您可以测试基本的文件操作。您可以通过 S3 控制台或 AWS CLI 来开始使用 S3 Files。
通过 AWS 控制台开始使用 S3 Files
S3 控制台上的 S3 Files 工作流程由以下步骤组成:
创建 S3 文件系统。
在 EC2 实例上挂载文件系统并运行文件系统操作。
先决条件
在开始之前,确保满足以下条件:
您已经完成了 AWS 账户和计算设置。
您具有设置好的 Amazon EC2,并且熟悉如何启动 EC2 实例。有关更多信息,请参阅《Amazon EC2 用户指南》中的 Amazon EC2 入门。对于本教程,请使用 EC2 实例的默认 VPC。
您已将用于将文件系统附加到 AWS 计算资源的 IAM 角色附加到 EC2 实例,因此它可以与 S3 文件系统和 S3 存储桶进行交互。
步骤 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 工作流程由以下步骤组成:
创建您的文件系统。
为文件系统创建挂载目标。
使用挂载目标在 EC2 实例上挂载文件系统。
测试文件操作,例如列出目录、向文件写入文本、读取文件和复制文件。然后,验证您的更改是否反映在 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 --regionaws-region--bucketbucket-arn--role-arniam-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 --regionaws-region--file-system-idfile-system-id--subnet-idsubnet-id
此处,file-system-id 是您在 create-file-system 命令的响应中收到的文件系统 ID。创建挂载目标最多约需 5 分钟时间。
步骤 3:将文件系统挂载到 EC2 实例上
在挂载文件系统之前,请确保在计算资源和挂载目标上配置了正确的安全组,以支持所需的流量进行流动。有关安全组的更多详细信息,请访问 VPC 用户指南。
运行以下命令以挂载文件系统:
-
使用以下命令创建要用作文件系统装载点的目录
/mnt/s3files:sudo mkdir /mnt/s3files -
挂载文件系统:
sudo mount -t s3filesfile-system-id:/ /mnt/s3files
如果您没有文件系统 ID,则可以运行以下命令进行查找:
aws s3files get-file-system --regionaws-region--file-system-idfile-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 分钟。