

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

# 使用对象存储系统配置 DataSync 传输
配置与对象存储系统的传输

使用 Amazon DataSync，您可以使用基本模式任务在对象存储系统和以下 Amazon 存储服务之一之间传输数据：
+ [Amazon S3](create-s3-location.md)
+ [Amazon EFS](create-efs-location.md)
+ [ FSx 适用于 Windows 文件服务器的亚马逊](create-fsx-location.md)
+ [亚马逊 f FSx or Lustre](create-lustre-location.md)
+ [ FSx 适用于 OpenZFS 的亚马逊](create-openzfs-location.md)
+ [ FSx 适用于 NetApp ONTAP 的亚马逊](create-ontap-location.md)

要设置此类传输，您需要为对象存储系统创建一个[位置](how-datasync-transfer-works.md#sync-locations)。您可以将此位置用作传输源或传输目标位置。在本地对象存储之间传输数据需要使用基本模式 DataSync 代理。

## 先决条件


您的对象存储系统必须与以下 [Amazon S3 API 操作](https://docs.amazonaws.cn/AmazonS3/latest/API/API_Operations.html)兼容 DataSync 才能连接到该系统：
+ `AbortMultipartUpload`
+ `CompleteMultipartUpload`
+ `CopyObject`
+ `CreateMultipartUpload`
+ `DeleteObject`
+ `DeleteObjects`
+ `DeleteObjectTagging`
+ `GetBucketLocation`
+ `GetObject`
+ `GetObjectTagging`
+ `HeadBucket`
+ `HeadObject`
+ `ListObjectsV2`
+ `PutObject`
+ `PutObjectTagging`
+ `UploadPart`

## 创建您的对象存储传输位置


在开始之前，您需要拥有计划向其传入数据或从中传出数据的对象存储系统。

### 使用控制 DataSync 台


1. 打开 Amazon DataSync 控制台，网址为[https://console.aws.amazon.com/datasync/](https://console.amazonaws.cn/datasync/)。

1. 在左侧导航窗格中，展开**数据传输**，然后选择 **位置**和 **创建位置**。

1. 对于 **位置类型**，选择 **对象存储**。

   您可在稍后将此位置配置为源或目标。

1. 对于 **服务器**，提供对象存储服务器的域名或 IP 地址。

1. 对于 **存储桶名称**，输入传输中涉及的对象存储桶的名称。

1. 对于 **文件夹**，请输入对象前缀。

   DataSync 仅复制带有此前缀的对象。

1. 如果传输需要代理，请选择**使用代理**，然后选择连接到您的对象存储系统的 DataSync 代理。

   有些传输不需要代理。在其他情况中，可能需要使用多个代理。有关更多信息，请参阅[不需要 DataSync 代理的情况](do-i-need-datasync-agent.md#when-agent-not-required)和[使用多个 DataSync 代理](do-i-need-datasync-agent.md#multiple-agents)。

1. 要配置与对象存储服务器的连接，请展开 **其他设置**并执行以下操作：

   1. 对于 **服务器协议**，选择 **HTTP** 或 **HTTPS**。

   1. 对于 **服务器端口**，请使用默认端口（HTTP 为 **80**，HTTPS 为 **443**），或者根据需要指定自定义端口。

   1. 对于**证书**，如果对象存储系统使用私有或自签名证书颁发机构（CA），请选择**选择文件**，并指定带有完整证书链的单个 `.pem` 文件。

      证书链可能包括：
      + 对象存储系统的证书
      + 所有中间证书（如果有）
      + 签名 CA 的根证书

      您可以将证书串联到一个 `.pem` 文件中（在进行 base64 编码前，文件最大长度可以为 32768 字节）。以下示例 `cat` 命令创建了一个包含三个证书的 `object_storage_certificates.pem` 文件：

      ```
      cat object_server_certificate.pem intermediate_certificate.pem ca_root_certificate.pem > object_storage_certificates.pem
      ```

1. 如果需要凭证才能访问对象存储服务器，请选择**需要凭证**，然后输入用于访问存储桶的**访问密钥**。然后，要么直接输入**密钥**，要么指定包含该 Amazon Secrets Manager 密钥的密钥。有关更多信息，请参阅[为存储位置提供凭证](https://docs.amazonaws.cn/datasync/latest/userguide/location-credentials.html)。

   访问密钥和密钥可以分别是用户名和密码。

1. 或者，选择 **添加标签**以标记您的对象存储位置。

   *标签* 是帮助您管理、筛选和搜索位置的键值对。我们建议至少为您的位置创建一个名称标签。

1. 选择**创建位置**。

### 使用 Amazon CLI


1. 复制以下 `create-location-object-storage` 命令：

   ```
   aws datasync create-location-object-storage \
       --server-hostname object-storage-server.example.com \
       --bucket-name your-bucket \
       --agent-arns arn:aws:datasync:us-east-1:123456789012:agent/agent-01234567890deadfb
   ```

1. 在命令中指定以下必需的参数：
   + `--server-hostname` – 指定您的对象存储服务器的域名或 IP 地址。
   + `--bucket-name` — 指定您要向其传输或从其传输的对象存储服务器上的存储桶的名称。

1. 或者，在命令中添加以下任意参数：
   + `--agent-arns`— 指定要连接到对象存储服务器的 DataSync代理。
   + `--server-port` – 指定对象存储服务器接受入站网络流量的端口（例如，端口 `443`）。
   + `--server-protocol` – 指定对象存储服务器通信时使用的协议（`HTTP` 或 `HTTPS`）。
   + `--access-key` – 如果需要凭证来向对象存储服务器进行身份验证，则指定访问密钥（例如，用户名）。
   + `--secret-key` – 如果需要凭证来向对象存储服务器进行身份验证，则指定私有密钥（例如，密码）。

     您还可以使用 Amazon Secrets Manager提供其他参数来保护密钥。有关更多信息，请参阅[为存储位置提供凭证](https://docs.amazonaws.cn/datasync/latest/userguide/location-credentials.html)。
   + `--server-certificate`— 如果您的对象存储系统使用私有或自签名证书颁发机构 (CA)，则指定一个证书链， DataSync 以便在对象存储系统中进行身份验证。您必须指定具有完整证书链的单个 `.pem` 文件（例如，`file:///home/user/.ssh/object_storage_certificates.pem`）。

     证书链可能包括：
     + 对象存储系统的证书
     + 所有中间证书（如果有）
     + 签名 CA 的根证书

     您可以将证书串联到一个 `.pem` 文件中（在进行 base64 编码前，文件最大长度可以为 32768 字节）。以下示例 `cat` 命令创建了一个包含三个证书的 `object_storage_certificates.pem` 文件：

     ```
     cat object_server_certificate.pem intermediate_certificate.pem ca_root_certificate.pem > object_storage_certificates.pem
     ```
   + `--subdirectory` – 指定对象存储服务器的对象前缀。

     DataSync 仅复制带有此前缀的对象。
   + `--tags` – 指定表示要添加到位置资源的标签的键值对。

     标签可帮助您管理、筛选和搜索资源。我们建议为您的位置创建一个名称标签。

1. 运行 `create-location-object-storage` 命令。

   您会收到一条回复，表明您刚刚创建的位置 ARN。

   ```
   {
       "LocationArn": "arn:aws:datasync:us-east-1:123456789012:location/loc-01234567890abcdef"
   }
   ```