将文件系统链接到S3bucket - 适用于Lustre的AmazonFSx
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

将文件系统链接到S3bucket

当您创建了一个 Amazon FSx for Lustre 文件系统,您可以将它链接到 Amazon S3. 在创建文件系统之前,请确保您已创建要链接到的S3bucket。在 创建文件系统 向导,您可以在可选 数据存储库集成 窗格。

  • 选择方式 Amazon FSx 在创建文件系统后添加或修改S3bucket中的对象时,会保持文件和目录列表处于最新状态。有关更多信息,请参阅从S3bucket自动导入更新

  • 导入存储桶 – 输入用于链接存储库的S3bucket的名称。

  • 导入前缀 – 如果只想将S3bucket中的数据的部分文件和目录列表导入到文件系统,请输入一个可选的导入前缀。导入前缀定义S3bucket中的何处从导入数据。

  • 导出前缀 – 定义位置 Amazon FSx 将导出您文件系统的内容到您链接的S3bucket。

创建链接到S3bucket的文件系统

以下过程将引导您完成创建 Amazon FSx 文件系统链接到S3bucket,使用 AWS 管理控制台 和 AWS Command Line Interface (人AWS CLI)。

  1. Open the Amazon FSx console at https://console.amazonaws.cn/fsx/.

  2. 从仪表盘中,选择 创建文件系统.

  3. 对于文件系统类型,请选择 Amazon FSx for Lustre,然后选择 下一步.

  4. 提供 文件系统详细信息网络和安全 第节。有关更多信息,请参阅第1步: 创建您的 Amazon FSx for Lustre 文件系统

  5. 您使用 数据存储库导入/导出 面板,在中配置链接的数据存储库 Amazon S3.

    选择 从S3导入数据并导出数据 以扩展 数据存储库集成 并配置数据存储库设置。

    
                创建Lustre文件系统页面中的数据存储库导入和导出配置面板。
  6. 选择方式 Amazon FSx 在S3bucket中添加或修改对象时,会保持文件和目录列表处于最新状态。创建文件系统时,现有的S3对象将显示为文件和目录列表。创建文件系统后,如何在更新S3bucket的内容时进行更新?

    • 将对象添加到S3bucket时更新我的文件和目录列表 -(默认) Amazon FSx 自动更新添加到链接的S3bucket的任何新对象的文件和目录列表,这些对象当前不存在于FSx文件系统中。 Amazon FSx 不会导入S3bucket中已更改的对象的更新列表。 Amazon FSx 不会删除S3bucket中已删除的对象列表。

    • 在对象添加到我的S3bucket中或更改时更新我的文件和目录列表 —— Amazon FSx 选择此选项后,将自动更新添加到S3bucket的任何新对象和S3bucket中更改的任何现有对象的文件和目录列表。 Amazon FSx 不会删除S3bucket中已删除的对象列表。

    • 不要更新我的文件,并在对象添加到S3bucket中或更改时直接列出 —— Amazon FSx 在创建文件系统时,仅从链接的S3bucket更新文件和目录列表。选择此选项后,FSx不会更新任何新对象或已更改对象的文件和目录列表。

  7. 输入可选 导入前缀 如果只想将S3bucket中的数据的部分文件和目录列表导入到文件系统。导入前缀定义S3bucket中的何处从导入数据。有关更多信息,请参阅从S3bucket自动导入更新

  8. 选择三个选项之一 导出前缀 选项:

    • 唯一的前缀, Amazon FSx 在你的桶中创造 – 选择此选项可使用生成的前缀导出新的和已更改的对象 Amazon FSx for Lustre. 前缀如下所示: /FSxLustrefile-system-creation-timestamp。时间戳采用UTC格式,例如 FSxLustre20181105T222312Z。此选项是默认的。

    • 导入的相同前缀(用更新的对象替换现有对象) – 选择此选项将现有对象替换为已更新的对象。

    • 您指定的前缀 – 选择此选项可保留导入的数据并使用指定的前缀导出新的和更改的对象。

  9. (可选)设置 维护首选项,或使用系统默认值。

  10. 选择 下一步,并查看文件系统设置。如有需要,可进行任何更改。

  11. 选择 Create file system (创建文件系统)

以下示例创建了 Amazon FSx 文件系统链接到 lustre-export-test-bucket,具有导入首选项,可在创建文件系统后在链接的数据存储库中导入任何新的或已更改的文件。

  • 要创建 Amazon FSx for Lustre 文件系统,请使用 Amazon FSx CLI命令 create-file-system,如下图所示。相应的API操作为 创建文件系统.

    $ aws fsx create-file-system \ --client-request-token CRT1234 \ --file-system-type LUSTRE \ --lustre-configuration AutoImportPolicy=NEW_CHANGED,DeploymentType=PERSISTENT_1,ImportPath=s3://lustre-export-test-bucket/,ExportPath=s3://lustre-export-test-bucket/export \ --storage-capacity 3600 \ --subnet-ids subnet-123456 \ --tags Key=Name,Value=Lustre-TEST-1 \ --region us-east-2

在成功创建文件系统后,Amazon FSx 以 JSON 形式返回文件系统描述,如以下示例所示。

{ "FileSystems": [ { "OwnerId": "owner-id-string", "CreationTime": 1549310341.483, "FileSystemId": "fs-0123456789abcdef0", "FileSystemType": "LUSTRE", "Lifecycle": "CREATING", "StorageCapacity": 3600, "VpcId": "vpc-123456", "SubnetIds": [ "subnet-123456" ], "NetworkInterfaceIds": [ "eni-039fcf55123456789" ], "DNSName": "fs-0123456789abcdef0.fsx.us-east-2.amazonaws.com", "ResourceARN": "arn:aws:fsx:us-east-2:123456:file-system/fs-0123456789abcdef0", "Tags": [ { "Key": "Name", "Value": "Lustre-TEST-1" } ], "LustreConfiguration": { "DeploymentType": "PERSISTENT_1", "DataRepositoryConfiguration": { "AutoImportPolicy": "NEW_CHANGED", "Lifecycle": "UPDATING", "ImportPath": "s3://lustre-export-test-bucket/", "ExportPath": "s3://lustre-export-test-bucket/export", "ImportedFileChunkSize": 1024 } } } ] }

使用服务器端加密 Amazon S3 桶

Amazon FSx for Lustre 支撑 Amazon S3 使用服务器端加密和S3管理密钥(SSE-S3)以及存储在中的客户主密钥(CMK)的bucket AWS Key Management Service (SSE-KMS)。

如果您想 Amazon FSx 要在写入S3bucket时加密数据,您需要将S3bucket的默认加密设置为SSE-S3或SSE-KMS。有关更多信息,请参阅 如何为AmazonS3存储桶启用默认加密?Amazon Simple Storage Service 控制台用户指南. 将文件写入S3bucket时, Amazon FSx 遵循S3bucket的默认加密策略。

依默认, Amazon FSx 支持使用SSE-S3加密的S3bucket。如果您想将 Amazon FSx 文件系统到使用SSE-KMS加密加密的S3bucket,您需要向客户管理的KMS密钥策略添加声明,允许 Amazon FSx 使用CMK加密和解密S3bucket中的对象。

以下陈述允许特定的 Amazon FSx 用于加密和解密特定S3bucket的对象的文件系统,bucket_name.

{ "Sid": "Allow access through S3 for the FSx SLR to use the KMS CMK on the objects in the given S3 bucket", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::aws_account_id:role/aws-service-role/s3.data-source.lustre.fsx.amazonaws.com/AWSServiceRoleForFSxS3Access_fsx_file_system_id" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:CallerAccount": "aws_account_id", "kms:ViaService": "s3.bucket-region.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::bucket_name/*" } } }

以下政策声明允许所有 Amazon FSx 文件系统以链接至特定的S3bucket。

{ "Sid": "Allow access through S3 for the FSx SLR to use the KMS CMK on the objects in the given S3 bucket", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:CallerAccount": "aws_account_id", "kms:ViaService": "s3.bucket-region.amazonaws.com" }, "StringLike": { "aws:userid": "*:FSx", "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::bucket_name/*" } } }

查看文件系统的导出路径

您可以使用 Amazon FSx for Lustre 控制台, AWS CLI和API。

  1. Open the Amazon FSx console at https://console.amazonaws.cn/fsx/.

  2. 选择 文件系统名称文件系统ID 用于 Amazon FSx for Lustre 的文件系统。该文件系统的文件系统详细信息页面出现。

  3. 选择 数据存储库 选项卡。的 数据存储库集成 面板,显示导入和导出路径。

    
                  Amazon FSx Lustre文件系统数据存储库集成面板。
  • 要确定文件系统的导出路径,请使用 aws fsx describe-file-systems 命令。

    aws fsx describe-file-systems

    寻找 ExportPath 属性低于 LustreConfiguration 响应中。

    { "OwnerId": "111122223333", "CreationTime": 1563382847.014, "FileSystemId": "", "FileSystemType": "LUSTRE", "Lifecycle": "AVAILABLE", "StorageCapacity": 3600, "VpcId": "vpc-6296a00a", "SubnetIds": [ "subnet-1111111" ], "NetworkInterfaceIds": [ "eni-0c288d5b8cc06c82d", "eni-0f38b702442c6918c" ], "DNSName": "fs-0123456789abcdef0.fsx.us-east-2.amazonaws.com", "ResourceARN": "arn:aws:fsx:us-east-2:267731178466:file-system/fs-0123456789abcdef0", "Tags": [ { "Key": "Name", "Value": "Lustre System" } ], "LustreConfiguration": { "WeeklyMaintenanceStartTime": "6:09:30", "DataRepositoryConfiguration": { "AutoImportPolicy": "NEW_CHANGED", "Lifecycle": "AVAILABLE", "ImportPath": "s3://lustre-export-test-bucket/", =======>"ExportPath": "s3://lustre-export-test-bucket/FSxLustre20190717T164753Z", "ImportedFileChunkSize": 1024 } } },