将文件系统链接到 S3 存储桶 - Amazon FSx for Lustre
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将文件系统链接到 S3 存储桶

当您为 Lustre 创建 Amazon FSX 文件系统时,您可以将其链接到 Amazon S3 中的持久数据存储库。在创建文件系统之前,请确保您已经创建了要链接到的 S3 存储桶。在创建文件系统向导中设置以下数据存储库配置属性,可以在可选数据存储库集成窗格中。

  • 选择 Amazon FSx 如何在文件系统创建后添加或修改 S3 存储桶中的对象时使您的文件和目录列表保持最新状态。有关更多信息,请参阅 自动从 S3 存储桶导入更新

  • 导入存储桶— 输入要用于链接资料库的 S3 存储桶的名称。

  • 导入前缀— 如果您只想将 S3 存储桶中数据的部分文件和目录列表导入文件系统,请输入可选的导入前缀。导入前缀定义 S3 存储桶中要从中导入数据的位置。

  • 导出前缀— 定义 Amazon FSX 将文件系统内容导出到链接 S3 存储桶的位置。

您可以使用 1:1 映射,其中 Amazon FSx 将数据从您的 Amazon FSx for Lustre 文件系统导出回 S3 存储桶上的相同目录。要实现 1:1 映射,您需要在创建文件系统时指定不带任何前缀的 S3 存储桶的导出路径。

  • 使用控制台创建文件系统时,选择导出前缀 >您指定的前缀选项,并将前缀字段留空。

  • 当使用AmazonCLI 或 API,请将导出路径指定为 S3 存储桶的名称,而不需要任何其他前缀,例如ExportPath=s3://lustre-export-test-bucket/.

使用此方法,您可以在指定 “导入” 路径时包括 “导入” 前缀,并且不会影响导出的 1:1 映射。

创建链接到 S3 存储桶的文件系统

以下过程为您演示了创建 Amazon FSx 文件系统的过程,使用Amazon Web Services Management Console和Amazon Command Line Interface(Amazon CLI)。

  1. 从打开 Amazon FSx 控制台https://console.aws.amazon.com/fsx/.

  2. 在控制面板中,选择创建文件系统.

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

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

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

    Select从导入数据并将数据导出到 S3以展开数据存储库集成部分并配置数据存储库设置。

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

    • 更新我的文件和目录列表,因为对象添加到我的 S3 存储桶-(默认值)Amazon FSx 会自动更新添加到链接 S3 存储桶中但当前不存在于 FSx 文件系统中的任何新对象的文件和目录列表。Amazon FSX 不会导入 S3 存储桶中已更改的对象的更新列表。Amazon FSX 不会删除 S3 存储桶中删除的对象的列表。

      注意

      使用 CLI 和 API 从链接 S3 存储桶导入数据的默认导入首选项设置为NONE,这与使用控制台时的默认行为不同。

    • 在我的 S3 存储桶中添加或更改对象时更新我的文件和目录列表-在您选择此选项后,Amazon FSx 会自动更新添加到 S3 存储桶的任何新对象的文件和目录列表,以及在 S3 存储桶中更改的任何现有对象。Amazon FSX 不会删除 S3 存储桶中删除的对象的列表。

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

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

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

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

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

    • 您指定的前缀— 选择此选项可保留导入的数据,并使用指定的前缀导出新的和更改的对象。要在将数据导出到 S3 存储桶时实现 1:1 映射,请选择此选项并将前缀字段留空。FSX 会将数据导出到从中导入的相同目录。

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

  10. 选择下一步,然后查看文件系统设置。根据需要进行任何更改。

  11. 选择 Create file system

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

注意

使用 CLI 和 API 从链接 S3 存储桶导入数据的默认导入首选项设置为NONE,这与使用控制台时的默认行为不同。

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

    $ 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 of Lustre 支持 Amazon S3 存储桶,这些 Amazon S3 存储桶使用具有 S3 托管密钥 (SSE-S3) 和客户主密钥 (CMK) 存储在Amazon Key Management Service(公里).

如果您希望 Amazon FSX 在写入 S3 存储桶时对数据进行加密,则需要将 S3 存储桶上的默认加密设置为 SSE-S3 或 SSE-KMS。有关更多信息,请参阅 。启用 Amazon S3 默认存储桶加密中的Amazon S3 用户指南中). 在您的 S3 存储桶中写入文件时,Amazon FSx 遵循 S3 存储桶的默认加密策略。

默认情况下,亚马逊 FSX 支持使用 SSE-S3 加密的 S3 存储桶。如果您想要将 Amazon FSX 文件系统链接到使用 SSE-KMS 加密加密的 S3 存储桶,您需要向客户管理的 KMS 密钥策略添加语句,以允许 Amazon FSX 使用 CMK 加密和解密 S3 存储桶中的数据元。

以下语句允许特定 Amazon FSX 文件系统加密和解密特定 S3 存储桶的数据元存储桶名称.

{ "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 文件系统链接到特定 S3 存储桶。

{ "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 适用于 Lustre 的控制台查看文件系统的导出路径,Amazon CLI,以及 API。

  1. 从打开 Amazon FSx 控制台https://console.aws.amazon.com/fsx/.

  2. 选择文件系统名称或者文件系统 ID,以查看要查看其导出路径的 Amazon FSx for Lustre 文件系统。此时将显示该文件系统的文件系统详细信息页面。

  3. 选择数据存储库选项卡。这些区域有:数据存储库集成面板,其中显示导入和导出路径。

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

    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 } } },