本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Google Cloud Storage 配置 AWS DataSync 传输
借助 AWS DataSync,您可以在 Google Cloud Storage 与以下 AWS 存储服务之间传输数据:
-
Amazon S3
-
Amazon EFS
-
Amazon FSx for Windows File Server
-
适用于 Lustre 的 Amazon FSx
-
Amazon FSx for OpenZFS
-
Amazon FSx for NetApp ONTAP
要开始传输设置,请为 Google Cloud Storage 创建一个位置。此位置可以用作传输源或传输目标位置。只有在 Google Cloud Storage 和 Amazon EFS 或 Amazon FSx 之间传输数据时,或者使用基本模式任务时,才需要使用 DataSync 代理。Google Cloud Storage 和 Amazon S3 之间的增强模式数据传输不需要代理。
注意
要在 Google Cloud Storage 与 AWS 之间建立私有云连接,请使用带代理的基本模式。
概览
DataSync 使用 Google Cloud Storage XML API
使用基本模式进行传输时,可以在 Google Cloud Storage 或 Amazon VPC 中部署代理。
成本
与此迁移相关的可能费用包括:
-
运行 Google 计算引擎
虚拟机(VM)实例(如果您在 Google Cloud 中部署了 DataSync 代理) -
运行 Amazon EC2
实例(如果您在 AWS 的 VPC 中部署了 DataSync 代理) -
使用 DataSync
传输数据,包括与 Google Cloud Storage 和 Amazon S3(如果 S3 是您的传输目标位置之一)相关的请求费用 -
将数据从 Google Cloud Storage
中传出 -
在 Amazon S3
中存储数据
先决条件
开始之前,请完成以下先决条件(如果尚未完成):
-
使用要传入 AWS 的对象,创建 Google Cloud Storage 存储桶
。 -
创建 Amazon S3 存储桶,用于在对象存入 AWS 后存储这些对象。
为 Google Cloud Storage 存储桶创建 HMAC 密钥
DataSync 使用与 Google 服务帐号关联的 HMAC 密钥对您要从其传输数据的存储桶进行身份验证和读取。(有关如何创建 HMAC 密钥的详细说明,请参阅 Google Cloud Storage 文档
创建 HMAC 密钥
-
为您的 Google 服务帐号创建 HMAC 密钥。
-
请确保您的 Google 服务帐号至少具有
Storage Object Viewer权限。 -
将 HMAC 密钥访问 ID 和私有密钥存储在安全位置。
稍后您将需要这些项目来配置 DataSync 源位置。
第 2 步:配置网络
只有在使用 DataSync 代理进行传输时,才需要进行网络配置。此迁移的网络要求取决于您选择部署代理的位置。
如果您想在 Google Cloud 中托管 DataSync 代理,请将您的网络配置为允许 DataSync 通过公共端点进行传输。
如果要在 AWS 中托管代理,则需要一个带有接口端点的 VPC。DataSync 使用 VPC 端点以便于传输。
为 VPC 端点配置您的网络
-
如果没有,请创建与 S3 储存桶处于同一 AWS 区域 中的 VPC。
-
为 DataSync 创建 VPC 服务端点。
-
将您的网络配置为允许 DataSync 通过 VPC 服务端点进行传输。
为此,请修改与 VPC 服务端点关联的安全组。
第 3 步:创建 DataSync 代理(可选)
只有在使用基本模式任务时才需要 DataSync 代理。如果使用增强模式在 Google Cloud Storage(GCS)和 Amazon S3 之间进行传输,则无需代理。如果想使用基本模式,则需要一个可以访问 GCS 存储桶的 DataSync 代理。
在此情况下,DataSync 代理将在 Google Cloud 环境中运行。
开始之前:安装 Google Cloud CLI
为 Google Cloud 创建代理
-
打开 AWS DataSync 控制台,地址:https://console.aws.amazon.com/datasync/
。 -
在左侧的导航窗格中,选择 代理,然后选择 创建代理。
-
对于虚拟机监控程序,选择 VMware ESXi,然后选择下载映像以下载包含代理的
.zip文件。 -
打开终端。运行以下命令来对映像解压缩:
unzip AWS-DataSync-Agent-VMWare.zip -
运行以下命令提取以
aws-datasync开头的代理.ova文件中的内容:tar -xvf aws-datasync-2.0.1655755445.1-x86_64.xfs.gpt.ova -
运行以下 Google Cloud CLI 命令,将代理的
.vmdk文件导入到 Google Cloud 中:gcloud compute images import aws-datasync-2-test \ --source-file INCOMPLETE-aws-datasync-2.0.1655755445.1-x86_64.xfs.gpt-disk1.vmdk \ --os centos-7注意
导入
.vmdk文件最多可能需要两个小时。 -
为您刚刚导入的代理映像创建并启动 VM 实例。
该实例需要为代理进行以下配置。(有关如何创建实例的详细说明,请参阅 Google 云计算引擎文档
。) -
对于计算机类型,请选择下列选项之一:
-
e2-standard-8 – 适用于处理高达 2000 万个对象的 DataSync 任务执行。
-
e2-standard-16 – 适用于处理超过 2000 万个对象的 DataSync 任务执行。
-
-
对于启动磁盘设置,请转到自定义映像部分。然后选择您刚刚导入的 DataSync 代理映像。
-
对于服务帐号设置,请选择 Google 服务帐号(与您在第 1 步 中使用的帐号相同)。
-
对于防火墙设置,请选择允许 HTTP(端口 80)通信的选项。
要激活 DataSync 代理,必须打开该代理上的端口 80。不要求该端口可供公开访问。激活后,DataSync 会关闭该端口。
-
-
VM 实例运行后,记录其公有 IP 地址。
您需要此 IP 地址来激活代理。
-
返回到 DataSync 控制台。在下载代理映像的 创建代理屏幕上,执行以下操作以激活代理:
-
对于端点类型,选择公共服务端点选项(例如,美国东部俄亥俄州的公共服务端点)。
-
对于激活密钥,选择自动从代理处获取激活密钥。
-
对于代理地址,输入您刚创建的代理 VM 实例的公有 IP 地址。
-
选择 获取密钥。
-
-
为您的代理指定名称,然后选择 创建代理。
代理处于在线状态,可以随时传输数据。
在这种情况下,该代理作为 Amazon EC2 实例在与 AWS 账户 关联的 VPC 中运行。
开始之前:设置AWS Command Line Interface(AWS CLI)。
为 VPC 创建代理
-
打开终端。请务必将您的 AWS CLI 个人资料配置为使用与您的 S3 存储桶关联的账户。
-
复制以下命令。将
替换为您的 VPC 所在的 AWS 区域(例如,vpc-regionus-east-1)。aws ssm get-parameter --name /aws/service/datasync/ami --regionvpc-region -
运行命令。在输出中,记录
"Value"属性。此值是您指定区域的 DataSync Amazon 机器映像(AMI)ID。例如,AMI ID 可能类似于
ami-1234567890abcdef0。 -
复制以下 URL。再次将
替换为您的 VPC 所在的 AWS 区域。接着,将vpc-region替换为您在上一步中记录的 AMI ID。ami-idhttps://console.aws.amazon.com/ec2/v2/home?region=vpc-region#LaunchInstanceWizard:ami=ami-id -
将该 URL 粘贴到浏览器中。
显示 AWS 管理控制台 中的 Amazon EC2 实例启动页面。
-
对于实例类型,请为 DataSync 代理选择一个推荐的 Amazon EC2 实例。
-
对于密钥对,选择现有密钥对或新建一个密钥对。
-
对于网络设置,选择要部署代理的 VPC 和子网。
-
选择 启动实例。
-
在 Amazon EC2 实例运行后,选择您的 VPC 端点。
第 4 步:为您的 Google Cloud Storage 存储桶创建 DataSync 源位置
要为您的 Google Cloud Storage 存储桶创建 DataSync 位置,您需要在步骤 1 中创建的 HMAC 密钥的访问 ID 和私有密钥。
创建 DataSync 源位置
打开 AWS DataSync 控制台,地址:https://console.aws.amazon.com/datasync/
。 在左侧导航窗格中,展开数据传输,然后选择 位置和 创建位置。
-
对于 位置类型,选择 对象存储。
-
对于服务器,输入
storage.googleapis.com。 -
对于存储桶名称,输入您的 Google Cloud Storage 存储桶的名称。
-
对于 文件夹,请输入对象前缀。
DataSync 仅复制带有此前缀的对象。
-
如果传输需要代理,请选择使用代理,然后选择在步骤 3 中创建的代理。
-
展开其他设置。对于服务器协议,请选择 HTTPS。对于服务器端口,请选择 443。
-
向下滚动到身份验证部分。确保选中 需要凭据复选框,然后执行以下操作:
-
对于访问密钥,输入您的 HMAC 密钥访问 ID。
-
对于私有密钥,可以直接输入 HMAC 密钥的私有密钥,也可以指定包含该密钥的 AWS Secrets Manager 密钥。有关更多信息,请参阅为存储位置提供凭证。
-
-
选择创建位置。
第 5 步:为您的 S3 存储桶创建 DataSync 目标位置
您需要一个 DataSync 位置用作您想要数据最终存放的位置。
创建 DataSync 目标位置
打开 AWS DataSync 控制台,地址:https://console.aws.amazon.com/datasync/
。 在左侧导航窗格中,展开数据传输,然后选择 位置和 创建位置。
-
如果您在 VPC 中部署了 DataSync 代理,则本教程假定 S3 存储桶位于与您的 VPC 和 DataSync 代理相同的 AWS 区域。
第 6 步:创建并启动 DataSync 任务
配置好源位置和目标位置后,就可以开始将数据移入 AWS。
创建并启动 DataSync 任务
打开 AWS DataSync 控制台,地址:https://console.aws.amazon.com/datasync/
。 在左侧导航窗格中,展开数据传输,然后选择任务,然后选择创建任务。
-
在配置源位置页面上,执行以下操作:
-
选择 选择现有位置。
-
选择您在第 4 步 中创建的源位置,然后选择 下一步。
-
-
在配置目标位置页面上,执行以下操作:
-
选择 选择现有位置。
-
选择您在第 5 步 中创建的目标位置,然后选择 下一步。
-
-
在 配置设置 页面上,执行以下操作:
-
在 数据传输配置下,展开 其他设置,然后清除 复制对象标签复选框。
重要
由于 Google Cloud Storage XML API 不支持读取或写入对象标签,因此如果尝试复制对象标签,DataSync 任务可能会失败。
-
配置所需的任何其他任务设置,然后选择 下一步。
-
-
在 审核页面上,审核您的设置,然后选择 创建任务。
-
在任务的详细信息页面上,选择开始,然后选择以下选项之一:
-
如需运行任务而不进行修改,请选择从默认值开始。
-
如需修改任务再运行,请选择使用覆盖选项开始。
-
任务完成后,您会在 S3 存储桶中看到 Google Cloud Storage 存储桶中的对象。