数据同步服务
AWS DataSync 是一项安全的在线服务,可自动化并加速本地存储和 AWS 存储服务之间的数据移动。DataSync 可以在网络文件系统(NFS)共享、服务器消息块(SMB)共享、Hadoop Distributed File System(HDFS)、自行管理的对象存储、AWS Snowcone、Amazon Simple Storage Service(Amazon S3)存储桶、Amazon Elastic File System(Amazon EFS)文件系统、Amazon FSx for Windows File Server 文件系统、Amazon FSx for Lustre 文件系统与 Amazon FSz for OpenZFS 文件系统之间复制数据。
AWS DataSync支持三种方式:
- 在本地和AWS之间传输数据
- 在AWS服务之间传输数据
- 在AWS和其他公有云服务之间传输数据
DataSync服务同步的主要是文件对象,以文件为基本服务。下面进行三种方式的实验.
Aws DataSync可以实现下列功能:
- 迁移数据:将文件和对象数据快速移动到 AWS。通过动态加密和端到端数据验证,您的数据是安全的。
- 保护数据:将数据安全地复制到成本高效的 AWS 存储服务,包括任何 Amazon S3 存储类。
- 将原始数据归档:通过将数据直接移动到 Amazon S3 Glacier 归档存储类来降低本地存储成本。
- 管理混合数据工作流:在本地系统和 AWS 之间无缝移动数据,以加速关键混合工作流。
AWS DataSync原理:
通过task任务将指定位置的数据传输到AWS云端的存储位置(可以是S3、EFS或FSx)
在本地和AWS之间传输数据
架构
选择服务
使用服务
选择本地到AWS云端,因此需要在本地先创建一个代理。
创建位置
位置是AWS DataSync服务中存储点的位置,既可以是源位置(原始数据的存储位置),也可以是目标位置。一个任务需要设定两个位置,一个是存储位置一个是目标位置。AWS DataSync提供下列位置:
- 为 NFS 创建位置
- 为 SMB 创建位置
- 为 HDFS 创建位置
- 创建对象存储的位置
- 创建 Amazon EFS 的位置
- 创建 FSx for Windows File Server 的位置
- 为 Lustre 创建 FSx 的位置
- 为 OpenZFS 创建 FSx 的位置
- 为 Amazon S3 创建位置
在这次实验中,主要是测试两个同步任务:
- 从本地的SMB服务位置同步数据到S3
- 同S3同步数据到本地
创建本地代理
这里,选择Vmware Workstation 安装本地代理,下载镜像
下载压缩包之后,对压缩包进行解压获取一个OVA文件。
将这个OVA文件导入到Vmware workstation中
开启虚拟机,进行下一步操作,登录,用户名:admin,密码:password。
获取密钥
获取密钥,打开powershell,将下列代码输入到终端,并运行函数
1 | function Get-ActivationKey { |
获取到密钥
将激活密钥填入创建网关的第二步
代理创建成功
从这一步本地代理就创建好了,后面就开始使用AWS DataSync这个服务
创建同步任务——本地SMB到S3
本地有一个SMB服务,这个服务的信息
- 用户名:shared
- 密码:123456
- 文件目录:/shared/source
值得注意的是SMB服务需要与AWS DataSync代理能够通信。
选择任务
创建同步任务
选择源位置
这里的源位置就是你需要同步的SMB服务。配置源位置
用户设置
选择目标位置
这里选择s3作为目标端
配置设置
设置任务名称
数据传输配置
设置任务同步计划,这里设定每隔3分钟执行一次同步任务
日志组设置
创建同步任务成功
使用服务
我们在之前的哪个smb服务文件夹中传入一些文件
等待同步的时间
到同步时间之后,就会有一个最新执行
等待执行完毕
查看S3存储桶,发现已经有了
创建同步任务——S3到本地SMB
创建位置
这里的同步位置是从S3到本地的SMB服务,因此需要创建两个位置:
- 本地SMB位置(目标位置)
- S3存储痛位置(原始位置)
本地目标SMB位置创建
创建本地位置
创建成功
创建源S3位置
位置查看
通过上述两个步骤。已经将目标和源位置都创建完毕
创建任务
测试同步任务
向datasyncsrc20220625这个从存储桶传输文件
等待同步任务完成
查看本地目标位置已经获取到数据了
小结
从这个实验可以得到,其实AWS DataSync使用方式就是创建任务,而一个任务需要有以下三个要素:
存储源位置
- 存储源位置如果直接支持公网访问,例如其他公有云的SMB服务,或者FSx这种公网可以访问的服务,那么就可以直接选择这个源位置;
- 存储位置不支持公网直接访问,例如客户本地内网地址的SMB服务,NFS服务。那么我们就需要在这个本地存储服务可以访问的地方创建一个本地代理;在创建任务的时候直接选择这个代理即可。
目标位置
- 目标位置如果直接支持公网访问,例如其他公有云的SMB服务,或者FSx这种公网可以访问的服务,那么就可以直接选择这个目标位置;
- 目标位置不支持公网直接访问,例如客户本地内网地址的SMB服务,NFS服务。那么我们就需要在这个本地存储服务可以访问的地方创建一个本地代理;在创建任务的时候直接选择这个代理即可。
同步任务时间
- AWS DataSync要求任务同步时间间隔需要1小时
从这个实验可以看出AWS DataSync支持以下同步:
- AWS存储服务 => 本地存储服务
- AWS存储服务 => 其他公有云服务
- 本地存储服务 => AWS存储服务
- 其他公有云服务=> AWS存储服务