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 角色权限分配遵循最小化原则,避免权限过度授予引发安全风险。
相关推荐
苹果企业签名分发6 小时前
腾讯云和火山云优劣势对比
云计算·腾讯云
liupenglove7 小时前
自动驾驶数据仓库:时间片合并算法。
大数据·数据仓库·算法·elasticsearch·自动驾驶
SaaS_Product8 小时前
如何保护文件传输安全?文件传输加密
云计算·saas
云妙算13 小时前
被1600万家庭信赖的智能音箱Sonos,用什么方式让AWS云成本打3折?
后端·开源·aws
阿里云大数据AI技术17 小时前
NL2SQL 再创佳绩!阿里云论文中选 SIGMOD 2025
大数据·人工智能·云计算
AKAMAI18 小时前
为何说分布式 AI 推理已成为下一代计算方式
人工智能·云原生·云计算
线条120 小时前
Spark 单机模式安装与测试全攻略
大数据·分布式·spark
容器魔方2 天前
持续领跑,华为云连续5年蝉联中国容器软件市场份额第一
云原生·容器·云计算
LucianaiB2 天前
AI 时代的分布式多模态数据处理实践:我的 ODPS 实践之旅、思考与展望
大数据·数据仓库·人工智能·分布式·odps
m0_694845572 天前
服务器怎么跑Python项目?
linux·运维·服务器·python·云计算