

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

# 更换AWS DataSync代理
<a name="replacing-agent"></a>

若要更换AWS DataSync代理，必须创建一个新代理，并更新使用旧代理的所有传输位置。

## 创建新代理
<a name="replacing-agent-create-new-agent"></a>

若要创建新的 DataSync 代理，请按照创建旧代理时相同的过程进行操作：

1. 在您的存储环境中 [部署代理](deploy-agents.md)。

1. [选择代理用来与 AWS 通信的服务端点](choose-service-endpoint.md)。

1. [配置网络](datasync-network.md)，以便代理可以与存储和 AWS 进行通信。

1. [激活您的代理](activate-agent.md)。

1. 激活后，记下代理的 Amazon 资源名称（ARN）。

   更新 DataSync 位置以使用新代理时，您需要此 ARN。

## 通过新代理更新您的位置
<a name="replacing-agent-update-location"></a>

创建新代理后，您可以更新现有的 DataSync 位置，以使用此代理。大多数情况下，您还必须重新输入访问凭证才能更新位置。这是因为 DataSync 存储位置凭证的方式只有您的代理可以使用它们。

### 使用 DataSync 控制台
<a name="replacing-agent-update-location-console"></a>

以下说明介绍如何使用 DataSync 控制台，通过新代理更新位置。

------
#### [ NFS ]

1. 打开 AWS DataSync 控制台，地址：[https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/)。

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

1. 选择要更新的位置，然后选择**编辑**。

1. 对于**代理**，选择您的新代理。

   如果您要为一个位置更换[多个代理](do-i-need-datasync-agent.md#multiple-agents)，则可以选择多个代理。

1. 选择 **‬保存更改**。

------
#### [ SMB ]

1. 打开 AWS DataSync 控制台，地址：[https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/)。

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

1. 选择要更新的位置，然后选择**编辑**。

1. 对于**代理**，选择您的新代理。

   如果您要为一个位置更换[多个代理](do-i-need-datasync-agent.md#multiple-agents)，则可以选择多个代理。

1. 对于**密码**，输入可挂载 SMB 文件服务器并有权访问传输中涉及文件和文件夹的用户的密码。

1. 选择 **‬保存更改**。

------
#### [ HDFS ]

1. 打开 AWS DataSync 控制台，地址：[https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/)。

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

1. 选择要更新的位置，然后选择**编辑**。

1. 对于**代理**，选择您的新代理。

   如果您要为一个位置更换[多个代理](do-i-need-datasync-agent.md#multiple-agents)，则可以选择多个代理。

1. 如果你使用的是 Kerberos 身份验证，请上传您的**Keytab 文件** 和 **Kerberos 配置文件**。

1. 选择**保存更改**。

------
#### [ Object storage ]

1. 打开 AWS DataSync 控制台，地址：[https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/)。

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

1. 选择要更新的位置，然后选择**编辑**。

1. 对于**代理**，选择您的新代理。

   如果您要为一个位置更换[多个代理](do-i-need-datasync-agent.md#multiple-agents)，则可以选择多个代理。

1. 如果您的位置需要凭证，请输入允许 DataSync 访问对象存储桶的**私有密钥**。

1. 选择**保存更改**。

------
#### [ Azure Blob Storage ]

执行以下操作，以更新您的Microsoft Azure Blob Storage位置：

1. 打开 AWS DataSync 控制台，地址：[https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/)。

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

1. 选择要更新的位置，然后选择**编辑**。

1. 对于**代理**，选择您的新代理。

   如果您要为一个位置更换[多个代理](do-i-need-datasync-agent.md#multiple-agents)，则可以选择多个代理。

1. 对于 **SAS 令牌**，请输入允许 DataSync 访问您的 blob 存储空间的[共享访问签名 (SAS) 令牌](creating-azure-blob-location.md#azure-blob-sas-tokens)。

1. 选择 **‬保存更改**。

------

### 使用 AWS CLI
<a name="replacing-agent-update-location-cli"></a>

以下说明介绍如何使用AWS CLI，通过新代理更新位置。（您也可以通过使用 [DataSync API](https://docs.aws.amazon.com/datasync/latest/userguide/API_Operations.html) 来执行此操作。）

------
#### [ NFS ]

1. 复制以下 [update-location-nfs](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/datasync/update-location-nfs.html)命令：

   ```
   aws datasync update-location-nfs \
     --location-arn datasync-nfs-location-arn \
     --on-prem-config AgentArns=new-datasync-agent-arn
   ```

1. 对于`--location-arn`参数，请指定要更新的 NFS 位置 ARN。

1. 对于`--on-prem-config`参数`AgentArns`选项，请指定新代理的 ARN。

   如果您要为一个位置更换[多个代理](do-i-need-datasync-agent.md#multiple-agents)，则可以指定多个 ARN。

1. 运行`update-location-nfs` 命令以更新位置。

------
#### [ SMB ]

1. 复制以下[update-location-smb](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/datasync/update-location-smb.html) 命令：

   ```
   aws datasync update-location-smb \
     --location-arn datasync-smb-location-arn \
     --agent-arns new-datasync-agent-arn \
     --password smb-file-server-password
   ```

1. 对于`--location-arn` 参数，请指定要更新的 SMB 位置的 ARN。

1. 对于`--agent-arns` 参数，请指定新代理的 ARN。

   如果您要为一个位置更换[多个代理](do-i-need-datasync-agent.md#multiple-agents)，则可以指定多个 ARN。

1. 对于 `--password` 参数，指定可挂载 SMB 文件服务器并有权访问传输中涉及文件和文件夹的用户的密码。

1. 运行 `update-location-smb`命令以更新位置。

------
#### [ HDFS ]

1. 复制以下 [update-location-hdfs](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/datasync/update-location-hdfs.html)命令：

   ```
   aws datasync update-location-hdfs \
     --location-arn datasync-hdfs-location-arn \
     --agent-arns new-datasync-agent-arn \
     --kerberos-keytab keytab-file \
     --kerberos-krb5-conf krb5-conf-file
   ```

1. 对于`--location-arn` 参数，请指定要更新的 HDFS 位置的 ARN。

1. 对于`--agent-arns` 参数，请指定新代理的 ARN。

   如果您要为一个位置更换[多个代理](do-i-need-datasync-agent.md#multiple-agents)，则可以指定多个 ARN。

1. 如果您使用的是 Kerberos 身份验证，请纳入`--kerberos-keytab`和`--kerberos-krb5-conf`参数：
   + 对于 `--kerberos-keytab` 参数，请指定 Kerberos 密钥表（keytab），其中包含定义的 Kerberos 主体和加密密钥之间的映射。

     您可以通过提供文件的地址指定密钥表文件。
   + 对于`--kerberos-krb5-conf` 参数，请指定包含您的 Kerberos 领域配置的文件。

     您可以通过提供文件的地址指定 `krb5.conf`文件。

   如果您使用的是简单身份验证，则无需在命令中纳入与这些与 Kerberos 相关的参数。

1. 运行 `update-location-hdfs`命令以更新位置。

------
#### [ Object storage ]

1. 复制以下 [update-location-object-storage](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/datasync/update-location-object-storage.html)命令：

   ```
   aws datasync update-location-object-storage \
     --location-arn datasync-object-storage-location-arn \
     --agent-arns new-datasync-agent-arn \
     --secret-key bucket-secret-key
   ```

1. 对于`--location-arn` 参数，请指定要更新的对象存储位置的 ARN。

1. 对于`--agent-arns` 参数，请指定新代理的 ARN。

   如果您要为一个位置更换[多个代理](do-i-need-datasync-agent.md#multiple-agents)，则可以指定多个 ARN。

1. 根据对象存储位置是否需要访问凭证，执行以下操作：
   + **如果您的位置需要凭证**，为 `--secret-key` 参数指定使 DataSync 能够访问对象存储桶的私有密钥。
   + **如果您的位置需要凭证**，为 `--access-key` 和 `--secret-key` 参数指定空字符串。以下是一个示例 命令：

     ```
     aws datasync update-location-object-storage \
       --location-arn arn:aws:datasync:us-east-2:111122223333:location/loc-abcdef01234567890 \
       --agent-arns arn:aws:datasync:us-east-2:111122223333:agent/agent-1234567890abcdef0 \
       --access-key "" \
       --secret-key ""
     ```

1. 运行 `update-location-object-storage`命令以更新位置。

------
#### [ Azure Blob Storage ]

1. 复制以下 [update-location-azure-blob](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/datasync/update-location-azure-blob.html)命令：

   ```
   aws datasync update-location-azure-blob \
     --location-arn datasync-azure-blob-storage-location-arn \
     --agent-arns new-datasync-agent-arn \
     --sas-configuration '{
         "Token": "sas-token-for-azure-blob-storage"
       }'
   ```

1. 对于 `--location-arn` 参数，请指定要更新的 Azure Blob Storage 位置的 ARN。

1. 对于`--agent-arns` 参数，请指定新代理的 ARN。

   如果您要为一个位置更换[多个代理](do-i-need-datasync-agent.md#multiple-agents)，则可以指定多个 ARN。

1. 对于 `--sas-configuration` 参数的 `Token` 选项，请指定允许 DataSync 访问您的 blob 存储空间的 [SAS 令牌](creating-azure-blob-location.md#azure-blob-sas-tokens)。

1. 运行 `update-location-azure-blob`命令以更新位置。

------

## 后续步骤
<a name="replacing-agent-next-steps"></a>

1. [删除旧代理](clean-up.md#deleting-agent)。如果您有任何正在使用此代理运行的 DataSync 任务，请等到这些任务完成后再删除。

1. 如果需要更换多个位置的代理，请重复前面的步骤。

1. 完成后，您可以继续[运行任务](run-task.md)。
**注意**  
**为计划任务更换代理**：如果要为[计划任务](task-scheduling.md)更换代理，而新代理使用的[服务端点](choose-service-endpoint.md)类型与旧代理不同，则必须手动启动该任务。如果不在下一次计划运行前手动运行任务，任务将失败。  
例如，如果旧代理使用公共服务端点，而新代理使用 VPC 端点，则应使用控制台或 `StartTaskExecution` 操作，手动启动该任务。之后，您的任务将继续按计划运行。