当前位置: 首页 > article >正文

AWS DMS基础知识

1.AWS Database Migration Service (DMS) 概述

  • AWS DMS 定义:它能助力以最少停机时间把数据库迁移至 AWS,支持同构(如 Oracle 到 Oracle)、异构(如 Oracle 到 PostgreSQL )迁移。
  • 常见用例:涵盖将本地数据库迁移至 AWS 、数据库间复制数据用于备份或容灾、混合架构的持续数据复制。
  • 关键特性:适配多种源和目标数据库,支持变更数据捕获(CDC)以持续复制数据变动,迁移期间停机时间极少。
    • 目的:AWS DMS 有助于将数据库从本地或云数据库迁移到 AWS,从而最大限度地减少停机时间。
    • 支持的数据库类型:DMS 支持同构和异构迁移(例如,从 Oracle 迁移到 Oracle,从 MySQL 到 Aurora)。
    • 使用案例
      • 将数据库迁移到 Amazon RDS 或 Amazon EC2。
      • 复制数据以进行实时分析(例如,复制到 Amazon Redshift 或 Amazon S3)。

2.DMS 组件

  • 复制实例:管理迁移过程的计算资源。
  • 源和目标终端节点:源和目标数据库(例如 RDS、Aurora、SQL Server、MySQL、PostgreSQL)。
  • 复制任务: 定义数据迁移和复制过程(完全加载和/或持续复制)。

3.支持的数据库

  • 源数据库:Amazon RDS、Amazon Aurora、MySQL、MariaDB、PostgreSQL、Oracle、Microsoft SQL Server、MongoDB 等。
  • 目标数据库:Amazon RDS、Amazon Aurora、Amazon Redshift、Amazon S3(用于数据湖)、DynamoDB 等。

4.迁移策略

  • 同构迁移:在相同的数据库引擎之间迁移数据(例如,从 MySQL 迁移到 MySQL)。
  • 异构迁移:在不同数据库引擎之间迁移数据(例如,从 Oracle 迁移到 PostgreSQL)。
  • 持续复制:连续数据复制,用于在初始迁移后保持源和目标同步。
  • 完全加载和变更数据捕获 (CDC):完全加载最初传输所有数据,而 CDC 仅复制之后的更改。

5.复制任务类型

  • Full Load:将所有数据从源迁移到目标。
  • 变更数据捕获 (CDC)**:在初始加载后复制对源数据库所做的更改。
  • 满载 + CDC:结合满载和连续数据复制。

6.DMS 限制

  • 延迟:某些数据类型(如大型 BLOB)可能具有更高的延迟。
  • 支持的数据类型: 并非每个源/目标数据库组合都支持所有数据类型。您应该熟悉 DMS 为特定源和目标支持哪些数据类型。
  • 复杂迁移:某些转换(例如,复杂架构映射)可能需要其他服务(如 AWS 架构转换工具 - SCT)。

7.DMS 安全功能

  • 加密:DMS 支持对传输中的数据和静态数据进行加密。
  • 网络安全:与 VPC、安全组和 IAM 角色集成。
  • IAM 角色管理:DMS 需要适当的权限才能与数据库、S3、Redshift 和其他 AWS 服务交互。
  • SSL/TLS:DMS 支持使用 SSL/TLS 加密连接到数据库。

8.DMS 的最佳实践

  • 监控和日志记录:使用 Amazon CloudWatch 监控复制任务的状态。
  • 调整复制实例:确保复制实例的大小适合数据量和复制工作负载。
  • 使用多可用区:为了实现高可用性,请在多个可用区中使用复制实例。
  • 测试迁移:在迁移到生产环境之前,请始终在非生产环境中测试迁移。

9.DMS 和 AWS Schema Conversion Tool (SCT)

  • 架构转换:AWS SCT 通常与 DMS 结合使用,用于异构数据库迁移(例如,从 Oracle 迁移到 PostgreSQL)。
  • 数据类型转换:SCT 有助于转换数据库架构对象,例如表、视图和存储过程。

10.DMS 监控和故障排除

  • CloudWatch 指标:使用 CloudWatch 指标和日志监控复制任务。
  • 错误处理:解释和修复 DMS 日志中的常见错误,包括网络连接、数据库访问和数据转换问题。

11.DMS 迁移性能

  • 性能优化:通过选择合适的实例大小并调整复制设置来确保高效的数据迁移。
  • 吞吐量注意事项:了解迁移任务的吞吐量指标,尤其是在迁移大型数据集时。
  • 数据转换:数据转换(例如,将 AWS Lambda 与 DMS 结合使用)如何影响迁移性能。

12.组件

  • DMS 复制实例:作为运行复制任务的计算资源,负责处理从源数据库到目标数据库的数据迁移流程。
  • 复制任务:是复制作业的一组指令,像全量加载、全量加载并持续复制、仅持续复制这些模式。
  • 端点:用于定义源和目标数据库(可以是本地或 AWS 内的),包含数据库类型、连接字符串、凭证等信息。

13.迁移类型

  • 全量数据加载:一次性将源数据库的所有数据迁移至目标数据库。
  • 持续数据复制(CDC):全量加载完成后,源数据库的变更会持续复制到目标库。
  • 全量加载与持续复制结合:先全量加载,后续变动接着复制,是常用方式。

14.监控与排错

  • CloudWatch 指标:DMS 与 CloudWatch 集成,提供复制延迟、数据传输速度、任务状态、错误等指标用于监控。
  • DMS 控制台与日志:控制台能追踪复制任务状态,日志有助于排查数据迁移中的问题。

15.安全

  • 加密:支持静态加密(借助 KMS )和传输加密(用 SSL/TLS )。
  • VPC 与网络配置:复制实例应置于 VPC 内保障通信安全,跨 AWS 和本地迁移时尤为关键。
  • IAM 角色与权限:利用 IAM 角色给 DMS 赋予访问源/目标数据库、S3 或 CloudWatch 等服务的权限。

16.性能调优

  • 复制实例大小调整:实例规模要适配迁移数据量,降低复制延迟。
  • 网络考量:带宽、网络延迟影响迁移性能,大数据集时需调整网络速度与复制实例类型。

17.与 AWS 服务集成

  • 与 S3 集成:S3 可充当迁移的中间存储位置。
  • 与 RDS 和 Aurora:常见从本地或其他 AWS 数据库向它们迁移。
  • 与 Schema Conversion Tool (SCT):异构迁移时,SCT 转换数据库模式,再由 DMS 转移数据。

18.高可用与容错

  • 多可用区复制:复制实例能部署在多可用区实现高可用。
  • 故障转移机制:复制实例出故障时,任务可自动重定向到备用实例。

19.注意事项

  1. 迁移规划
  • 依据源和目标数据库类型、数据量、停机时间要求来选定迁移类型与策略,像关键业务不容许长时间停机,就首选全量加载加持续复制。
  • 异构迁移提前规划好数据库模式转换,借助 SCT 排查潜在兼容性问题。
  1. 组件配置
  • 配置复制实例时,精准预估数据量与性能需求,过小会卡顿,过大则成本高;后续也可按需调整大小。
  • 端点设置时,反复核对连接字符串、凭证等信息准确性,错一个字符都可能导致连接失败。
  1. 监控与维护
  • 迁移全程紧密关注 CloudWatch 指标和控制台日志,发现延迟、错误等异常及时排查处理。
  • 定期评估性能,按需优化复制实例规格、网络配置,保障长期稳定运行。
  1. 安全部署
  • 加密配置别遗漏,传输与静态加密都开启,保护数据隐私与安全。
  • 网络安全上,谨慎设置 VPC 与安全组规则,只开放必要端口与访问权限。
  • IAM 角色权限分配遵循最小化原则,避免权限过度授予引发安全风险。

http://www.kler.cn/a/469172.html

相关文章:

  • Qt 下位机串口模拟器
  • 前后端环境配置java/vue/maven/node.js/mysql
  • 全面解读技术栈的作用及其积累路径:从开发到管理
  • 【信号滤波 (补充)】二阶陷波滤波代码推导过程(C++)
  • NoSQL简介
  • NVIDIA DLI课程《NVIDIA NIM入门》——学习笔记
  • 第27天:PHP应用原生语法全局变量数据接受身份验证变量覆盖任意上传
  • 人工智能深度学习物体检测之YOLOV7源码解读
  • 【C语言】_野指针
  • 利用DHCP自动分配IP
  • 手工专项测试--接口测试(jmeter)--单接口与关联接口与断言
  • 百度Android最新150道面试题及参考答案 (中)
  • 《Vue进阶教程》第三十四课:toRefs的使用
  • 【开源免费】基于SpringBoot+Vue.JS作业管理系统(JAVA毕业设计)
  • [python3]Excel解析库-xlrd
  • 简历_专业技能_熟悉分布式锁Redisson的原理以及使用
  • Linux2.4.20顶层Makefile文件分析
  • 【网络安全实验室】SQL注入实战详情
  • Fast R-CNN模型详解及分析
  • 【顶刊TPAMI 2025】多头编码(MHE)之极限分类 Part 3:算法实现
  • MFC读写文件实例
  • asp.net core中的 Cookie 和 Session
  • CSS——7.CSS注释
  • 信号的产生、处理
  • S32K144 UDSdoCAN 升级刷写实现笔记
  • 【动手学电机驱动】STM32-MBD(3)Simulink 状态机模型的部署