其他Amazon DataSync 用例 - Amazon DataSync
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

其他Amazon DataSync 用例

在本节中,您可以找到有关大多数用户Amazon DataSync 不常见的用例的信息。

朝相反的方向传输文件

向相反方向传输数据允许在工作流程中活动应用程序在不同位置之间移动。Amazon DataSync 不支持多个活动应用程序同时写入两个位置的工作流程。使用以下过程中的步骤进行配置,以 DataSync 向相反方向传输数据。

配置为 DataSync 向相反方向传输数据
  1. 创建一个位置并将其命名为位置 A

  2. 创建第二个位置并将其命名为位置 B

  3. 创建一个任务,将其命名为任务 A-B,然后将位置 A 配置为源位置,将位置 B 配置为目标位置。

  4. 创建第二个任务,将其命名为任务 B-A,然后将位置 B 配置为源位置,将位置 A 配置为目标位置。

  5. 要使用来自位置 A 的数据更新位置 B,请运行任务 A-B

    要使用来自位置 B 的数据更新位置 A,请运行任务 B-A

    不要同时运行这两个任务。 DataSync 可以定期朝相反的方向传输文件。但是,它不支持多个活动应用程序同时写入位置 A位置 B 的工作流。

使用多个任务写入同一 Amazon S3 存储桶

在某些使用案例中,您可能希望将不同的任务写入同一 Amazon S3 存储桶。在这种情况下,您可在 S3 存储桶中为每个任务创建不同的文件夹。此方法可防止任务之间的文件名冲突,同时意味着您可以为每个文件夹设置不同的权限。

例如,您可能有三个任务:task1task2task3 写入到名为 MyBucket 的 S3 存储桶。

您可在存储桶中创建三个文件夹:

s3://MyBucket/task1

s3://MyBucket/task2

s3://MyBucket/task3

对于每个任务,您可选择对应该任务的 MyBucket 中的文件夹作为目标,并为三个文件夹的每一个设置不同的权限。

允许 DataSync 访问受限的 Amazon S3 存储桶

在某些情况下,您可能希望限制对 Amazon S3 存储桶的访问权限。您可以编辑 S3 存储桶策略,以便在运行任务时仍 DataSync 可以访问存储桶。

允许 DataSync 访问受限的 S3 存储桶
  1. 复制以下示例策略。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ], "Condition": { "StringNotLike": { "aws:userid": [ "datasync-role-id:*", "your-role-id" ] } } } ] }
  2. 在示例策略中,替换以下值:

    • 存储@@ 桶名称:您限制访问的 S3 存储桶的名称。

    • datasync-role-id: DataSync 用于访问 S3 存储桶的 IAM 角色的 ID。运行以下Amazon CLI命令以获取 IAM 角色 ID:

      aws iam get-role --role-name datasync-iam-role-name

      在输出中,查找RoleId值:

      "RoleId": "ANPAJ2UCCR6DPCEXAMPLE"

    • your-role-id:您用来为 S3 存储桶创建 DataSync 位置的 IAM 角色的 ID。运行以下命令以获取 IAM 角色 ID:

      aws iam get-role --role-name your-iam-role-name

      在输出中,查找UserId值:

      "RoleId": "AIDACKCEVSQ6C2EXAMPLE"

  3. 将此策略添加到 S3 存储桶策略中。有关更多信息,请参阅 Amazon S3 用户指南的如何编辑存储桶策略

更新 S3 存储桶策略后,您必须在策略中为需要访问 S3 存储桶的用户添加其他 IAM 角色或用户。